Blame SOURCES/split-os-is-certified.patch

575137
From 6f72c4bda4825293c39d32373040b4c049a0615b Mon Sep 17 00:00:00 2001
575137
From: =?UTF-8?q?Jan=20=C4=8Cern=C3=BD?= <jcerny@redhat.com>
575137
Date: Wed, 5 Dec 2018 10:47:34 +0100
575137
Subject: [PATCH] Split rule installed_OS_is certified
575137
575137
Split rule installed_OS_is certified to 2 rules:
575137
 * installed OS is vendor supported (is RHEL)
575137
 * installed OS has received FIPS certification
575137
The original intention of the rule installed_OS_is_certified was to
575137
serve as dependency for FIPS-related checks such as
575137
grub2_enable_FIPS_mode. Over the time new requirements have been added
575137
to ensure Red Hat Enterprise Linux is evaluated (and not CentOS).
575137
The rules that require FIPS certification will now depend on
575137
'installed_OS_is_FIPS_certified'. The profiles will contain
575137
'installed_OS_is_vendor_supported'
575137
---
575137
 fedora/profiles/ospp.profile                  |  2 +-
575137
 .../sshd_use_approved_ciphers/oval/shared.xml |  2 +-
575137
 .../sshd_use_approved_macs/oval/shared.xml    |  2 +-
575137
 .../oval/shared.xml                           | 11 +++--
575137
 .../installed_OS_is_FIPS_certified/rule.yml   | 44 +++++++++++++++++++
575137
 .../oval/shared.xml                           | 21 +++++++++
575137
 .../rule.yml                                  | 25 +++++------
575137
 .../grub2_enable_fips_mode/oval/shared.xml    |  2 +-
575137
 .../oval/shared.xml                           |  2 +-
575137
 .../aide/aide_use_fips_hashes/oval/shared.xml |  2 +-
575137
 rhel7/profiles/ospp.profile                   |  2 +-
575137
 rhel7/profiles/ospp42.profile                 |  2 +-
575137
 rhel7/profiles/stig-rhel7-disa.profile        |  2 +-
575137
 rhel8/profiles/ospp.profile                   |  2 +-
575137
 14 files changed, 90 insertions(+), 31 deletions(-)
575137
 rename linux_os/guide/system/software/integrity/certified-vendor/{installed_OS_is_certified => installed_OS_is_FIPS_certified}/oval/shared.xml (69%)
575137
 create mode 100644 linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_FIPS_certified/rule.yml
575137
 create mode 100644 linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_vendor_supported/oval/shared.xml
575137
 rename linux_os/guide/system/software/integrity/certified-vendor/{installed_OS_is_certified => installed_OS_is_vendor_supported}/rule.yml (54%)
575137
575137
diff --git a/fedora/profiles/ospp.profile b/fedora/profiles/ospp.profile
575137
index c115ab6bce..0ba407bfc8 100644
575137
--- a/fedora/profiles/ospp.profile
575137
+++ b/fedora/profiles/ospp.profile
575137
@@ -13,7 +13,7 @@ description: |-
575137
     similar to the one mandated by US National Security Systems.
575137
 
575137
 selections:
575137
-    - installed_OS_is_certified
575137
+    - installed_OS_is_vendor_supported
575137
     - grub2_audit_argument
575137
     - grub2_audit_backlog_limit_argument
575137
     - service_auditd_enabled
575137
diff --git a/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_ciphers/oval/shared.xml b/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_ciphers/oval/shared.xml
575137
index 5a4e3a1f9b..0e66bbee28 100644
575137
--- a/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_ciphers/oval/shared.xml
575137
+++ b/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_ciphers/oval/shared.xml
575137
@@ -8,7 +8,7 @@
575137
       <description>Limit the ciphers to those which are FIPS-approved.</description>
575137
     </metadata>
575137
     <criteria operator="AND">
575137
-      <extend_definition comment="Installed OS is certified" definition_ref="installed_OS_is_certified" />
575137
+      <extend_definition comment="Installed OS is FIPS certified" definition_ref="installed_OS_is_FIPS_certified" />
575137
       
575137
       operator="OR">
575137
         <criteria comment="sshd is not installed" operator="AND">
575137
diff --git a/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_macs/oval/shared.xml b/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_macs/oval/shared.xml
575137
index 2aed2ec9ad..0e6d1e88ce 100644
575137
--- a/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_macs/oval/shared.xml
575137
+++ b/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_macs/oval/shared.xml
575137
@@ -9,7 +9,7 @@
575137
       <description>Limit the Message Authentication Codes (MACs) to those which are FIPS-approved.</description>
575137
     </metadata>
575137
     <criteria operator="AND">
575137
-      <extend_definition comment="Installed OS is certified" definition_ref="installed_OS_is_certified" />
575137
+      <extend_definition comment="Installed OS is FIPS certified" definition_ref="installed_OS_is_FIPS_certified" />
575137
       
575137
       operator="OR">
575137
         <criteria comment="sshd is not installed" operator="AND">
575137
diff --git a/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_certified/oval/shared.xml b/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_FIPS_certified/oval/shared.xml
575137
similarity index 69%
575137
rename from linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_certified/oval/shared.xml
575137
rename to linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_FIPS_certified/oval/shared.xml
575137
index 256c3b289c..6599c3eeee 100644
575137
--- a/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_certified/oval/shared.xml
575137
+++ b/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_FIPS_certified/oval/shared.xml
575137
@@ -1,16 +1,15 @@
575137
 <def-group>
575137
-  
575137
-  id="installed_OS_is_certified" version="1">
575137
+  <definition class="compliance" id="installed_OS_is_FIPS_certified" version="1">
575137
     <metadata>
575137
-      <title>Vendor Certified Operating System</title>
575137
+      <title>FIPS 140-2 Certified Operating System</title>
575137
       <affected family="unix">
575137
         <platform>multi_platform_rhel</platform>
575137
         <platform>multi_platform_rhosp</platform>
575137
         <platform>multi_platform_fedora</platform>
575137
       </affected>
575137
-      <description>The operating system installed on the system is
575137
-      a certified vendor operating system and meets government
575137
-      requirements/certifications such as FIPS, NIAP, etc.</description>
575137
+      <description>
575137
+          The operating system installed on the system is a certified operating system that meets FIPS 140-2 requirements.
575137
+      </description>
575137
     </metadata>
575137
     <criteria comment="Installed operating system is a certified operating system" operator="OR">
575137
       <extend_definition comment="Installed OS is RHEL6" definition_ref="installed_OS_is_rhel6" />
575137
diff --git a/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_FIPS_certified/rule.yml b/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_FIPS_certified/rule.yml
575137
new file mode 100644
575137
index 0000000000..ffdc4825d6
575137
--- /dev/null
575137
+++ b/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_FIPS_certified/rule.yml
575137
@@ -0,0 +1,44 @@
575137
+documentation_complete: true
575137
+
575137
+prodtype: rhel6,rhel7,rhel8,fedora,ol7
575137
+
575137
+title: 'The Installed Operating System Is FIPS 140-2 Certified'
575137
+
575137
+description: |-
575137
+    To enable processing of sensitive information the operating system must
575137
+    provide certified cryptographic modules compliant with FIPS 140-2
575137
+    standard.
575137
+    {{% if product in ["rhel6", "rhel7"] %}}
575137
+    Red Hat Enterprise Linux is supported by Red Hat, Inc. As the Red Hat Enterprise
575137
+    Linux vendor, Red Hat, Inc. is responsible for maintaining government certifications and standards.
575137
+    {{% endif %}}
575137
+
575137
+rationale: |-
575137
+    The Federal Information Processing Standard (FIPS) Publication 140-2, (FIPS
575137
+    PUB 140-2) is a computer security standard. The standard specifies security
575137
+    requirements for cryptographic modules used to protect sensitive
575137
+    unclassified information.  Refer to the full FIPS 140-2 standard at
575137
+    {{{ weblink(link="http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf") }}}
575137
+    for further details on the requirements.
575137
+    FIPS 140-2 validation is required by U.S. law when information systems use
575137
+    cryptography to protect sensitive government information. In order to
575137
+    achieve FIPS 140-2 certification, cryptographic modules are subject to
575137
+    extensive testing by independent laboratories, accredited by National
575137
+    Institute of Standards and Technology (NIST).
575137
+
575137
+warnings:
575137
+    - general: |-
575137
+        There is no remediation besides switching to a different operating system.
575137
+
575137
+severity: high
575137
+
575137
+ocil_clause: 'the installed operating system is not FIPS 140-2 certified'
575137
+
575137
+{{% if product in ["rhel6", "rhel7"] %}}
575137
+ocil: |-
575137
+    To verify that the installed operating system is supported or certified, run
575137
+    the following command:
575137
+    
$ grep -i "red hat" /etc/redhat-release
575137
+    The output should contain something similar to:
575137
+    
{{{ full_name }}}
575137
+{{% endif %}}
575137
diff --git a/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_vendor_supported/oval/shared.xml b/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_vendor_supported/oval/shared.xml
575137
new file mode 100644
575137
index 0000000000..37f55dfa8c
575137
--- /dev/null
575137
+++ b/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_vendor_supported/oval/shared.xml
575137
@@ -0,0 +1,21 @@
575137
+<def-group>
575137
+  <definition class="compliance" id="installed_OS_is_vendor_supported" version="1">
575137
+    <metadata>
575137
+      <title>Vendor Supported Operating System</title>
575137
+      <affected family="unix">
575137
+        <platform>multi_platform_rhel</platform>
575137
+        <platform>multi_platform_rhosp</platform>
575137
+        <platform>multi_platform_fedora</platform>
575137
+      </affected>
575137
+     <description>
575137
+        The operating system installed on the system is supported by a vendor that provides security patches.
575137
+      </description>
575137
+    </metadata>
575137
+    <criteria comment="Installed operating system is supported by a vendor" operator="OR">
575137
+      <extend_definition comment="Installed OS is RHEL6" definition_ref="installed_OS_is_rhel6" />
575137
+      <extend_definition comment="Installed OS is RHEL7" definition_ref="installed_OS_is_rhel7" />
575137
+      <extend_definition comment="Installed OS is RHEL8" definition_ref="installed_OS_is_rhel8" />
575137
+    </criteria>
575137
+  </definition>
575137
+
575137
+</def-group>
575137
diff --git a/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_certified/rule.yml b/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_vendor_supported/rule.yml
575137
similarity index 54%
575137
rename from linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_certified/rule.yml
575137
rename to linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_vendor_supported/rule.yml
575137
index bfec874ff7..6c5afede5d 100644
575137
--- a/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_certified/rule.yml
575137
+++ b/linux_os/guide/system/software/integrity/certified-vendor/installed_OS_is_vendor_supported/rule.yml
575137
@@ -2,26 +2,24 @@ documentation_complete: true
575137
 
575137
 prodtype: rhel6,rhel7,rhel8,fedora,ol7
575137
 
575137
-title: 'The Installed Operating System Is Vendor Supported and Certified'
575137
+title: 'The Installed Operating System Is Vendor Supported'
575137
 
575137
 description: |-
575137
-    The installed operating system must be maintained and certified by a vendor.
575137
+    The installed operating system must be maintained by a vendor.
575137
     {{% if product == "ol7" %}}
575137
     Oracle Linux is supported by Oracle Corporation. As the Oracle
575137
-    Linux vendor, Oracle Corporation is responsible for providing security patches as well
575137
-    as meeting and maintaining goverment certifications and standards.
575137
+    Linux vendor, Oracle Corporation is responsible for providing security patches.
575137
     {{% else %}}
575137
     Red Hat Enterprise Linux is supported by Red Hat, Inc. As the Red Hat Enterprise
575137
-    Linux vendor, Red Hat, Inc. is responsible for providing security patches as well
575137
-    as meeting and maintaining goverment certifications and standards.
575137
+    Linux vendor, Red Hat, Inc. is responsible for providing security patches.
575137
     {{% endif %}}
575137
 
575137
 
575137
 rationale: |-
575137
-    An operating system is considered "supported" if the vendor continues to provide
575137
-    security patches for the product as well as maintain government certification requirements.
575137
-    With an unsupported release, it will not be possible to resolve security issue discovered in
575137
-    the system software as well as meet government certifications.
575137
+    An operating system is considered "supported" if the vendor continues to
575137
+    provide security patches for the product.  With an unsupported release, it
575137
+    will not be possible to resolve any security issue discovered in the system
575137
+    software.
575137
 
575137
 warnings:
575137
     - general: |-
575137
@@ -29,20 +27,17 @@ warnings:
575137
 
575137
 severity: high
575137
 
575137
-identifiers:
575137
-    cce@rhel7: 80349-4
575137
-
575137
 references:
575137
     disa: "366"
575137
     nist: SI-2(c)
575137
     srg: SRG-OS-000480-GPOS-00227
575137
     stigid@rhel7: "020250"
575137
 
575137
-ocil_clause: 'the installed operating system is not supported or certified'
575137
+ocil_clause: 'the installed operating system is not supported'
575137
 
575137
 {{% if product in ["rhel6", "rhel7"] %}}
575137
 ocil: |-
575137
-    To verify that the installed operating system is supported or certified, run
575137
+    To verify that the installed operating system is supported, run
575137
     the following command:
575137
     
$ grep -i "red hat" /etc/redhat-release
575137
     The output should contain something similar to:
575137
diff --git a/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/oval/shared.xml b/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/oval/shared.xml
575137
index b8f84e32d3..0ce11f6eef 100644
575137
--- a/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/oval/shared.xml
575137
+++ b/linux_os/guide/system/software/integrity/fips/grub2_enable_fips_mode/oval/shared.xml
575137
@@ -10,7 +10,7 @@
575137
       <description>Look for argument fips=1 in the kernel line in /etc/default/grub.</description>
575137
     </metadata>
575137
     <criteria operator="AND">
575137
-      <extend_definition comment="Installed OS is certified" definition_ref="installed_OS_is_certified" />
575137
+      <extend_definition comment="Installed OS is FIPS certified" definition_ref="installed_OS_is_FIPS_certified" />
575137
       <extend_definition comment="prelink disabled" definition_ref="disable_prelink" />
575137
       <extend_definition comment="package dracut-fips installed" definition_ref="package_dracut-fips_installed" />
575137
       <criteria operator="OR">
575137
diff --git a/linux_os/guide/system/software/integrity/fips/package_dracut-fips_installed/oval/shared.xml b/linux_os/guide/system/software/integrity/fips/package_dracut-fips_installed/oval/shared.xml
575137
index 1483429a6a..69a42f9a11 100644
575137
--- a/linux_os/guide/system/software/integrity/fips/package_dracut-fips_installed/oval/shared.xml
575137
+++ b/linux_os/guide/system/software/integrity/fips/package_dracut-fips_installed/oval/shared.xml
575137
@@ -14,7 +14,7 @@
575137
       <description>The RPM package dracut-fips should be installed.</description>
575137
     </metadata>
575137
     <criteria>
575137
-      <extend_definition comment="Installed OS is certified" definition_ref="installed_OS_is_certified" />
575137
+      <extend_definition comment="Installed OS is FIPS certified" definition_ref="installed_OS_is_FIPS_certified" />
575137
       
575137
       test_ref="test_package_dracut-fips_installed" />
575137
     </criteria>
575137
diff --git a/linux_os/guide/system/software/integrity/software-integrity/aide/aide_use_fips_hashes/oval/shared.xml b/linux_os/guide/system/software/integrity/software-integrity/aide/aide_use_fips_hashes/oval/shared.xml
575137
index 037b22e945..de1bba8c27 100644
575137
--- a/linux_os/guide/system/software/integrity/software-integrity/aide/aide_use_fips_hashes/oval/shared.xml
575137
+++ b/linux_os/guide/system/software/integrity/software-integrity/aide/aide_use_fips_hashes/oval/shared.xml
575137
@@ -9,7 +9,7 @@
575137
       cryptographic hashes.</description>
575137
     </metadata>
575137
     <criteria operator="AND">
575137
-      <extend_definition comment="Installed OS is certified" definition_ref="installed_OS_is_certified" />
575137
+      <extend_definition comment="Installed OS is FIPS certified" definition_ref="installed_OS_is_FIPS_certified" />
575137
       <extend_definition comment="Aide is installed" definition_ref="package_aide_installed" />
575137
       <criterion comment="non-FIPS hashes are not configured" test_ref="test_aide_non_fips_hashes" />
575137
       <criterion comment="FIPS hashes are configured" test_ref="test_aide_use_fips_hashes" />
575137
diff --git a/rhel7/profiles/ospp.profile b/rhel7/profiles/ospp.profile
575137
index e0d9b02c38..d978c16a21 100644
575137
--- a/rhel7/profiles/ospp.profile
575137
+++ b/rhel7/profiles/ospp.profile
575137
@@ -33,7 +33,7 @@ description: |-
575137
     consensus and release processes.
575137
 
575137
 selections:
575137
-    - installed_OS_is_certified
575137
+    - installed_OS_is_vendor_supported
575137
     - login_banner_text=usgcb_default
575137
     - inactivity_timeout_value=15_minutes
575137
     - var_password_pam_minlen=15
575137
diff --git a/rhel7/profiles/ospp42.profile b/rhel7/profiles/ospp42.profile
575137
index dd157a6e5b..dbd19355ac 100644
575137
--- a/rhel7/profiles/ospp42.profile
575137
+++ b/rhel7/profiles/ospp42.profile
575137
@@ -13,7 +13,7 @@ description: |-
575137
     in US National Security Systems.
575137
 
575137
 selections:
575137
-    - installed_OS_is_certified
575137
+    - installed_OS_is_vendor_supported
575137
     - grub2_audit_argument
575137
     - grub2_audit_backlog_limit_argument
575137
     - service_auditd_enabled
575137
diff --git a/rhel7/profiles/stig-rhel7-disa.profile b/rhel7/profiles/stig-rhel7-disa.profile
575137
index 3fe2869f69..7200e9dc8a 100644
575137
--- a/rhel7/profiles/stig-rhel7-disa.profile
575137
+++ b/rhel7/profiles/stig-rhel7-disa.profile
575137
@@ -119,7 +119,7 @@ selections:
575137
     - selinux_policytype
575137
     - disable_ctrlaltdel_reboot
575137
     - accounts_umask_etc_login_defs
575137
-    - installed_OS_is_certified
575137
+    - installed_OS_is_vendor_supported
575137
     - security_patches_up_to_date
575137
     - gid_passwd_group_same
575137
     - accounts_no_uid_except_zero
575137
diff --git a/rhel8/profiles/ospp.profile b/rhel8/profiles/ospp.profile
575137
index 27613eee55..ee1dcbe227 100644
575137
--- a/rhel8/profiles/ospp.profile
575137
+++ b/rhel8/profiles/ospp.profile
575137
@@ -8,7 +8,7 @@ description: |-
575137
     Operating Systems (Protection Profile Version 4.2).
575137
 
575137
 selections:
575137
-    - installed_OS_is_certified
575137
+    - installed_OS_is_vendor_supported
575137
     - grub2_audit_argument
575137
     - grub2_audit_backlog_limit_argument
575137
     - service_auditd_enabled