From 8819312abafe9a5ea3a9fb1f46018c55deead52f Mon Sep 17 00:00:00 2001 From: svet-se Date: Fri, 16 Feb 2024 16:52:03 +0200 Subject: [PATCH 1/2] Update SLE15 STIG version --- products/sle15/profiles/stig.profile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/products/sle15/profiles/stig.profile b/products/sle15/profiles/stig.profile index d7ce92a59f5..9c5deff3cc1 100644 --- a/products/sle15/profiles/stig.profile +++ b/products/sle15/profiles/stig.profile @@ -1,7 +1,7 @@ documentation_complete: true metadata: - version: V1R11 + version: V1R12 SMEs: - abergmann @@ -11,7 +11,7 @@ title: 'DISA STIG for SUSE Linux Enterprise 15' description: |- This profile contains configuration checks that align to the - DISA STIG for SUSE Linux Enterprise 15 V1R11. + DISA STIG for SUSE Linux Enterprise 15 V1R12. selections: From f0cc7d74ea1374d5436e85b41a795005d31fe26f Mon Sep 17 00:00:00 2001 From: svet-se Date: Fri, 16 Feb 2024 16:57:24 +0200 Subject: [PATCH 2/2] Update DISA STIG manual for SLE15 V1R12 --- ...=> disa-stig-sle15-v1r12-xccdf-manual.xml} | 441 +++++++++--------- 1 file changed, 219 insertions(+), 222 deletions(-) rename shared/references/{disa-stig-sle15-v1r11-xccdf-manual.xml => disa-stig-sle15-v1r12-xccdf-manual.xml} (94%) diff --git a/shared/references/disa-stig-sle15-v1r11-xccdf-manual.xml b/shared/references/disa-stig-sle15-v1r12-xccdf-manual.xml similarity index 94% rename from shared/references/disa-stig-sle15-v1r11-xccdf-manual.xml rename to shared/references/disa-stig-sle15-v1r12-xccdf-manual.xml index 2cd23f7d082..d6f76521157 100644 --- a/shared/references/disa-stig-sle15-v1r11-xccdf-manual.xml +++ b/shared/references/disa-stig-sle15-v1r12-xccdf-manual.xml @@ -1,6 +1,6 @@ -acceptedSUSE Linux Enterprise Server 15 Security Technical Implementation GuideThis Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DOD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.DISASTIG.DOD.MILRelease: 11 Benchmark Date: 25 Oct 20233.4.1.229161.10.01I - Mission Critical Classified<ProfileDescription></ProfileDescription>I - Mission Critical Public<ProfileDescription></ProfileDescription>I - Mission Critical Sensitive<ProfileDescription></ProfileDescription>II - Mission Support Classified<ProfileDescription></ProfileDescription>II - Mission Support Public<ProfileDescription></ProfileDescription>II - Mission Support Sensitive<ProfileDescription></ProfileDescription>III - Administrative Classified<ProfileDescription></ProfileDescription>III - Administrative Public<ProfileDescription></ProfileDescription>III - Administrative Sensitive<ProfileDescription></ProfileDescription>SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-010000The SUSE operating system must be a vendor-supported release.<VulnDiscussion>A SUSE operating system release is considered "supported" if the vendor continues to provide security patches for the product. With an unsupported release, it will not be possible to resolve security issues discovered in the system software.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001230Upgrade the SUSE operating system to a version supported by the vendor. If the system is not registered with the SUSE Customer Center, register the system against the correct subscription. +acceptedSUSE Linux Enterprise Server 15 Security Technical Implementation GuideThis Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DOD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.DISASTIG.DOD.MILRelease: 12 Benchmark Date: 24 Jan 20243.4.1.229161.10.01I - Mission Critical Classified<ProfileDescription></ProfileDescription>I - Mission Critical Public<ProfileDescription></ProfileDescription>I - Mission Critical Sensitive<ProfileDescription></ProfileDescription>II - Mission Support Classified<ProfileDescription></ProfileDescription>II - Mission Support Public<ProfileDescription></ProfileDescription>II - Mission Support Sensitive<ProfileDescription></ProfileDescription>III - Administrative Classified<ProfileDescription></ProfileDescription>III - Administrative Public<ProfileDescription></ProfileDescription>III - Administrative Sensitive<ProfileDescription></ProfileDescription>SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-010000The SUSE operating system must be a vendor-supported release.<VulnDiscussion>A SUSE operating system release is considered "supported" if the vendor continues to provide security patches for the product. With an unsupported release, it will not be possible to resolve security issues discovered in the system software.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001230Upgrade the SUSE operating system to a version supported by the vendor. If the system is not registered with the SUSE Customer Center, register the system against the correct subscription. -If the system requires Long-Term Service Pack Support (LTSS), obtain the correct LTSS subscription for the system.Verify the SUSE operating system is a vendor-supported release. +If the system requires Long-Term Service Pack Support (LTSS), obtain the correct LTSS subscription for the system.Verify the SUSE operating system is a vendor-supported release. Use the following command to verify the SUSE operating system is a vendor-supported release: @@ -16,10 +16,7 @@ VERSION="15-SPx" Current End of Life for SLES 15 General Support is 31 Jul 2028 and Long-term Support is until 31 Jul 2031. -If the release is not supported by the vendor, this is a finding.SRG-OS-000191-GPOS-00080<GroupDescription></GroupDescription>SLES-15-010001The SUSE operating system must implement the Endpoint Security for Linux Threat Prevention tool.<VulnDiscussion>Adding endpoint security tools can provide the capability to automatically take actions in response to malicious behavior, which can provide additional agility in reacting to network threats. These tools also often include a reporting capability to provide network awareness of the system, which may not otherwise exist in an organization's systems management regime.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001233Install and enable the latest McAfee ENSLTP package.Per OPORD 16-0080, the preferred endpoint security tool is Endpoint Security for Linux (ENSL) in conjunction with SELinux. - -Procedure: -Check that the following package has been installed: +If the release is not supported by the vendor, this is a finding.SRG-OS-000191-GPOS-00080<GroupDescription></GroupDescription>SLES-15-010001The SUSE operating system must implement the Endpoint Security for Linux Threat Prevention tool.<VulnDiscussion>Adding endpoint security tools can provide the capability to automatically take actions in response to malicious behavior, which can provide additional agility in reacting to network threats. These tools also often include a reporting capability to provide network awareness of the system, which may not otherwise exist in an organization's systems management regime.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001233Install and enable the latest Trellix ENSLTP package.Check that the following package has been installed: # rpm -qa | grep -i mcafeetp @@ -31,7 +28,7 @@ Verify that the daemon is running: If the daemon is not running, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-010010Vendor-packaged SUSE operating system security patches and updates must be installed and up to date.<VulnDiscussion>Timely patching is critical for maintaining the operational availability, confidentiality, and integrity of information technology (IT) systems. However, failure to keep SUSE operating system and application software patched is a common mistake made by IT professionals. New patches are released frequently, and it is often difficult for even experienced System Administrators (SAs) to keep abreast of all the new patches. When new weaknesses in a SUSE operating system exist, patches are usually made available by the vendor to resolve the problems. If the most recent security patches and updates are not installed, unauthorized users may take advantage of weaknesses in the unpatched software. The lack of prompt attention to patching could result in a system compromise.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001227Install the applicable SUSE operating system patches available from SUSE by running the following command: -> sudo zypper patchVerify the SUSE operating system security patches and updates are installed and up to date. +> sudo zypper patchVerify the SUSE operating system security patches and updates are installed and up to date. Note: Updates are required to be applied with a frequency determined by the site or Program Management Office (PMO). @@ -85,7 +82,7 @@ By using this IS (which includes any device attached to this IS), you consent to -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."Verify the SUSE operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system via local console. +-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."Verify the SUSE operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system via local console. Check the "motd" (message of the day) file to verify that it contains the DoD required banner text: @@ -115,7 +112,7 @@ Examples of nonessential capabilities include but are not limited to games, soft Satisfies: SRG-OS-000074-GPOS-00042, SRG-OS-000095-GPOS-00049</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000197CCI-000381Document the "vsftpd" package with the ISSO as an operational requirement or remove it from the system with the following command: -> sudo zypper remove vsftpdVerify the vsftpd package is not installed on the SUSE operating system. +> sudo zypper remove vsftpdVerify the vsftpd package is not installed on the SUSE operating system. Check that the vsftpd package is not installed on the SUSE operating system by running the following command: @@ -165,7 +162,7 @@ By using this IS (which includes any device attached to this IS), you consent to -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."Verify the SUSE operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system via SSH. +-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."Verify the SUSE operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the system via SSH. Check the issue file to verify it contains one of the DoD required banners. If it does not, this is a finding. @@ -217,7 +214,7 @@ sleep 1; exit 1; fi -Save the file "/etc/gdm/Xsession".Verify the SUSE operating system displays the Standard Mandatory DoD Notice and Consent Banner until users acknowledge the usage conditions and take explicit actions to log on via the local GUI. +Save the file "/etc/gdm/Xsession".Verify the SUSE operating system displays the Standard Mandatory DoD Notice and Consent Banner until users acknowledge the usage conditions and take explicit actions to log on via the local GUI. Note: If a graphical user interface is not installed, this requirement is Not Applicable. @@ -258,7 +255,7 @@ By using this IS (which includes any device attached to this IS), you consent to -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."Note: If the system does not have a graphical user interface installed, this requirement is Not Applicable. +-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."Note: If the system does not have a graphical user interface installed, this requirement is Not Applicable. Verify the SUSE operating system file "/etc/gdm/banner" contains the Standard Mandatory DoD Notice and Consent Banner text by running the following command: @@ -322,7 +319,7 @@ Update the system databases: > sudo dconf update -Users must log out and back in again before the system-wide settings take effect.Note: If the system does not have a graphical user interface installed, this requirement is Not Applicable. +Users must log out and back in again before the system-wide settings take effect.Note: If the system does not have a graphical user interface installed, this requirement is Not Applicable. Verify the SUSE operating system displays a banner before local or remote access to the system via a graphical user logon. @@ -372,7 +369,7 @@ banner-message-text="You are accessing a U.S. Government (USG) Information Syste Note: The "\n" characters are for formatting only. They will not be displayed on the GUI. Run the following command to update the database: -> sudo dconf updateNote: If the system does not have a graphical user interface installed, this requirement is Not Applicable. +> sudo dconf updateNote: If the system does not have a graphical user interface installed, this requirement is Not Applicable. Verify the SUSE operating system displays the approved Standard Mandatory DoD Notice before granting local or remote access to the system via a graphical user logon. @@ -396,7 +393,7 @@ Configure the SUSE operating system to allow the user to lock the GUI. Run the following command to configure the SUSE operating system to allow the user to lock the GUI: -> sudo gsettings set org.gnome.desktop.lockdown disable-lock-screen falseVerify the SUSE operating system allows the user to lock the GUI. +> sudo gsettings set org.gnome.desktop.lockdown disable-lock-screen falseVerify the SUSE operating system allows the user to lock the GUI. Note: If the system does not have a graphical user interface installed, this requirement is Not Applicable. @@ -412,7 +409,7 @@ Regardless of where the session lock is determined and implemented, once invoked Satisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011, SRG-OS-000031-GPOS-00012</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000056CCI-000058CCI-000060Allow users to lock the console by installing the "kbd" package using zypper: -> sudo zypper install kbdCheck that the SUSE operating system has the "vlock" package installed by running the following command: +> sudo zypper install kbdCheck that the SUSE operating system has the "vlock" package installed by running the following command: > zypper search --installed-only --match-exact --provides vlock @@ -424,7 +421,7 @@ The session lock is implemented at the point where session activity can be deter Note: If the system does not have a graphical user interface installed, this requirement is Not Applicable. This command must be run from an X11 session, otherwise the command will not work correctly. -> sudo gsettings set org.gnome.desktop.session idle-delay 900Verify the SUSE operating system initiates a session lock after a 15-minute period of inactivity via the GUI by running the following command: +> sudo gsettings set org.gnome.desktop.session idle-delay 900Verify the SUSE operating system initiates a session lock after a 15-minute period of inactivity via the GUI by running the following command: Note: If the system does not have a graphical user interface installed, this requirement is Not Applicable. @@ -444,7 +441,7 @@ export TMOUT Set the proper permissions for the "/etc/profile.d/autologout.sh" file with the following command: -> sudo chmod +x /etc/profile.d/autologout.shVerify the SUSE operating system must initiate a session logout after a 15-minute period of inactivity for all connection types. +> sudo chmod +x /etc/profile.d/autologout.shVerify the SUSE operating system must initiate a session logout after a 15-minute period of inactivity for all connection types. Check the proper script exists to kill an idle session after a 15-minute period of inactivity with the following command: @@ -466,7 +463,7 @@ Configure the SUSE operating system to use a publically viewable image by findin - Click the "Settings" icon. - Click "Background" from left hand menu. - Select image and set the Lock Screen image to the user's choice. -- Exit Settings Dialog.Verify the SUSE operating system conceals via the session lock information previously visible on the display with a publicly viewable image in the GUI. +- Exit Settings Dialog.Verify the SUSE operating system conceals via the session lock information previously visible on the display with a publicly viewable image in the GUI. Note: If the system does not have X Windows installed, this requirement is Not Applicable. @@ -485,7 +482,7 @@ Add or update the following line in the "/etc/ssh/sshd_config" file: LogLevel VERBOSE -The SSH service will need to be restarted in order for the changes to take effect.Verify SSH is configured to verbosely log connection attempts and failed logon attempts to the SUSE operating system. +The SSH service will need to be restarted in order for the changes to take effect.Verify SSH is configured to verbosely log connection attempts and failed logon attempts to the SUSE operating system. Check that the SSH daemon configuration verbosely logs connection attempts and failed logon attempts to the server with the following command: @@ -509,7 +506,7 @@ Ciphers aes256-ctr,aes192-ctr,aes128-ctr Restart the SSH daemon: -> sudo systemctl restart sshd.serviceVerify that the SUSE operating system implements DoD-approved encryption to protect the confidentiality of SSH remote connections. +> sudo systemctl restart sshd.serviceVerify that the SUSE operating system implements DoD-approved encryption to protect the confidentiality of SSH remote connections. Check the SSH daemon configuration for allowed ciphers with the following command: @@ -533,7 +530,7 @@ cert_policy = ca,signature,oscp_on; Note: Additional certificate validation polices are permitted. -Additional information on the configuration of multifactor authentication on the SUSE operating system can be found at https://www.suse.com/communities/blog/configuring-smart-card-authentication-suse-linux-enterprise/.Verify the SUSE operating system for PKI-based authentication had valid certificates by constructing a certification path (which includes status information) to an accepted trust anchor. +Additional information on the configuration of multifactor authentication on the SUSE operating system can be found at https://www.suse.com/communities/blog/configuring-smart-card-authentication-suse-linux-enterprise/.Verify the SUSE operating system for PKI-based authentication had valid certificates by constructing a certification path (which includes status information) to an accepted trust anchor. Check that the certification path to an accepted trust anchor for multifactor authentication is implemented with the following command: @@ -549,7 +546,7 @@ Examples of nonessential capabilities include but are not limited to games, soft Satisfies: SRG-OS-000074-GPOS-00042, SRG-OS-000095-GPOS-00049</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000197CCI-000381Remove the telnet-server package from the SUSE operating system by running the following command: -> sudo zypper remove telnet-serverVerify the telnet-server package is not installed on the SUSE operating system. +> sudo zypper remove telnet-serverVerify the telnet-server package is not installed on the SUSE operating system. Check that the telnet-server package is not installed on the SUSE operating system by running the following command: @@ -576,7 +573,7 @@ password_pbkdf2 root grub.pbkdf2.sha512.VeryLongString Generate an updated "grub.conf" file with the new password using the following commands: > sudo grub2-mkconfig --output=/tmp/grub2.cfg -> sudo mv /tmp/grub2.cfg /boot/grub2/grub.cfgVerify that the SUSE operating system has set an encrypted root password. +> sudo mv /tmp/grub2.cfg /boot/grub2/grub.cfgVerify that the SUSE operating system has set an encrypted root password. Note: If the system does not use a BIOS this requirement is Not Applicable. @@ -605,7 +602,7 @@ password_pbkdf2 root grub.pbkdf2.sha512.VeryLongString Generate an updated "grub.conf" file with the new password using the following commands: > sudo grub2-mkconfig --output=/tmp/grub2.cfg -> sudo mv /tmp/grub2.cfg /boot/efi/EFI/sles/grub.cfgVerify that the SUSE operating system has set an encrypted root password. +> sudo mv /tmp/grub2.cfg /boot/efi/EFI/sles/grub.cfgVerify that the SUSE operating system has set an encrypted root password. Note: If the system does not use UEFI, this requirement is Not Applicable. @@ -631,7 +628,7 @@ Enable the "firewalld.service" by running the following command: Start the "firewalld.service" by running the following command: -> sudo systemctl start firewalld.serviceVerify the SUSE 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. +> sudo systemctl start firewalld.serviceVerify the SUSE 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. Check that the "firewalld.service" is enabled and running by running the following command: @@ -667,7 +664,7 @@ Interactive users include organizational employees or individuals the organizati Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000764CCI-000804Configure the SUSE operating system to contain no duplicate UIDs for interactive users. -Edit the file "/etc/passwd" and provide each interactive user account that has a duplicate UID with a unique UID.Verify the SUSE operating system contains no duplicate UIDs for interactive users. +Edit the file "/etc/passwd" and provide each interactive user account that has a duplicate UID with a unique UID.Verify the SUSE operating system contains no duplicate UIDs for interactive users. Check that the SUSE operating system contains no duplicate UIDs for interactive users by running the following command: @@ -682,7 +679,7 @@ Turn off the automount service with the following command: > systemctl stop autofs > systemctl disable autofs -If "autofs" is required for Network File System (NFS), it must be documented with the ISSO.Verify the SUSE operating system disables the ability to automount devices. +If "autofs" is required for Network File System (NFS), it must be documented with the ISSO.Verify the SUSE operating system disables the ability to automount devices. Check to see if automounter service is active with the following command: @@ -699,7 +696,7 @@ FIPS 140-2 is the current standard for validating that mechanisms used to access Edit the "/etc/login.defs" file with the following line: -ENCRYPT_METHOD SHA512Verify the SUSE operating system requires that the "ENCRYPT_METHOD" value in "/etc/login.defs" is set to "SHA512". +ENCRYPT_METHOD SHA512Verify the SUSE operating system requires that the "ENCRYPT_METHOD" value in "/etc/login.defs" is set to "SHA512". Check the value of "ENCRYPT_METHOD" value in "/etc/login.defs" with the following command: @@ -719,7 +716,7 @@ Satisfies: SRG-OS-000125-GPOS-00065, SRG-OS-000394-GPOS-00174</VulnDiscussion Edit the "/etc/ssh/sshd_config" file to uncomment or add the line for the "MACs" keyword and set its value to "hmac-sha2-512" and/or "hmac-sha2-256" (The file might be named differently or be in a different location): -MACs hmac-sha2-512,hmac-sha2-256Verify the SUSE operating system SSH daemon is configured to only use MACs that employ FIPS 140-2 approved hashes. +MACs hmac-sha2-512,hmac-sha2-256Verify the SUSE operating system SSH daemon is configured to only use MACs that employ FIPS 140-2 approved hashes. Check that the SSH daemon is configured to only use MACs that employ FIPS 140-2 approved hashes with the following command: @@ -736,7 +733,7 @@ Add or modify (to match exactly) the following line in the "/etc/ssh/sshd_config ClientAliveInterval 600 -The SSH daemon must be restarted for any changes to take effect.Verify the SUSE operating system SSH daemon is configured to timeout idle sessions. +The SSH daemon must be restarted for any changes to take effect.Verify the SUSE operating system SSH daemon is configured to timeout idle sessions. Check that the "ClientAliveInterval" parameter is set to a value of "600" with the following command: @@ -753,7 +750,7 @@ An example of a world-writable directory is "/tmp" directory. Set the sticky bit > sudo chmod 1777 /tmp -For every world-writable directory, replace "/tmp" in the command above with the world-writable directory that does not have the sticky bit set.Verify the SUSE operating system prevents unauthorized and unintended information transfer via the shared system resources. +For every world-writable directory, replace "/tmp" in the command above with the world-writable directory that does not have the sticky bit set.Verify the SUSE operating system prevents unauthorized and unintended information transfer via the shared system resources. Check that world-writable directories have the sticky bit set with the following command: @@ -771,7 +768,7 @@ If "1" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system is configured to use IPv4 TCP syncookies. +> sudo sysctl --systemVerify the SUSE operating system is configured to use IPv4 TCP syncookies. Check to see if syncookies are used with the following command: @@ -792,7 +789,7 @@ ClientAliveCountMax 0 In order for the changes to take effect, the SSH daemon must be restarted. -> sudo systemctl restart sshd.serviceVerify that all network connections associated with SSH traffic are automatically terminated at the end of the session or after 10 minutes of inactivity. +> sudo systemctl restart sshd.serviceVerify that all network connections associated with SSH traffic are automatically terminated at the end of the session or after 10 minutes of inactivity. Check that the "ClientAliveCountMax" variable is set to a value of "0" or less by performing the following command: @@ -812,7 +809,7 @@ Encrypting a partition in an already-installed system is more difficult because Refer to the document "SUSE Linux Enterprise Server 15 SP1 - Security Guide", Section 12.1.2, for a detailed disk encryption guide: -https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-security-cryptofs.html#sec-security-cryptofs-y2-part-runVerify the SUSE operating system prevents unauthorized disclosure or modification of all information requiring at rest protection by using disk encryption. +https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-security-cryptofs.html#sec-security-cryptofs-y2-part-runVerify the SUSE operating system prevents unauthorized disclosure or modification of all information requiring at rest protection by using disk encryption. Determine the partition layout for the system with the following command: @@ -842,7 +839,7 @@ The /var/log/btmp, /var/log/wtmp, and /var/log/lastlog files have group write an Note: The btmp, wtmp, and lastlog files are excluded. Refer to the Discussion for details. -> sudo find /var/log -perm /137 ! -name '*[bw]tmp' ! -name '*lastlog' -type f -exec chmod 640 '{}' \;Verify the SUSE operating system has all system log files under the /var/log directory with a permission set to "640", by using the following command: +> sudo find /var/log -perm /137 ! -name '*[bw]tmp' ! -name '*lastlog' -type f -exec chmod 640 '{}' \;Verify the SUSE operating system has all system log files under the /var/log directory with a permission set to "640", by using the following command: Note: The btmp, wtmp, and lastlog files are excluded. Refer to the Discussion for details. @@ -858,7 +855,7 @@ Add or update the following rules in "/etc/permissions.local": Set the correct permissions with the following command: -> sudo chkstat --set --systemVerify the SUSE operating system prevents unauthorized users from accessing system error messages. +> sudo chkstat --set --systemVerify the SUSE operating system prevents unauthorized users from accessing system error messages. Check the "/var/log/messages" file permissions with the following command: @@ -876,7 +873,7 @@ If the effective permissions do not match the "permissions.local" file, the comm This requirement applies to SUSE 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 must be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the library files to be protected from unauthorized access. Run the following command: -> sudo find /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type f -exec chmod 755 '{}' \;Verify the system-wide shared library files contained in the directories "/lib", "/lib64", "/usr/lib", and "/usr/lib64" have mode "0755" or less permissive. +> sudo find /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type f -exec chmod 755 '{}' \;Verify the system-wide shared library files contained in the directories "/lib", "/lib64", "/usr/lib", and "/usr/lib64" have mode "0755" or less permissive. Check that the system-wide shared library files have mode "0755" or less permissive with the following command: @@ -886,7 +883,7 @@ If any files are found to be group-writable or world-writable, this is a finding This requirement applies to SUSE 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 must be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the shared library directories to be protected from unauthorized access. Run the following command: -> sudo find /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type d -exec chmod 755 '{}' \;Verify the system-wide shared library directories "/lib", "/lib64", "/usr/lib" and "/usr/lib64" have mode "0755" or less permissive. +> sudo find /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type d -exec chmod 755 '{}' \;Verify the system-wide shared library directories "/lib", "/lib64", "/usr/lib" and "/usr/lib64" have mode "0755" or less permissive. Check that the system-wide shared library directories have mode "0755" or less permissive with the following command: @@ -896,7 +893,7 @@ If any of the aforementioned directories are found to be group-writable or world This requirement applies to SUSE 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 must be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system library files to be protected from unauthorized access. Run the following command: -> sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type f -exec chown root '{}' \;Verify the system-wide shared library files contained in the directories "/lib", "/lib64", "/usr/lib" and "/usr/lib64" are owned by root. +> sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type f -exec chown root '{}' \;Verify the system-wide shared library files contained in the directories "/lib", "/lib64", "/usr/lib" and "/usr/lib64" are owned by root. Check that the system-wide shared library files are owned by root with the following command: @@ -906,7 +903,7 @@ If any system wide library file is returned, this is a finding.< This requirement applies to SUSE 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 must be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the library files and their respective parent directories to be protected from unauthorized access. Run the following command: -> sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type d -exec chown root '{}' \;Verify the system-wide shared library directories "/lib", "/lib64", "/usr/lib/" and "/usr/lib64" are owned by root. +> sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type d -exec chown root '{}' \;Verify the system-wide shared library directories "/lib", "/lib64", "/usr/lib/" and "/usr/lib64" are owned by root. Check that the system-wide shared library directories are owned by root with the following command: @@ -916,7 +913,7 @@ If any system wide library directory is returned, this is a finding.DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system library files to be protected from unauthorized access. Run the following command: -> sudo find /lib /lib64 /usr/lib /usr/lib64 ! -group root -type f -exec chgrp root '{}' \;Verify the system-wide library files contained in the directories "/lib", "/lib64", "/usr/lib" and "/usr/lib64" are group-owned by root. +> sudo find /lib /lib64 /usr/lib /usr/lib64 ! -group root -type f -exec chgrp root '{}' \;Verify the system-wide library files contained in the directories "/lib", "/lib64", "/usr/lib" and "/usr/lib64" are group-owned by root. Check that the system-wide library files are group-owned by root with the following command: @@ -926,7 +923,7 @@ If any system wide shared library file is returned, this is a finding.DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system library directories to be protected from unauthorized access. Run the following command: -> sudo find /lib /lib64 /usr/lib /usr/lib64 ! -group root -type d -exec chgrp root '{}' \;Verify the system-wide library directories "/lib", "/lib64", "/usr/lib" and "/usr/lib64" are group-owned by root. +> sudo find /lib /lib64 /usr/lib /usr/lib64 ! -group root -type d -exec chgrp root '{}' \;Verify the system-wide library directories "/lib", "/lib64", "/usr/lib" and "/usr/lib64" are group-owned by root. Check that the system-wide library directories are group-owned by root with the following command: @@ -936,7 +933,7 @@ If any system wide shared library directory is returned, this is a finding.DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system commands to be protected from unauthorized access. Run the following command: -> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -type f -exec chmod 755 '{}' \;Verify the system commands contained in the following directories have mode "0755" or less permissive: +> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -type f -exec chmod 755 '{}' \;Verify the system commands contained in the following directories have mode "0755" or less permissive: /bin /sbin @@ -953,7 +950,7 @@ If any files are found to be group-writable or world-writable, this is a finding This requirement applies to SUSE 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 must be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system commands directories to be protected from unauthorized access. Run the following command: -> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -type d -exec chmod -R 755 '{}' \;Verify the system commands directories have mode "0755" or less permissive: +> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -type d -exec chmod -R 755 '{}' \;Verify the system commands directories have mode "0755" or less permissive: /bin /sbin @@ -970,7 +967,7 @@ If any directories are found to be group-writable or world-writable, this is a f This requirement applies to SUSE 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 must be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system commands - and their respective parent directories - to be protected from unauthorized access. Run the following command: -> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -user root -type f -exec chown root '{}' \;Verify the system commands contained in the following directories are owned by root: +> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -user root -type f -exec chown root '{}' \;Verify the system commands contained in the following directories are owned by root: /bin /sbin @@ -987,7 +984,7 @@ If any system commands are returned, this is a finding.< This requirement applies to SUSE 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 must be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system commands directories to be protected from unauthorized access. Run the following command: -> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -user root -type d -exec chown root '{}' \;Verify the system commands directories are owned by root: +> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -user root -type d -exec chown root '{}' \;Verify the system commands directories are owned by root: /bin /sbin @@ -1004,7 +1001,7 @@ If any system commands directories are returned, this is a finding.DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system commands to be protected from unauthorized access. Run the following command, replacing "[FILE]" with any system command file not group-owned by "root" or a required system account. -> sudo chgrp root [FILE]Verify the system commands contained in the following directories are group-owned by root or a system account: +> sudo chgrp root [FILE]Verify the system commands contained in the following directories are group-owned by root or a system account: /bin /sbin @@ -1021,7 +1018,7 @@ If any system commands are returned that are not Set Group ID upon execution (SG This requirement applies to SUSE 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 must be allowed to obtain access to information system components for purposes of initiating changes, including upgrades and modifications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001499Configure the system commands directories to be protected from unauthorized access. Run the following command: -> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -group root -type d -exec chgrp root '{}' \;Verify the system commands directories are group-owned by root: +> sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -group root -type d -exec chgrp root '{}' \;Verify the system commands directories are group-owned by root: /bin /sbin @@ -1060,7 +1057,7 @@ To immediately disconnect or disable remote access the firewall needs to be set To enable remote connection again, panic mode needs to be disabled. -> sudo firewall-cmd --panic-offVerify "firewalld" is configured to protect the SUSE operating system. +> sudo firewall-cmd --panic-offVerify "firewalld" is configured to protect the SUSE operating system. Run the following command: @@ -1094,7 +1091,7 @@ For each interface of type wireless with a configuration type of "compat:suse:", For each interface of type wireless, for each configuration of type "wicked:xml:", remove the associated file or remove the interface configuration from the file. -> sudo rm /etc/wicked/ifconfig/wlan0.xmlVerify that the SUSE operating system has no wireless network adapters enabled. +> sudo rm /etc/wicked/ifconfig/wlan0.xmlVerify that the SUSE operating system has no wireless network adapters enabled. Check that there are no wireless interfaces configured on the system with the following command: @@ -1152,7 +1149,7 @@ Start "Apparmor" with the following command: > sudo systemctl start apparmor.service -Note: "pam_apparmor" must have properly configured profiles. All configurations will be based on the actual system setup and organization. See the "pam_apparmor" documentation for more information on configuring profiles.Verify that the SUSE operating system AppArmor tool is configured to control whitelisted applications and user home directory access control. +Note: "pam_apparmor" must have properly configured profiles. All configurations will be based on the actual system setup and organization. See the "pam_apparmor" documentation for more information on configuring profiles.Verify that the SUSE operating system AppArmor tool is configured to control whitelisted applications and user home directory access control. Check that "pam_apparmor" is installed on the system with the following command: @@ -1178,7 +1175,7 @@ Satisfies: SRG-OS-000355-GPOS-00143, SRG-OS-000356-GPOS-00144</VulnDiscussion To configure the system clock to synchronize to an authoritative DoD time source at least every 24 hours, edit the file "/etc/chrony.conf". Add or correct the following lines by replacing "[time_source]" with an authoritative DoD time source: -server [time_source] maxpoll 16The SUSE operating system clock must be configured to synchronize to an authoritative DoD time source when the time difference is greater than one second. +server [time_source] maxpoll 16The SUSE operating system clock must be configured to synchronize to an authoritative DoD time source when the time difference is greater than one second. Check that the SUSE operating system clock must be configured to synchronize to an authoritative DoD time source when the time difference is greater than one second with the following command: @@ -1199,7 +1196,7 @@ Time stamps generated by the SUSE operating system include date and time. Time i To configure the system time zone to use UTC or GMT, run the following command, replacing [ZONE] with "UTC" or "GMT". -> sudo timedatectl set-timezone [ZONE]Verify the SUSE operating system is configured to use UTC or GMT. +> sudo timedatectl set-timezone [ZONE]Verify the SUSE operating system is configured to use UTC or GMT. Check that the SUSE operating system is configured to use UTC or GMT with the following command: @@ -1221,7 +1218,7 @@ Configure the file integrity tool to automatically run on the system at least we > cat /etc/cron.weekly/aide 0 0 * * * /usr/sbin/aide --check | /bin/mail -s "$HOSTNAME - Daily AIDE integrity check run" root@example_server_name.mil -Note: Per requirement SLES-15-010418, the "mailx" package must be installed on the system to enable email functionality.Verify the SUSE operating system checks the baseline configuration for unauthorized changes at least once weekly. +Note: Per requirement SLES-15-010418, the "mailx" package must be installed on the system to enable email functionality.Verify the SUSE operating system checks the baseline configuration for unauthorized changes at least once weekly. Note: A file integrity tool other than AIDE may be used, but the tool must be executed at least once per week. @@ -1238,7 +1235,7 @@ Accordingly, patches, service packs, device drivers, or SUSE operating system co 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 SUSE 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 Certification Authority (CA).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001749Configure that the SUSE operating system tool zypper to enable gpgcheck by editing or adding the following line to "/etc/zypp/zypp.conf": -gpgcheck = 1Verify that the SUSE operating system tool zypper has gpgcheck enabled. +gpgcheck = 1Verify that the SUSE operating system tool zypper has gpgcheck enabled. Check that zypper has gpgcheck enabled with the following command: @@ -1250,7 +1247,7 @@ If "gpgcheck" is set to "0", "off", "no", or "false", this is a finding.DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-002038Configure the SUSE operating system to remove any occurrence of "NOPASSWD" or "!authenticate" found in the "/etc/sudoers" file. If the system does not use passwords for authentication, the "NOPASSWD" tag may exist in the file.Verify that the SUSE operating system requires reauthentication when changing authenticators, roles, or escalating privileges. +Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-002038Configure the SUSE operating system to remove any occurrence of "NOPASSWD" or "!authenticate" found in the "/etc/sudoers" file. If the system does not use passwords for authentication, the "NOPASSWD" tag may exist in the file.Verify that the SUSE operating system requires reauthentication when changing authenticators, roles, or escalating privileges. Check that "/etc/sudoers" has no occurrences of "NOPASSWD" or "!authenticate" with the following command: @@ -1286,7 +1283,7 @@ Install the packages required to support multifactor authentication with the fol > zypper install coolkey -Additional information on the configuration of multifactor authentication on the SUSE operating system can be found at https://www.suse.com/communities/blog/configuring-smart-card-authentication-suse-linux-enterprise/.Verify the SUSE operating system has the packages required for multifactor authentication installed. +Additional information on the configuration of multifactor authentication on the SUSE operating system can be found at https://www.suse.com/communities/blog/configuring-smart-card-authentication-suse-linux-enterprise/.Verify the SUSE operating system has the packages required for multifactor authentication installed. Check for the presence of the packages required to support multifactor authentication with the following commands: @@ -1322,7 +1319,7 @@ Modify all of the cert_policy lines in "/etc/pam_pkcs11/pam_pkcs11.conf" to incl Note: OCSP allows sending request for certificate status information. Additional certificate validation polices are permitted. -Additional information on the configuration of multifactor authentication on the SUSE operating system can be found at https://www.suse.com/communities/blog/configuring-smart-card-authentication-suse-linux-enterprise/.Verify the SUSE operating system implements certificate status checking for multifactor authentication. +Additional information on the configuration of multifactor authentication on the SUSE operating system can be found at https://www.suse.com/communities/blog/configuring-smart-card-authentication-suse-linux-enterprise/.Verify the SUSE operating system implements certificate status checking for multifactor authentication. Check that certificate status checking for multifactor authentication is implemented with the following command: @@ -1336,7 +1333,7 @@ Peripherals include but are not limited to such devices as flash drives, externa Add or update the following line to the "/etc/modprobe.d/50-blacklist.conf" file: -blacklist usb-storageVerify the SUSE operating system does not automount USB mass storage devices when connected to the host. +blacklist usb-storageVerify the SUSE operating system does not automount USB mass storage devices when connected to the host. Check that "usb-storage" is blacklisted in the "/etc/modprobe.d/50-blacklist.conf" file with the following command: @@ -1347,7 +1344,7 @@ If nothing is output from the command, this is a finding.If NSS is not used on the operating system, this is Not Applicable. +memcache_timeout = 86400If NSS is not used on the operating system, this is Not Applicable. If NSS is used by the SUSE operating system, verify it prohibits the use of cached authentications after one day. @@ -1361,7 +1358,7 @@ If "memcache_timeout" has a value greater than "86400", or is missing, this is a Add or change the following line in "/etc/sssd/sssd.conf" just below the line "[pam]": -offline_credentials_expiration = 1If SSSD is not being used on the operating system, this is Not Applicable. +offline_credentials_expiration = 1If SSSD is not being used on the operating system, this is Not Applicable. Verify that the SUSE operating system PAM prohibits the use of cached off line authentications after one day. @@ -1377,7 +1374,7 @@ Satisfies: SRG-OS-000396-GPOS-00176, SRG-OS-000478-GPOS-00223</VulnDiscussion Enabling FIPS mode on a preexisting system involves a number of modifications to the SUSE operating system. Refer to section 9.1, "Crypto Officer Guidance", of the following document for installation guidance: -http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp2435.pdfVerify the SUSE operating system is running in FIPS mode by running the following command. +http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp2435.pdfVerify the SUSE operating system is running in FIPS mode by running the following command. > cat /proc/sys/crypto/fips_enabled @@ -1403,7 +1400,7 @@ Enable the OpenSSH service to start automatically on reboot with the following c For the changes to take effect immediately, start the service with the following command: -> sudo systemctl restart sshd.serviceNote: If the system is not networked, this requirement is Not Applicable. +> sudo systemctl restart sshd.serviceNote: If the system is not networked, this requirement is Not Applicable. Verify that the SUSE operating system implements SSH to protect the confidentiality and integrity of transmitted and received information, as well as information during preparation for transmission. @@ -1429,7 +1426,7 @@ If "1" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "kernel.kptr_restrict=1" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system prevents leaking of internal kernel addresses. +> sudo sysctl --systemVerify the SUSE operating system prevents leaking of internal kernel addresses. Check that the SUSE operating system prevents leaking of internal kernel addresses by running the following command: @@ -1446,7 +1443,7 @@ If "2" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "kernel.randomize_va_space=2" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system implements ASLR. +> sudo sysctl --systemVerify the SUSE operating system implements ASLR. Check that the SUSE operating system implements ASLR by running the following command: @@ -1455,7 +1452,7 @@ Kernel.randomize_va_space = 2 If the kernel parameter "randomize_va_space" is not equal to "2" or nothing is returned, this is a finding.SRG-OS-000437-GPOS-00194<GroupDescription></GroupDescription>SLES-15-010560The SUSE operating system must remove all outdated software components after updated versions have been installed.<VulnDiscussion>Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by adversaries. Some information technology products may remove older versions of software automatically from the information system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-002617Configure the SUSE operating system to remove all outdated software components after an update by editing the following line in "/etc/zypp/zypp.conf" to match the one provided below: -solver.upgradeRemoveDroppedPackages = trueVerify the SUSE operating system removes all outdated software components after updated version have been installed by running the following command: +solver.upgradeRemoveDroppedPackages = trueVerify the SUSE operating system removes all outdated software components after updated version have been installed by running the following command: > grep -i upgraderemovedroppedpackages /etc/zypp/zypp.conf @@ -1473,7 +1470,7 @@ Create the aide crontab file in "/etc/cron.daily" and add following command repl 0 0 * * * /usr/sbin/aide --check | /bin/mail -s "$HOSTNAME - Daily AIDE integrity check run" root@example_server_name.mil -Note: Per requirement SLES-15-010418, the "mailx" package must be installed on the system to enable email functionality.Verify the SUSE operating system notifies the SA when AIDE discovers anomalies in the operation of any security functions. +Note: Per requirement SLES-15-010418, the "mailx" package must be installed on the system to enable email functionality.Verify the SUSE operating system notifies the SA when AIDE discovers anomalies in the operation of any security functions. Check to see if the aide cron job sends an email when executed with the following command: @@ -1493,7 +1490,7 @@ For networked systems add a "@[Log_Server_IP_Address]" option to every active me An additional option is to capture all of the log messages and send them to a remote log host: -*.* @@loghost:514Verify that the SUSE operating system must off-load rsyslog messages for networked systems in real time and off-load standalone systems at least weekly. +*.* @@loghost:514Verify that the SUSE operating system must off-load rsyslog messages for networked systems in real time and off-load standalone systems at least weekly. For stand-alone hosts, verify with the System Administrator that the log files are off-loaded at least weekly. @@ -1515,7 +1512,7 @@ For every temporary account, run the following command to set an expiration date > sudo chage -E `date -d "+3 days" +%Y-%m-%d` system_account_name -`date -d "+3 days" +%Y-%m-%d` sets the 72-hour expiration date for the account at the time the command is run.Verify that the SUSE operating system provisions temporary accounts with an expiration date for "72" hours. +`date -d "+3 days" +%Y-%m-%d` sets the 72-hour expiration date for the account at the time the command is run.Verify that the SUSE operating system provisions temporary accounts with an expiration date for "72" hours. Ask the System Administrator if any temporary accounts have been added to the system. For every existing temporary account, run the following command to obtain its account expiration information: @@ -1536,7 +1533,7 @@ auth required pam_tally2.so onerr=fail silent audit deny=3 Add or modify the following line in the /etc/pam.d/common-account file: account required pam_tally2.so -Note: Manual changes to the listed files may be overwritten by the "pam-config" program. The "pam-config" program should not be used to update the configurations listed in this requirement.Verify the SUSE operating system locks a user account after three consecutive failed access attempts until the locked account is released by an administrator. +Note: Manual changes to the listed files may be overwritten by the "pam-config" program. The "pam-config" program should not be used to update the configurations listed in this requirement.Verify the SUSE operating system locks a user account after three consecutive failed access attempts until the locked account is released by an administrator. Check that the system locks a user account after three consecutive failed login attempts using the following command: @@ -1558,7 +1555,7 @@ This requirement addresses concurrent sessions for information system accounts a Add the following line to the file "/etc/security/limits.conf": -* hard maxlogins 10Verify the SUSE operating system limits the number of concurrent sessions to 10 for all accounts and/or account types by running the following command: +* hard maxlogins 10Verify the SUSE operating system limits the number of concurrent sessions to 10 for all accounts and/or account types by running the following command: > grep "maxlogins" /etc/security/limits.conf @@ -1580,7 +1577,7 @@ Satisfies: SRG-OS-000068-GPOS-00036, SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPO Add or update "pam_pkcs11.so" in "/etc/pam.d/common-auth" to match the following line: -auth sufficient pam_pkcs11.soVerify the SUSE operating system implements multifactor authentication for remote access to privileged accounts via PAM. +auth sufficient pam_pkcs11.soVerify the SUSE operating system implements multifactor authentication for remote access to privileged accounts via PAM. Check that the "pam_pkcs11.so" option is configured in the "/etc/pam.d/common-auth" file with the following command: @@ -1600,7 +1597,7 @@ Requiring individuals to be authenticated with an individual authenticator prior Edit the appropriate "/etc/ssh/sshd_config" file, add or uncomment the line for "PermitRootLogin" and set its value to "no" (this file may be named differently or be in a different location): -PermitRootLogin noVerify the SUSE operating system denies direct logons to the root account using remote access via SSH. +PermitRootLogin noVerify the SUSE operating system denies direct logons to the root account using remote access via SSH. Check that SSH denies any user trying to log on directly as root with the following command: @@ -1615,7 +1612,7 @@ Run the following command to change the configuration for "useradd" to disable t > sudo useradd -D -f 35 -DOD recommendation is 35 days, but a lower value greater than "0" is acceptable.Verify the SUSE operating system disables account identifiers after 35 days of inactivity since the password expiration. +DOD recommendation is 35 days, but a lower value greater than "0" is acceptable.Verify the SUSE operating system disables account identifiers after 35 days of inactivity since the password expiration. Check the account inactivity value by performing the following command: @@ -1631,7 +1628,7 @@ To address access requirements the SUSE operating system can be integrated with Replace "[Emergency_Administrator]" in the following command with the correct emergency administrator account. Run the following command as an administrator: -> sudo chage -I -1 -M 99999 [Emergency_Administrator]Verify the SUSE operating system is configured such that emergency administrator accounts are never automatically removed or disabled. +> sudo chage -I -1 -M 99999 [Emergency_Administrator]Verify the SUSE operating system is configured such that emergency administrator accounts are never automatically removed or disabled. Note: Root is typically the "account of last resort" on a system and is also used as the example emergency administrator account. If another account is being used as the emergency administrator account, the command should be used against that account. @@ -1645,7 +1642,7 @@ If "Password expires" or "Account expires" is set to anything other than "never" Add the following line to the top of "/etc/pam.d/login": -session required pam_lastlog.so showfailedVerify the SUSE operating system users are provided with feedback on when account accesses last occurred. +session required pam_lastlog.so showfailedVerify the SUSE operating system users are provided with feedback on when account accesses last occurred. Check that "pam_lastlog" is used and not silent with the following command: @@ -1657,7 +1654,7 @@ If "pam_lastlog" is missing from "/etc/pam.d/login" file, the "silent" option is Remove accounts that do not support approved system activities or that allow for a normal user to perform administrative-level actions. -Document all authorized accounts on the system.Verify all SUSE operating system accounts are assigned to an active system, application, or user account. +Document all authorized accounts on the system.Verify all SUSE operating system accounts are assigned to an active system, application, or user account. Obtain the list of authorized system accounts from the Information System Security Officer (ISSO). @@ -1674,7 +1671,7 @@ If the accounts on the system do not match the provided documentation, this is a Run the following command to disable the interactive shell for a specific non-interactive user account: -> sudo usermod --shell /sbin/nologin nobodyVerify all non-interactive SUSE operating system accounts do not have an interactive shell assigned to them. +> sudo usermod --shell /sbin/nologin nobodyVerify all non-interactive SUSE operating system accounts do not have an interactive shell assigned to them. Obtain the list of authorized system accounts from the Information System Security Officer (ISSO). @@ -1686,7 +1683,7 @@ nobody:65534:/bin/bash If a non-interactive accounts such as "games" or "nobody" is listed with an interactive shell, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-020100The SUSE operating system root account must be the only account with unrestricted access to the system.<VulnDiscussion>If an account other than root also has a User Identifier (UID) of "0", it has root authority, giving that account unrestricted access to the entire SUSE operating system. Multiple accounts with a UID of "0" afford an opportunity for potential intruders to guess a password for a privileged account.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Change the UID of any account on the SUSE operating system, other than the root account, that has a UID of "0". -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 of greater than "1000" that has not already been assigned.Verify that the SUSE operating system root account is the only account with unrestricted access to the system. +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 of greater than "1000" that has not already been assigned.Verify that the SUSE operating system root account is the only account with unrestricted access to the system. Check the system for duplicate UID "0" assignments with the following command: @@ -1696,7 +1693,7 @@ root If any accounts other than root have a UID of "0", this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-020101The SUSE operating system must restrict privilege elevation to authorized personnel.<VulnDiscussion>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. If the "sudoers" file is not configured correctly, any user defined on the system can initiate privileged actions on the target system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Remove the following entries from the sudoers file: ALL ALL=(ALL) ALL -ALL ALL=(ALL:ALL) ALLVerify the "sudoers" file restricts sudo access to authorized personnel. +ALL ALL=(ALL:ALL) ALLVerify the "sudoers" file restricts sudo access to authorized personnel. > sudo grep -iw 'ALL' /etc/sudoers /etc/sudoers.d/* If the either of the following entries are returned, this is a finding: @@ -1712,7 +1709,7 @@ Edit the /etc/sudoers file: Add or modify the following line: Defaults timestamp_timeout=[value] -Note: The "[value]" must be a number that is greater than or equal to "0".Verify the operating system requires re-authentication when using the "sudo" command to elevate privileges. +Note: The "[value]" must be a number that is greater than or equal to "0".Verify the operating system requires re-authentication when using the "sudo" command to elevate privileges. > sudo grep -ir 'timestamp_timeout' /etc/sudoers /etc/sudoers.d /etc/sudoers:Defaults timestamp_timeout=0 @@ -1724,7 +1721,7 @@ For more information on each of the listed configurations, reference the sudoers Defaults !targetpw Defaults !rootpw -Defaults !runaspwVerify that the sudoers security policy is configured to use the invoking user's password for privilege escalation. +Defaults !runaspwVerify that the sudoers security policy is configured to use the invoking user's password for privilege escalation. > sudo egrep -ir '(rootpw|targetpw|runaspw)' /etc/sudoers /etc/sudoers.d* | grep -v '#' @@ -1737,7 +1734,7 @@ 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.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-020110All SUSE operating system local interactive user accounts, upon creation, must be assigned a home directory.<VulnDiscussion>If local interactive users are not assigned a valid home directory, there is no place for the storage and control of files they should own.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE 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 yesVerify all SUSE operating system local interactive users on the system are assigned a home directory upon creation. +CREATE_HOME yesVerify all SUSE operating system local interactive users on the system are assigned a home directory upon creation. Check to see if the system is configured to create home directories for local interactive users with the following command: @@ -1748,7 +1745,7 @@ If the value for "CREATE_HOME" parameter is not set to "yes", the line is missin Add or edit the following lines in the "/etc/ssh/sshd_config" file: -PrintLastLog yesVerify all remote connections via SSH to the SUSE operating system display feedback on when account accesses last occurred. +PrintLastLog yesVerify all remote connections via SSH to the SUSE operating system display feedback on when account accesses last occurred. Check that "PrintLastLog" keyword in the sshd daemon configuration file is used and set to "yes" with the following command: @@ -1759,7 +1756,7 @@ If the "PrintLastLog" keyword is set to "no", is missing, or is commented out, t 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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000192Configure the SUSE operating system to enforce password complexity by requiring at least one uppercase character. -Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "ucredit=-1" after the third column.Verify the SUSE operating system enforces password complexity by requiring at least one uppercase character. +Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "ucredit=-1" after the third column.Verify the SUSE operating system enforces password complexity by requiring at least one uppercase character. Check that the operating system enforces password complexity by requiring that at least one uppercase character be used by using the following command: @@ -1770,7 +1767,7 @@ If the command does not return anything, the returned line is commented out, or 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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000193Configure the SUSE operating system to enforce password complexity by requiring at least one lowercase character. -Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "lcredit=-1" after the third column.Verify the SUSE operating system enforces password complexity by requiring that at least one lowercase character. +Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "lcredit=-1" after the third column.Verify the SUSE operating system enforces password complexity by requiring that at least one lowercase character. Check that the operating system enforces password complexity by requiring that at least one lowercase character be used by using the following command: @@ -1781,7 +1778,7 @@ If the command does not return anything, the returned line is commented out, or 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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000194Configure the SUSE operating system to enforce password complexity by requiring at least one numeric character. -Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "dcredit=-1" after the third column.Verify the SUSE operating system enforces password complexity by requiring that at least one numeric character. +Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "dcredit=-1" after the third column.Verify the SUSE operating system enforces password complexity by requiring that at least one numeric character. Check that the operating system enforces password complexity by requiring that at least one numeric character be used by using the following command: @@ -1790,7 +1787,7 @@ password requisite pam_cracklib.so dcredit=-1 If the command does not return anything, the returned line is commented out, or has a second column value different from "requisite", or does not contain "dcredit=-1", this is a finding.SRG-OS-000072-GPOS-00040<GroupDescription></GroupDescription>SLES-15-020160The SUSE operating system must require the change of at least eight of the total number of characters when passwords are changed.<VulnDiscussion>If the SUSE 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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000195Configure the SUSE operating system to require at least eight characters be changed between the old and new passwords during a password change with the following command: -Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "difok=8" after the third column.Verify the SUSE operating system requires at least eight characters be changed between the old and new passwords during a password change. +Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "difok=8" after the third column.Verify the SUSE operating system requires at least eight characters be changed between the old and new passwords during a password change. Check that the operating system requires at least eight characters be changed between the old and new passwords during a password change by running the following command: @@ -1799,7 +1796,7 @@ password requisite pam_cracklib.so difok=8 If the command does not return anything, the returned line is commented out, or has a second column value different from "requisite", or does not contain "difok", or the value is less than "8", this is a finding.SRG-OS-000073-GPOS-00041<GroupDescription></GroupDescription>SLES-15-020170The SUSE operating system must configure the Linux Pluggable Authentication Modules (PAM) to only store encrypted representations of passwords.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000196Configure the SUSE operating system Linux PAM to only store encrypted representations of passwords. All account passwords must be hashed with SHA512 encryption strength. -Edit "/etc/pam.d/common-password" and edit the line containing "pam_unix.so" to contain the SHA512 keyword after third column. Remove the "nullok" option.Verify the SUSE operating system configures the Linux PAM to only store encrypted representations of passwords. All account passwords must be hashed with SHA512 encryption strength. +Edit "/etc/pam.d/common-password" and edit the line containing "pam_unix.so" to contain the SHA512 keyword after third column. Remove the "nullok" option.Verify the SUSE operating system configures the Linux PAM to only store encrypted representations of passwords. All account passwords must be hashed with SHA512 encryption strength. Check that PAM is configured to create SHA512 hashed passwords by running the following command: @@ -1816,7 +1813,7 @@ Edit/modify the following line in the "/etc/login.defs" file and set "ENCRYPT_ME ENCRYPT_METHOD SHA512 -Lock all interactive user accounts not using SHA512 hashing until the passwords can be regenerated.Verify the SUSE operating system requires the shadow password suite configuration be set to encrypt interactive user passwords using a strong cryptographic hash. +Lock all interactive user accounts not using SHA512 hashing until the passwords can be regenerated.Verify the SUSE operating system requires the shadow password suite configuration be set to encrypt interactive user passwords using a strong cryptographic hash. Check that the interactive user account passwords are using a strong password hash with the following command: @@ -1834,7 +1831,7 @@ Satisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061</VulnDiscussion Edit/modify the following line in the "/etc/login.defs" file and set "SHA_CRYPT_MIN_ROUNDS" to a value no lower than "5000": -SHA_CRYPT_MIN_ROUNDS 5000Verify the SUSE operating system configures the shadow password suite configuration to encrypt passwords using a strong cryptographic hash. +SHA_CRYPT_MIN_ROUNDS 5000Verify the SUSE operating system configures the shadow password suite configuration to encrypt passwords using a strong cryptographic hash. Check that a minimum number of hash rounds is configured by running the following command: @@ -1848,7 +1845,7 @@ Edit the file "/etc/login.defs" and add or correct the following line. Replace [ PASS_MIN_DAYS [DAYS] -The DoD requirement is "1" but a greater value is acceptable.Verify the SUSE operating system creates or updates passwords with minimum password age of one day or greater. +The DoD requirement is "1" but a greater value is acceptable.Verify the SUSE operating system creates or updates passwords with minimum password age of one day or greater. To check that the SUSE operating system enforces 24 hours/one day as the minimum password age, run the following command: @@ -1860,7 +1857,7 @@ If no output is produced, or if "PASS_MIN_DAYS" does not have a value of "1" or Change the minimum time period between password changes for each [USER] account to "1" day with the command, replacing [USER] with the user account that must be changed: -> sudo passwd -n 1 [USER]Verify the SUSE operating system enforces a minimum time period between password changes for each user account of one day or greater. +> sudo passwd -n 1 [USER]Verify the SUSE operating system enforces a minimum time period between password changes for each user account of one day or greater. Check the minimum time period between password changes for each user account with the following command: @@ -1874,7 +1871,7 @@ Edit the file "/etc/login.defs" and add or correct the following line. Replace [ PASS_MAX_DAYS [DAYS] -The DoD requirement is 60 days or less (greater than zero, as zero days will lock the account immediately).Verify that the SUSE operating system is configured to create or update passwords with a maximum password age of 60 days or less. +The DoD requirement is 60 days or less (greater than zero, as zero days will lock the account immediately).Verify that the SUSE operating system is configured to create or update passwords with a maximum password age of 60 days or less. Check that the SUSE operating system enforces 60 days or less as the maximum password age with the following command: @@ -1886,7 +1883,7 @@ If no output is produced, or if "PASS_MAX_DAYS" is not set to "60" days or less, > sudo passwd -x 60 [USER] -The DoD requirement is 60 days.Verify that the SUSE operating system enforces a maximum user password age of 60 days or less. +The DoD requirement is 60 days.Verify that the SUSE operating system enforces a maximum user password age of 60 days or less. Check that the SUSE operating system enforces 60 days or less as the maximum user password age with the following command: @@ -1896,7 +1893,7 @@ If any results are returned that are not associated with a system account, this > sudo touch /etc/security/opasswd > sudo chown root:root /etc/security/opasswd -> sudo chmod 0600 /etc/security/opasswdVerify the password history file exists on the SUSE operating system. +> sudo chmod 0600 /etc/security/opasswdVerify the password history file exists on the SUSE operating system. Check that the password history file exists with the following command: @@ -1906,7 +1903,7 @@ Check that the password history file exists with the following command: If "/etc/security/opasswd" does not exist, this is a finding.SRG-OS-000077-GPOS-00045<GroupDescription></GroupDescription>SLES-15-020250The SUSE operating system must not allow passwords to be reused for a minimum of five generations.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000200Configure the SUSE operating system password history to prohibit the reuse of a password for a minimum of five generations. -Edit "/etc/pam.d/common-password" and edit the line containing "pam_pwhistory.so" to contain the option "remember=5 use_authtok" after the third column.Verify the SUSE operating system prohibits the reuse of a password for a minimum of five generations. +Edit "/etc/pam.d/common-password" and edit the line containing "pam_pwhistory.so" to contain the option "remember=5 use_authtok" after the third column.Verify the SUSE operating system prohibits the reuse of a password for a minimum of five generations. Check that the SUSE operating system prohibits the reuse of a password for a minimum of five generations with the following command: @@ -1920,7 +1917,7 @@ Password complexity, or strength, is a measure of the effectiveness of a passwor Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "minlen=15" after the third column. -The DoD standard requires a minimum 15-character password length.Verify the SUSE operating system enforces a minimum 15-character password length. +The DoD standard requires a minimum 15-character password length.Verify the SUSE operating system enforces a minimum 15-character password length. Check that the operating system enforces a minimum 15-character password length with the following command: @@ -1933,7 +1930,7 @@ Password complexity is one factor in determining how long it takes to crack a pa Special characters are not alphanumeric. Examples include: ~ ! @ # $ % ^ *.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001619Configure the SUSE operating system to enforce password complexity by requiring at least one special character. -Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "ocredit=-1" after the third column.Verify the SUSE operating system enforces password complexity by requiring at least one special character. +Edit "/etc/pam.d/common-password" and edit the line containing "pam_cracklib.so" to contain the option "ocredit=-1" after the third column.Verify the SUSE operating system enforces password complexity by requiring at least one special character. Check that the operating system enforces password complexity by requiring at least one special character using the following command: @@ -1944,7 +1941,7 @@ If the command does not return anything, the returned line is commented out, or Edit "/etc/pam.d/common-password" and add the following line: -password requisite pam_cracklib.soVerify the SUSE operating system prevents the use of dictionary words for passwords. +password requisite pam_cracklib.soVerify the SUSE operating system prevents the use of dictionary words for passwords. Check that the SUSE operating system prevents the use of dictionary words for passwords with the following command: @@ -1953,7 +1950,7 @@ password requisite pam_cracklib.so If the command does not return anything, or the returned line is commented out, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-020300The SUSE operating system must not be configured to allow blank or null passwords.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system to not allow blank or null passwords. -Remove any instances of the "nullok" option in "/etc/pam.d/common-auth" and "/etc/pam.d/common-password" to prevent logons with empty passwords.Verify the SUSE operating system is not configured to allow blank or null passwords. +Remove any instances of the "nullok" option in "/etc/pam.d/common-auth" and "/etc/pam.d/common-password" to prevent logons with empty passwords.Verify the SUSE operating system is not configured to allow blank or null passwords. Check that blank or null passwords cannot be used by running the following command: @@ -1977,7 +1974,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record when all modifications occur to the "/etc/passwd" file. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record when all modifications occur to the "/etc/passwd" file. Check that the file is being audited by performing the following command: @@ -2004,7 +2001,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record when modifications occur to the "/etc/group" file. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record when modifications occur to the "/etc/group" file. Check that the file is being audited by performing the following command: @@ -2031,7 +2028,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record when modifications occur to the "/etc/shadow" file. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record when modifications occur to the "/etc/shadow" file. Check that the file is being audited by performing the following command: @@ -2058,7 +2055,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record when modifications occur to the "/etc/security/opasswd" file. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record when modifications occur to the "/etc/security/opasswd" file. Check that the file is being audited by performing the following command: @@ -2085,7 +2082,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record when all modifications occur to the "/etc/gshadow" file. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record when all modifications occur to the "/etc/gshadow" file. Check that the file is being audited by performing the following command: @@ -2105,7 +2102,7 @@ Associating event types with detected events in the SUSE operating system audit Satisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPOS-00016, SRG-OS-000039-GPOS-00017, SRG-OS-000040-GPOS-00018, SRG-OS-000041-GPOS-00019, SRG-OS-000042-GPOS-00021, SRG-OS-000051-GPOS-00024, SRG-OS-000054-GPOS-00025, SRG-OS-000122-GPOS-00063, SRG-OS-000254-GPOS-00095, SRG-OS-000255-GPOS-00096, SRG-OS-000392-GPOS-00172</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000130CCI-000131CCI-000132CCI-000133CCI-000134CCI-000135CCI-000154CCI-000158CCI-001464CCI-001487CCI-001876CCI-002884Enable the SUSE operating system auditd service by performing the following commands: > sudo systemctl enable auditd.service -> sudo systemctl start auditd.serviceVerify the SUSE operating system produces audit records. +> sudo systemctl start auditd.serviceVerify the SUSE operating system produces audit records. Check that the SUSE operating system produces audit records by running the following command to determine the current status of the auditd service: @@ -2131,7 +2128,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "ssh-keysign" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "ssh-keysign" command. Check that the command is being audited by performing the following command: @@ -2158,7 +2155,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "passwd" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "passwd" command. Check that the command is being audited by performing the following command: @@ -2185,7 +2182,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "gpasswd" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "gpasswd" command. Check that the command is being audited by performing the following command: @@ -2212,7 +2209,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "newgrp" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "newgrp" command. Check that the command is being audited by performing the following command: @@ -2239,7 +2236,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chsh" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chsh" command. Check that the command is being audited by performing the following command: @@ -2267,7 +2264,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "unix_chkpwd" or "unix2_chkpwd" commands. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "unix_chkpwd" or "unix2_chkpwd" commands. Check that the commands are being audited by performing the following command: @@ -2295,7 +2292,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "chage" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "chage" command. Check that the command is being audited by performing the following command: @@ -2322,7 +2319,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "crontab" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "crontab" command. Check that the command is being audited by performing the following command: @@ -2351,7 +2348,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the operating system generates audit records when successful/unsuccessful attempts to access the "/etc/sudoers" file and files in the "/etc/sudoers.d/" directory. +> sudo augenrules --loadVerify the operating system generates audit records when successful/unsuccessful attempts to access the "/etc/sudoers" file and files in the "/etc/sudoers.d/" directory. Check that the file and directory is being audited by performing the following command: @@ -2383,7 +2380,7 @@ To reload the rules file, restart the audit daemon: or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "creat", "open", "openat", "open_by_handle_at", "truncate", and "ftruncate" system calls. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "creat", "open", "openat", "open_by_handle_at", "truncate", and "ftruncate" system calls. Check that the system calls are being audited by performing the following command: @@ -2419,7 +2416,7 @@ To reload the rules file, restart the audit daemon: or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "setxattr", "fsetxattr", "lsetxattr", "removexattr", "fremovexattr", and "lremovexattr" system calls. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "setxattr", "fsetxattr", "lsetxattr", "removexattr", "fremovexattr", and "lremovexattr" system calls. Check that the system calls are being audited by performing the following command: @@ -2448,7 +2445,7 @@ To reload the rules file, restart the audit daemon: or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chown", "fchown", "fchownat", and "lchown" system calls. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chown", "fchown", "fchownat", and "lchown" system calls. Check that the system calls are being audited by performing the following command: @@ -2477,7 +2474,7 @@ To reload the rules file, restart the audit daemon: or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chmod", "fchmod" a,nd "fchmodat" system calls. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chmod", "fchmod" a,nd "fchmodat" system calls. Check that the system calls are being audited by performing the following command: @@ -2505,7 +2502,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify an audit record is generated for all uses of the "sudoedit" command. +> sudo augenrules --loadVerify an audit record is generated for all uses of the "sudoedit" command. Check that the command is being audited by performing the following command: @@ -2532,7 +2529,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chfn" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chfn" command. Check that the command is being audited by performing the following command: @@ -2560,7 +2557,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "mount" system call. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "mount" system call. Check that the system call is being audited by performing the following command: @@ -2590,7 +2587,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "umount" and "umount2" system calls. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "umount" and "umount2" system calls. Check that the system calls are being audited by performing the following command: @@ -2619,7 +2616,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "ssh-agent" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "ssh-agent" command. Check that the command is being audited by performing the following command: @@ -2656,7 +2653,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system is generates an audit record for all uses of the "insmod" command. +> sudo augenrules --loadVerify the SUSE operating system is generates an audit record for all uses of the "insmod" command. Check that the command is being audited by performing the following command: @@ -2695,7 +2692,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "rmmod" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "rmmod" command. Check that the command is being audited by performing the following command: @@ -2734,7 +2731,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "modprobe" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "modprobe" command. Check that the command is being audited by performing the following command: @@ -2773,7 +2770,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "kmod" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "kmod" command. Check that the command is being audited by performing the following command: @@ -2802,7 +2799,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chmod" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chmod" command. Check that the command is being audited by performing the following command: @@ -2829,7 +2826,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "setfacl" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "setfacl" command. Check that the command is being audited by performing the following command: @@ -2856,7 +2853,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chacl" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chacl" command. Check that the command is being audited by performing the following command: @@ -2883,7 +2880,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chcon" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "chcon" command. Check that the command is being audited by performing the following command: @@ -2910,7 +2907,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "rm" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "rm" command. Check that the command is being audited by performing the following command: @@ -2937,7 +2934,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record when all modifications to the "tallylog" file occur. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record when all modifications to the "tallylog" file occur. Check that the file is being audited by performing the following command: @@ -2964,7 +2961,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record when all modifications to the "lastlog" file occur. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record when all modifications to the "lastlog" file occur. Check that the file is being audited by performing the following command: @@ -2991,7 +2988,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "passmass" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "passmass" command. Check that the command is being audited by performing the following command: @@ -3018,7 +3015,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "usermod" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "usermod" command. Check that the command is being audited by performing the following command: @@ -3045,7 +3042,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "pam_timestamp_check" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "pam_timestamp_check" command. Check that the command is being audited by performing the following command: @@ -3073,7 +3070,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "delete_module" system call. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "delete_module" system call. Check that the system call is being audited by performing the following command: @@ -3102,7 +3099,7 @@ To reload the rules file, restart the audit daemon: or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "init_module" and "finit_module" system calls. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "init_module" and "finit_module" system calls. Check that the system calls are being audited by performing the following command: @@ -3130,7 +3127,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "su" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "su" command. Check that the command is being audited by performing the following command: @@ -3157,7 +3154,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "sudo" command. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any use of the "sudo" command. Check that the command is being audited by performing the following command: @@ -3176,7 +3173,7 @@ This requirement applies to each audit data storage repository (i.e., distinct i Edit the following line in "/etc/audit/auditd.conf" to ensure that administrators are notified via email for those situations: -action_mail_acct = rootVerify the administrators are notified in the event of a SUSE operating system audit processing failure by inspecting "/etc/audit/auditd.conf". +action_mail_acct = rootVerify the administrators are notified in the event of a SUSE operating system audit processing failure by inspecting "/etc/audit/auditd.conf". Check if the system is configured to send email to an account when it needs to notify an administrator with the following command: @@ -3200,7 +3197,7 @@ Configure an alias for root that forwards to a monitored email address with the The following command must be run to implement changes to the /etc/aliases file: -> sudo newaliasesVerify the administrators are notified in the event of a SUSE operating system audit processing failure by checking that "/etc/aliases" has a defined value for root. +> sudo newaliasesVerify the administrators are notified in the event of a SUSE operating system audit processing failure by checking that "/etc/aliases" has a defined value for root. > grep -i "^postmaster:" /etc/aliases @@ -3223,7 +3220,7 @@ When availability is an overriding concern, other approved actions in response t Add or update the following line (depending on configuration "disk_full_action" can be set to "SYSLOG", "SINGLE", or "HALT" depending on configuration) in "/etc/audit/auditd.conf" file: -disk_full_action = HALTVerify the SUSE operating system takes the appropriate action when the audit storage volume is full. +disk_full_action = HALTVerify the SUSE operating system takes the appropriate action when the audit storage volume is full. Check that the SUSE operating system takes the appropriate action when the audit storage volume is full with the following command: @@ -3244,7 +3241,7 @@ Add or update the following rules in "/etc/permissions.local": Set the correct permissions with the following command: -> sudo chkstat --set /etc/permissions.localVerify that the SUSE operating system protects audit rules from unauthorized modification. +> sudo chkstat --set /etc/permissions.localVerify that the SUSE operating system protects audit rules from unauthorized modification. Check that "permissions.local" file contains the correct permissions rules with the following command: @@ -3281,7 +3278,7 @@ Edit the file "/etc/permissions.local" and insert the following text: Set the correct permissions with the following command: -> sudo chkstat --set /etc/permissions.localVerify that the SUSE operating system audit tools have the proper permissions configured in the permissions profile to protect from unauthorized access. +> sudo chkstat --set /etc/permissions.localVerify that the SUSE operating system audit tools have the proper permissions configured in the permissions profile to protect from unauthorized access. Check that "permissions.local" file contains the correct permissions rules with the following command: @@ -3318,7 +3315,7 @@ Add or update the following lines to "/etc/aide.conf" to protect the integrity o /usr/sbin/aureport p+i+n+u+g+s+b+acl+selinux+xattrs+sha512 /usr/sbin/autrace p+i+n+u+g+s+b+acl+selinux+xattrs+sha512 /usr/sbin/audispd p+i+n+u+g+s+b+acl+selinux+xattrs+sha512 -/usr/sbin/augenrules p+i+n+u+g+s+b+acl+selinux+xattrs+sha512Verify that the SUSE operating system file integrity tool is configured to protect the integrity of the audit tools. +/usr/sbin/augenrules p+i+n+u+g+s+b+acl+selinux+xattrs+sha512Verify that the SUSE operating system file integrity tool is configured to protect the integrity of the audit tools. Check that AIDE is properly configured to protect the integrity of the audit tools by running the following command: @@ -3351,7 +3348,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any privileged use of the "execve" system call. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for any privileged use of the "execve" system call. > sudo auditctl -l | grep -w 'execve' @@ -3373,7 +3370,7 @@ Associating event types with detected events in the SUSE operating system audit Satisfies: SRG-OS-000337-GPOS-00129, SRG-OS-000348-GPOS-00136, SRG-OS-000349-GPOS-00137, SRG-OS-000350-GPOS-00138, SRG-OS-000351-GPOS-00139, SRG-OS-000352-GPOS-00140, SRG-OS-000353-GPOS-00141, SRG-OS-000354-GPOS-00142, SRG-OS-000358-GPOS-00145, SRG-OS-000359-GPOS-00146, SRG-OS-000365-GPOS-00152, SRG-OS-000474-GPOS-00219, SRG-OS-000475-GPOS-00220</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000172CCI-001814CCI-001875CCI-001877CCI-001878CCI-001879CCI-001880CCI-001881CCI-001882CCI-001889CCI-001914The SUSE operating system auditd package must be installed on the system. If it is not installed, use the following command to install it: -> sudo zypper in auditVerify the SUSE operating system auditing package is installed. +> sudo zypper in auditVerify the SUSE operating system auditing package is installed. Check that the "audit" package is installed by performing the following command: @@ -3387,7 +3384,7 @@ The task of allocating audit record storage capacity is usually performed during If audit records are stored on a partition made specifically for audit records, use the "YaST2 - Partitioner" program (installation and configuration tool for Linux) to resize the partition with sufficient space to contain one week of audit records. -If audit records are not stored on a partition made specifically for audit records, a new partition with sufficient amount of space will need be to be created. The new partition can be created using the "YaST2 - Partitioner" program on the system.Verify the SUSE operating system allocates audit record storage capacity to store at least one week of audit records when audit records are not immediately sent to a central audit record storage facility. +If audit records are not stored on a partition made specifically for audit records, a new partition with sufficient amount of space will need be to be created. The new partition can be created using the "YaST2 - Partitioner" program on the system.Verify the SUSE operating system allocates audit record storage capacity to store at least one week of audit records when audit records are not immediately sent to a central audit record storage facility. Determine to which partition the audit records are being written with the following command: @@ -3410,7 +3407,7 @@ If the audit record partition is not allocated sufficient storage capacity, this > sudo zypper install audit-audispd-plugins -In "/etc/audisp/plugins.d/au-remote.conf", change the value of "active" to "yes", or add "active = yes" if no such setting exists in the file.Verify that the "audit-audispd-plugins" package is installed on the SUSE operating system. +In "/etc/audisp/plugins.d/au-remote.conf", change the value of "active" to "yes", or add "active = yes" if no such setting exists in the file.Verify that the "audit-audispd-plugins" package is installed on the SUSE operating system. Check that the "audit-audispd-plugins" package is installed on the SUSE operating system with the following command: @@ -3429,7 +3426,7 @@ Allowing devices and users to connect to or from the system without first authen Edit or add the following line to match the text below: -enable_krb5 = yesDetermine if the SUSE operating system audit event multiplexor is configured to use Kerberos by running the following command: +enable_krb5 = yesDetermine if the SUSE operating system audit event multiplexor is configured to use Kerberos by running the following command: > sudo grep enable_krb5 /etc/audisp/audisp-remote.conf enable_krb5 = yes @@ -3438,7 +3435,7 @@ If "enable_krb5" is not set to "yes", or is commented out, this is a finding.DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001851Configure the SUSE operating system "/etc/audisp/audisp-remote.conf" file to off-load audit records onto a different system or media by adding or editing the following line with the correct IP address: -remote_server = [IP ADDRESS]Verify "audispd" off-loads audit records onto a different system or media from the SUSE operating system being audited. +remote_server = [IP ADDRESS]Verify "audispd" off-loads audit records onto a different system or media from the SUSE operating system being audited. Check if "audispd" is configured to off-load audit records onto a different system or media from the SUSE operating system by running the following command: @@ -3453,7 +3450,7 @@ Determine the size of the partition to which audit records are written (e.g., "/ > df -h /var/log/audit/ -Set the value of the "space_left" keyword in "/etc/audit/auditd.conf" to 25 percent of the partition size.Determine if the SUSE operating system auditd is configured to notify the SA and ISSO when the audit record storage volume reaches 75 percent of the storage capacity. +Set the value of the "space_left" keyword in "/etc/audit/auditd.conf" to 25 percent of the partition size.Determine if the SUSE operating system auditd is configured to notify the SA and ISSO when the audit record storage volume reaches 75 percent of the storage capacity. Check the system configuration to determine the partition to which audit records are written using the following command: @@ -3490,7 +3487,7 @@ To reload the rules file, restart the audit daemon: or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "unlink", "unlinkat", "rename", "renameat", and "rmdir" system calls. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for all uses of the "unlink", "unlinkat", "rename", "renameat", and "rmdir" system calls. Check that the system calls are being audited by performing the following command: @@ -3516,7 +3513,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for the "/run/utmp" file. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for the "/run/utmp" file. Check that the file is being audited by performing the following command: @@ -3541,7 +3538,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for the "/var/log/wtmp" file. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for the "/var/log/wtmp" file. Check that the file is being audited by performing the following command: @@ -3566,7 +3563,7 @@ To reload the rules file, restart the audit daemon or issue the following command: -> sudo augenrules --loadVerify the SUSE operating system generates an audit record for the "/var/log/btmp" file. +> sudo augenrules --loadVerify the SUSE operating system generates an audit record for the "/var/log/btmp" file. Check that the file is being audited by performing the following command: @@ -3583,7 +3580,7 @@ Off-loading is a common process in information systems with limited audit storag Uncomment the "network_failure_action" option in "/etc/audisp/audisp-remote.conf" and set it to "syslog", "single", or "halt". See the example below: -network_failure_action = syslogVerify what action the audit system takes if it cannot off-load audit records to a different system or storage media from the SUSE operating system being audited. +network_failure_action = syslogVerify what action the audit system takes if it cannot off-load audit records to a different system or storage media from the SUSE operating system being audited. Check the action that the audit system takes in the event of a network failure with the following command: @@ -3597,14 +3594,14 @@ Off-loading is a common process in information systems with limited audit storag Add, edit, or uncomment the "disk_full_action" option in "/etc/audisp/audisp-remote.conf". Set it to "syslog", "single" or "halt" as in the example below: -disk_full_action = syslogVerify the audit system off-loads audit records if the SUSE operating system storage volume becomes full. +disk_full_action = syslogVerify the audit system off-loads audit records if the SUSE operating system storage volume becomes full. Check that the records are properly off-loaded to a remote server with the following command: > sudo grep -i "disk_full_action" /etc/audisp/audisp-remote.conf disk_full_action = syslog -If "disk_full_action" is not set to "syslog", "single", or "halt" or the line is commented out, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-030810The SUSE operating system must use a separate file system for the system audit data path.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Migrate the SUSE operating system audit data path onto a separate file system.Verify that the SUSE operating system has a separate file system/partition for the system audit data path. +If "disk_full_action" is not set to "syslog", "single", or "halt" or the line is commented out, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-030810The SUSE operating system must use a separate file system for the system audit data path.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Migrate the SUSE operating system audit data path onto a separate file system.Verify that the SUSE operating system has a separate file system/partition for the system audit data path. Check that a file system/partition has been created for the system audit data path with the following command: @@ -3619,7 +3616,7 @@ If a separate file system/partition does not exist for the system audit data pat The audit daemon must be restarted for the changes to take effect. -> sudo systemctl restart auditd.serviceVerify syscall auditing has not been disabled: +> sudo systemctl restart auditd.serviceVerify syscall auditing has not been disabled: > auditctl -l | grep -i "a task,never" @@ -3633,7 +3630,7 @@ If any results are returned, this is a finding.Verify the SUSE operating system enforces a delay of at least four seconds between logon prompts following a failed logon attempt. +FAIL_DELAY 4Verify the SUSE operating system enforces a delay of at least four seconds between logon prompts following a failed logon attempt. Check that the SUSE operating system enforces a delay of at least four seconds between logon prompts following a failed logon attempt with the following command: @@ -3647,14 +3644,14 @@ Edit the file "/etc/pam.d/common-auth". Add a parameter "pam_faildelay" and set it to: > delay is in micro seconds -auth required pam_faildelay.so delay=4000000Verify the SUSE operating system enforces a delay of at least four seconds between logon prompts following a failed logon attempt. +auth required pam_faildelay.so delay=4000000Verify the SUSE operating system enforces a delay of at least four seconds between logon prompts following a failed logon attempt. > grep pam_faildelay /etc/pam.d/common-auth auth required pam_faildelay.so delay=4000000 If the value of "delay" is not set to "4000000", "delay" is commented out, "delay" is missing, or the "pam_faildelay" line is missing completely, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040020There must be no .shosts files on the SUSE operating system.<VulnDiscussion>The .shosts files are used to configure host-based authentication for individual users or the system via SSH. Host-based authentication is not sufficient for preventing unauthorized access to the system, as it does not require interactive identification and authentication of a connection request, or for the use of two-factor authentication.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Remove any ".shosts" files found on the SUSE operating system. -> sudo rm /[path]/[to]/[file]/.shostsText: Verify there are no ".shosts" files on the SUSE operating system. +> sudo rm /[path]/[to]/[file]/.shostsText: Verify there are no ".shosts" files on the SUSE operating system. Check the system for the existence of these files with the following command: @@ -3662,7 +3659,7 @@ Check the system for the existence of these files with the following command: If any ".shosts" files are found on the system, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040030There must be no shosts.equiv files on the SUSE operating system.<VulnDiscussion>The shosts.equiv files are used to configure host-based authentication for the system via SSH. Host-based authentication is not sufficient for preventing unauthorized access to the system, as it does not require interactive identification and authentication of a connection request, or for the use of two-factor authentication.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Remove any "shosts.equiv" files found on the SUSE operating system. -> sudo rm /[path]/[to]/[file]/shosts.equivVerify there are no "shosts.equiv" files on the SUSE operating system. +> sudo rm /[path]/[to]/[file]/shosts.equivVerify there are no "shosts.equiv" files on the SUSE operating system. Check the system for the existence of these files with the following command: @@ -3670,7 +3667,7 @@ Check the system for the existence of these files with the following command: If any "shosts.equiv" files are found on the system, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040040The SUSE operating system file integrity tool must be configured to verify Access Control Lists (ACLs).<VulnDiscussion>ACLs can provide permissions beyond those permitted through the file mode and must be verified by file integrity tools.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system file integrity tool to check file and directory ACLs. -If AIDE is installed, ensure the "acl" rule is present on all file and directory selection lists.Verify that the SUSE operating system file integrity tool is configured to verify extended attributes. +If AIDE is installed, ensure the "acl" rule is present on all file and directory selection lists.Verify that the SUSE operating system file integrity tool is configured to verify extended attributes. If there is no application installed to perform integrity checks, this is a finding. @@ -3684,7 +3681,7 @@ An example rule that includes the "acl" rule follows: If the "acl" rule is not being used on all selection lines in the "/etc/aide.conf" file, or extended attributes are not being checked by another file integrity tool, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040050The SUSE operating system file integrity tool must be configured to verify extended attributes.<VulnDiscussion>Extended attributes in file systems are used to contain arbitrary data and file metadata with security implications.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system file integrity tool to check file and directory extended attributes. -If AIDE is installed, ensure the "xattrs" rule is present on all file and directory selection lists.Verify that the SUSE operating system file integrity tool is configured to verify extended attributes. +If AIDE is installed, ensure the "xattrs" rule is present on all file and directory selection lists.Verify that the SUSE operating system file integrity tool is configured to verify extended attributes. If there is no application installed to perform integrity checks, this is a finding. @@ -3704,7 +3701,7 @@ If the "xattrs" rule is not being used on all selection lines in the "/etc/aide. And reload the daemon to take effect -> sudo systemctl daemon-reloadVerify the SUSE operating system is not configured to reboot the system when Ctrl-Alt-Delete is pressed. +> sudo systemctl daemon-reloadVerify the SUSE operating system is not configured to reboot the system when Ctrl-Alt-Delete is pressed. Check that the ctrl-alt-del.target is masked with the following command: @@ -3741,7 +3738,7 @@ logout=[''] 4. Update the dconf database: -> sudo dconf updateNote: If a graphical user interface is not installed, this requirement is Not Applicable. +> sudo dconf updateNote: If a graphical user interface is not installed, this requirement is Not Applicable. Verify the SUSE operating system is not configured to reboot the system when Ctrl-Alt-Delete is pressed in the graphical user interface. @@ -3766,7 +3763,7 @@ CtrlAltDelBurstAction=none Reload the daemon for this change to take effect -> sudo systemctl daemon-reloadVerify the SUSE operating system is not configured to reboot the system when Ctrl-Alt-Delete is pressed seven times within two seconds with the following command: +> sudo systemctl daemon-reloadVerify the SUSE operating system is not configured to reboot the system when Ctrl-Alt-Delete is pressed seven times within two seconds with the following command: > sudo grep -i ctrl /etc/systemd/system.conf @@ -3776,7 +3773,7 @@ If the "CtrlAltDelBurstAction" is not set to "none", commented out, or is missin Assign a home directory to users via the usermod command: -> sudo usermod -d /home/smithj smithjVerify SUSE operating system local interactive users on the system have a home directory assigned. +> sudo usermod -d /home/smithj smithjVerify SUSE operating system local interactive users on the system have a home directory assigned. Check for missing local interactive user home directories with the following command: @@ -3794,7 +3791,7 @@ Note: The example will be for the user smithj, who has a home directory of "/hom > sudo mkdir /home/smithj > sudo chown smithj /home/smithj > sudo chgrp users /home/smithj -> sudo chmod 0750 /home/smithjVerify the assigned home directory of all SUSE operating system local interactive users on the system exists. +> sudo chmod 0750 /home/smithjVerify the assigned home directory of all SUSE operating system local interactive users on the system exists. Check the home directory assignment for all local interactive non-privileged users on the system with the following command: @@ -3814,7 +3811,7 @@ If any home directories referenced in "/etc/passwd" are returned as not defined, Note: The example will be for the user "smithj". -> sudo chmod 0750 /home/smithjVerify the assigned home directory of all SUSE operating system local interactive users has a mode of "0750" or less permissive. +> sudo chmod 0750 /home/smithjVerify the assigned home directory of all SUSE operating system local interactive users has a mode of "0750" or less permissive. Check the home directory assignment for all non-privileged users on the system with the following command: @@ -3827,7 +3824,7 @@ If home directories referenced in "/etc/passwd" do not have a mode of "0750" or Note: The example will be for the user "smithj", who has a home directory of "/home/smithj", and has a primary group of users. -> sudo chgrp users /home/smithjVerify the assigned home directory of all SUSE operating system local interactive users is group-owned by that user's primary GID. +> sudo chgrp users /home/smithjVerify the assigned home directory of all SUSE operating system local interactive users is group-owned by that user's primary GID. Check the home directory assignment for all non-privileged users on the system with the following command: @@ -3845,7 +3842,7 @@ If the user home directory referenced in "/etc/passwd" is not group-owned by tha Note: The example will be for the smithj user, who has a home directory of "/home/smithj". -> sudo chmod 0740 /home/smithj/.<INIT_FILE>Verify that all SUSE operating system local initialization files have a mode of "0740" or less permissive. +> sudo chmod 0740 /home/smithj/.<INIT_FILE>Verify that all SUSE operating system local initialization files have a mode of "0740" or less permissive. Check the mode on all SUSE operating system local initialization files with the following command: @@ -3856,7 +3853,7 @@ Note: The example will be for the user "smithj", who has a home directory of "/h -rwxr-xr-x 1 smithj users 497 Jan 6 2007 .login -rwxr-xr-x 1 smithj users 886 Jan 6 2007 .something -If any local initialization files have a mode more permissive than "0740", this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040120All SUSE operating system local interactive user initialization files executable search paths must contain only paths that resolve to the users home directory.<VulnDiscussion>The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory (other than the user's home directory), executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is interpreted as the current working directory. If deviations from the default system search path for the local interactive user are required, they must be documented with the Information System Security Officer (ISSO).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Edit the SUSE operating system local interactive user initialization files to change any PATH variable statements for executables that reference directories other than their home directory. If a local interactive user requires path variables to reference a directory owned by the application, it must be documented with the ISSO.Verify that all SUSE operating system local interactive user initialization files executable search path statements do not contain statements that will reference a working directory other than the user's home directory. +If any local initialization files have a mode more permissive than "0740", this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040120All SUSE operating system local interactive user initialization files executable search paths must contain only paths that resolve to the users home directory.<VulnDiscussion>The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory (other than the user's home directory), executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is interpreted as the current working directory. If deviations from the default system search path for the local interactive user are required, they must be documented with the Information System Security Officer (ISSO).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Edit the SUSE operating system local interactive user initialization files to change any PATH variable statements for executables that reference directories other than their home directory. If a local interactive user requires path variables to reference a directory owned by the application, it must be documented with the ISSO.Verify that all SUSE operating system local interactive user initialization files executable search path statements do not contain statements that will reference a working directory other than the user's home directory. Check the executable search path statement for all operating system local interactive user initialization files in the user's home directory with the following commands: @@ -3867,7 +3864,7 @@ Note: The example will be for the user "smithj", who has a home directory of "/h If any local interactive user initialization files have executable search path statements that include directories outside of their home directory, and the additional path statements are not documented with the ISSO as an operational requirement, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040130All SUSE operating system local initialization files must not execute world-writable programs.<VulnDiscussion>If user start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to destroy user files or otherwise compromise the system at the user level. If the system is compromised at the user level, it is easier to elevate privileges to eventually compromise the system at the root and network level.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Remove the references to these files in the local initialization scripts or remove the world-writable permission of files referenced by SUSE operating system local initialization scripts with the following command: -> sudo chmod 0755 <file>Verify that SUSE operating system local initialization files do not execute world-writable programs. +> sudo chmod 0755 <file>Verify that SUSE operating system local initialization files do not execute world-writable programs. Verify that SUSE operating system local initialization files do not execute world-writable programs. @@ -3889,7 +3886,7 @@ files, this is a finding.Verify that SUSE operating system file systems that contain user home directories are mounted with the "nosuid" option. +> sudo mount -o remount /homeVerify that SUSE operating system file systems that contain user home directories are mounted with the "nosuid" option. Print the currently active file system mount options of the file system(s) that contain the user home directories with the following command: @@ -3898,7 +3895,7 @@ Print the currently active file system mount options of the file system(s) that If a file system containing user home directories is not mounted with the FSTYPE OPTION nosuid, this is a finding. -Note: If a separate file system has not been created for the user home directories (user home directories are mounted under "/"), this is not a finding as the "nosuid" option cannot be used on the "/" system.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040150SUSE operating system file systems that are used with removable media must be mounted to prevent files with the setuid and setgid bit set from being executed.<VulnDiscussion>The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system "/etc/fstab" file to use the "nosuid" option on file systems that are associated with removable media.Verify SUSE operating system file systems used for removable media are mounted with the "nosuid" option. +Note: If a separate file system has not been created for the user home directories (user home directories are mounted under "/"), this is not a finding as the "nosuid" option cannot be used on the "/" system.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040150SUSE operating system file systems that are used with removable media must be mounted to prevent files with the setuid and setgid bit set from being executed.<VulnDiscussion>The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system "/etc/fstab" file to use the "nosuid" option on file systems that are associated with removable media.Verify SUSE operating system file systems used for removable media are mounted with the "nosuid" option. Check the file systems that are mounted at boot time with the following command: @@ -3906,7 +3903,7 @@ Check the file systems that are mounted at boot time with the following command: UUID=2bc871e4-e2a3-4f29-9ece-3be60c835222 /mnt/usbflash vfat noauto,owner,ro,nosuid 0 0 -If a file system found in "/etc/fstab" refers to removable media and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040160SUSE operating system file systems that are being imported via Network File System (NFS) must be mounted to prevent files with the setuid and setgid bit set from being executed.<VulnDiscussion>The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system "/etc/fstab" file to use the "nosuid" option on file systems that are being exported via NFS.Verify SUSE operating system file systems that are being NFS exported are mounted with the "nosuid" option. +If a file system found in "/etc/fstab" refers to removable media and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040160SUSE operating system file systems that are being imported via Network File System (NFS) must be mounted to prevent files with the setuid and setgid bit set from being executed.<VulnDiscussion>The "nosuid" mount option causes the system to not execute "setuid" and "setgid" files with owner privileges. This option must be used for mounting any file system not containing approved "setuid" and "setguid" files. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system "/etc/fstab" file to use the "nosuid" option on file systems that are being exported via NFS.Verify SUSE operating system file systems that are being NFS exported are mounted with the "nosuid" option. Find the file system(s) that contain the directories being exported with the following command: @@ -3914,7 +3911,7 @@ Find the file system(s) that contain the directories being exported with the fol UUID=e06097bb-cfcd-437b-9e4d-a691f5662a7d /store nfs rw,nosuid 0 0 -If a file system found in "/etc/fstab" refers to NFS and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040170SUSE operating system file systems that are being imported via Network File System (NFS) must be mounted to prevent binary files from being executed.<VulnDiscussion>The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system "/etc/fstab" file to use the "noexec" option on file systems that are being exported via NFS.Verify the SUSE operating system file systems that are being NFS exported are mounted with the "noexec" option. +If a file system found in "/etc/fstab" refers to NFS and it does not have the "nosuid" option set, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040170SUSE operating system file systems that are being imported via Network File System (NFS) must be mounted to prevent binary files from being executed.<VulnDiscussion>The "noexec" mount option causes the system to not execute binary files. This option must be used for mounting any file system not containing approved binary files, as they may be incompatible. Executing files from untrusted file systems increases the opportunity for unprivileged users to attain unauthorized administrative access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the SUSE operating system "/etc/fstab" file to use the "noexec" option on file systems that are being exported via NFS.Verify the SUSE operating system file systems that are being NFS exported are mounted with the "noexec" option. Find the file system(s) that contain the directories being exported with the following command: @@ -3926,7 +3923,7 @@ If a file system found in "/etc/fstab" refers to NFS and it does not have the "n The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage, (e.g., /tmp), and for directories requiring global read/write access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Change the group of the SUSE operating system world-writable directories to root with the following command: -> sudo chgrp root <directory>Verify all SUSE operating system world-writable directories are group-owned by root, sys, bin, or an application group. +> sudo chgrp root <directory>Verify all SUSE operating system world-writable directories are group-owned by root, sys, bin, or an application group. Check the system for world-writable directories with the following command: @@ -3939,7 +3936,7 @@ If any world-writable directories are not owned by root, sys, bin, or an applica > sudo systemctl disable kdump.service -If kernel core dumps are required, document the need with the ISSO.Verify that SUSE operating system kernel core dumps are disabled unless needed. +If kernel core dumps are required, document the need with the ISSO.Verify that SUSE operating system kernel core dumps are disabled unless needed. Check the status of the "kdump" service with the following command: @@ -3951,7 +3948,7 @@ If the "kdump" service is active, ask the System Administrator if the use of the If the service is active and is not documented, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040200A separate file system must be used for SUSE operating system user home directories (such as /home or an equivalent).<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Create a separate file system/partition for SUSE operating system non-privileged local interactive user home directories. -Migrate the non-privileged local interactive user home directories onto the separate file system/partition.Verify that a separate file system/partition has been created for SUSE operating system non-privileged local interactive user home directories. +Migrate the non-privileged local interactive user home directories onto the separate file system/partition.Verify that a separate file system/partition has been created for SUSE operating system non-privileged local interactive user home directories. Check the home directory assignment for all non-privileged users (those with a UID greater than 1000) on the system with the following command: @@ -3972,7 +3969,7 @@ UUID=333ada18 /home ext4 noatime,nobarrier,nodev 1 2 If a separate entry for the file system/partition that contains the non-privileged interactive users' home directories does not exist, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040210The SUSE operating system must use a separate file system for /var.<VulnDiscussion>The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Create a separate file system/partition on the SUSE operating system for "/var". -Migrate "/var" onto the separate file system/partition.Verify that the SUSE operating system has a separate file system/partition for "/var". +Migrate "/var" onto the separate file system/partition.Verify that the SUSE operating system has a separate file system/partition for "/var". Check that a file system/partition has been created for "/var" with the following command: @@ -3983,7 +3980,7 @@ If a separate entry for "/var" is not in use, this is a finding. > sudo sh -c 'for X in /etc/pam.d/common-*-pc; do cp -ivp --remove-destination $X ${X:0:-3}; done' -Additional information on the configuration of multifactor authentication on the SUSE operating system can be found at https://www.suse.com/communities/blog/configuring-smart-card-authentication-suse-linux-enterprise/.Verify the SUSE operating system is configured to not overwrite PAM configuration on package changes. +Additional information on the configuration of multifactor authentication on the SUSE operating system can be found at https://www.suse.com/communities/blog/configuring-smart-card-authentication-suse-linux-enterprise/.Verify the SUSE operating system is configured to not overwrite PAM configuration on package changes. Check that soft links between PAM configuration files are removed with the following command: @@ -3993,7 +3990,7 @@ If any results are returned, this is a finding.Verify the SUSE operating system SSH daemon is configured to not allow authentication using "known hosts" authentication. +IgnoreUserKnownHosts yesVerify the SUSE operating system SSH daemon is configured to not allow authentication using "known hosts" authentication. To determine how the SSH daemon's "IgnoreUserKnownHosts" option is set, run the following command: @@ -4007,7 +4004,7 @@ Note: SSH public key files may be found in other directories on the system depen Change the mode of public host key files under "/etc/ssh" to "0644" with the following command: -> sudo chmod 0644 /etc/ssh/ssh_host*key.pubVerify the SUSE operating system SSH daemon public host key files have mode "0644" or less permissive. +> sudo chmod 0644 /etc/ssh/ssh_host*key.pubVerify the SUSE operating system SSH daemon public host key files have mode "0644" or less permissive. Note: SSH public key files may be found in other directories on the system depending on the installation. @@ -4022,7 +4019,7 @@ The following command will find all SSH public key files on the system: If any file has a mode more permissive than "0644", this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040250The SUSE operating system SSH daemon private host key files must have mode 0640 or less permissive.<VulnDiscussion>If an unauthorized user obtains the private SSH host key file, the host could be impersonated.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-000366Configure the mode of the SUSE operating system SSH daemon private host key files under "/etc/ssh" to "0640" with the following command: - > sudo chmod 0640 /etc/ssh/ssh_host*keyVerify the SUSE operating system SSH daemon private host key files have mode "0640" or less permissive. + > sudo chmod 0640 /etc/ssh/ssh_host*keyVerify the SUSE operating system SSH daemon private host key files have mode "0640" or less permissive. The following command will find all SSH private key files on the system: @@ -4041,7 +4038,7 @@ If any file has a mode more permissive than "0640", this is a finding.Verify the SUSE operating system SSH daemon performs strict mode checking of home directory configuration files. +StrictModes yesVerify the SUSE operating system SSH daemon performs strict mode checking of home directory configuration files. Check that the SSH daemon performs strict mode checking of home directory configuration files with the following command: @@ -4055,7 +4052,7 @@ If X11 services are not required for the system's intended function, they should Edit the "/etc/ssh/sshd_config" file to uncomment or add the line for the "X11Forwarding" keyword and set its value to "no" (this file may be named differently or be in a different location if using a version of SSH that is provided by a third-party vendor): -X11Forwarding noDetermine if X11Forwarding is disabled with the following command: +X11Forwarding noDetermine if X11Forwarding is disabled with the following command: Verify the SUSE operating system SSH daemon remote X forwarded connections for interactive users are disabled. Check that SSH remote X forwarded connections are disabled with the following command: @@ -4072,7 +4069,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv4.conf.all.accept_source_route=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not accept IPv4 source-routed packets. +> sudo sysctl --systemVerify the SUSE operating system does not accept IPv4 source-routed packets. Check the value of the IPv4 accept source route variable with the following command: @@ -4087,7 +4084,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv6.conf.all.accept_source_route=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not accept IPv6 source-routed packets. +> sudo sysctl --systemVerify the SUSE operating system does not accept IPv6 source-routed packets. Check the value of the IPv6 accept source route variable with the following command: @@ -4102,7 +4099,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv4.conf.default.accept_source_route=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not accept IPv4 source-routed packets by default. +> sudo sysctl --systemVerify the SUSE operating system does not accept IPv4 source-routed packets by default. Check the value of the default IPv4 accept source route variable with the following command: @@ -4117,7 +4114,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv6.conf.default.accept_source_route=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not accept IPv6 source-routed packets by default. +> sudo sysctl --systemVerify the SUSE operating system does not accept IPv6 source-routed packets by default. Check the value of the default IPv6 accept source route variable with the following command: @@ -4132,7 +4129,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv4.conf.all.accept_redirects=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not accept IPv4 ICMP redirect messages. +> sudo sysctl --systemVerify the SUSE operating system does not accept IPv4 ICMP redirect messages. Check the value of the IPv4 accept_redirects variable with the following command: @@ -4147,7 +4144,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv4.conf.default.accept_redirects=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not accept IPv4 ICMP redirect messages by default. +> sudo sysctl --systemVerify the SUSE operating system does not accept IPv4 ICMP redirect messages by default. Check the value of the default IPv4 accept_redirects variable with the following command: @@ -4162,7 +4159,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv6.conf.all.accept_redirects=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not accept IPv6 ICMP redirect messages. +> sudo sysctl --systemVerify the SUSE operating system does not accept IPv6 ICMP redirect messages. Check the value of the IPv6 accept_redirects variable with the following command: @@ -4177,7 +4174,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv6.conf.default.accept_redirects=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not allow IPv6 ICMP redirect messages by default. +> sudo sysctl --systemVerify the SUSE operating system does not allow IPv6 ICMP redirect messages by default. Check the value of the default IPv6 accept_redirects variable with the following command: @@ -4192,7 +4189,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv4.conf.default.send_redirects=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not allow interfaces to perform IPv4 ICMP redirects by default. +> sudo sysctl --systemVerify the SUSE operating system does not allow interfaces to perform IPv4 ICMP redirects by default. Check the value of the default IPv4 send_redirects variable with the following command: @@ -4207,7 +4204,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv4.conf.all.send_redirects=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system does not allow interfaces to perform IPv4 ICMP redirects. +> sudo sysctl --systemVerify the SUSE operating system does not allow interfaces to perform IPv4 ICMP redirects. Check the value of the IPv4 send_redirects variable with the following command: @@ -4222,7 +4219,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv4.ip_forward=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system is not performing IPv4 packet forwarding, unless the system is a router. +> sudo sysctl --systemVerify the SUSE operating system is not performing IPv4 packet forwarding, unless the system is a router. Check to see if IPv4 forwarding is disabled using the following command: @@ -4237,7 +4234,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv6.conf.all.forwarding=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system is not performing IPv6 packet forwarding, unless the system is a router. +> sudo sysctl --systemVerify the SUSE operating system is not performing IPv6 packet forwarding, unless the system is a router. Check to see if IPv6 forwarding is enabled using the following command: @@ -4252,7 +4249,7 @@ If "0" is not the system's default value, add or update the following line in "/ > sudo sh -c 'echo "net.ipv6.conf.default.forwarding=0" >> /etc/sysctl.d/99-stig.conf' -> sudo sysctl --systemVerify the SUSE operating system is not performing IPv6 packet forwarding by default, unless the system is a router. +> sudo sysctl --systemVerify the SUSE operating system is not performing IPv6 packet forwarding by default, unless the system is a router. Check to see if IPv6 forwarding is disabled by default using the following command: @@ -4265,7 +4262,7 @@ If the system is being used to perform a network troubleshooting function, the u Set the promiscuous mode of an interface to off with the following command: -> sudo ip link set dev <devicename> promisc offVerify the SUSE operating system network interfaces are not in promiscuous mode unless approved by the ISSO and documented. +> sudo ip link set dev <devicename> promisc offVerify the SUSE operating system network interfaces are not in promiscuous mode unless approved by the ISSO and documented. Check for the status with the following command: @@ -4273,7 +4270,7 @@ Check for the status with the following command: If network interfaces are found on the system in promiscuous mode and their use has not been approved by the ISSO and documented, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040400All SUSE operating system files and directories must have a valid owner.<VulnDiscussion>Unowned files and directories may be unintentionally inherited if a user is assigned the same User Identifier (UID) as the UID of the unowned files.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001230Either remove all files and directories from the SUSE operating 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>Verify that all SUSE operating system files and directories on the system have a valid owner. +> sudo chown <user> <file>Verify that all SUSE operating system files and directories on the system have a valid owner. Check the owner of all files and directories with the following command: @@ -4283,7 +4280,7 @@ Note: The value after -fstype must be replaced with the filesystem type. XFS is If any files on the system do not have an assigned owner, this is a finding.SRG-OS-000480-GPOS-00227<GroupDescription></GroupDescription>SLES-15-040410All SUSE operating system files and directories must have a valid group owner.<VulnDiscussion>Files without a valid group owner may be unintentionally inherited if a group is assigned the same Group Identifier (GID) as the GID of the files without a valid group owner.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001230Either remove all files and directories from the SUSE operating system that do not have a valid group, or assign a valid group to all files and directories on the system with the "chgrp" command: -> sudo chgrp <group> <file>Verify all SUSE operating system files and directories on the system have a valid group. +> sudo chgrp <group> <file>Verify all SUSE operating system files and directories on the system have a valid group. Check the owner of all files and directories with the following command: @@ -4295,7 +4292,7 @@ If any files on the system do not have an assigned group, this is a finding.Verify the SUSE operating system defines default permissions for all authenticated users in such a way that the users can only read and modify their own files. +UMASK 077Verify the SUSE operating system defines default permissions for all authenticated users in such a way that the users can only read and modify their own files. Check the system default permissions with the following command: @@ -4313,7 +4310,7 @@ Add or edit the following lines in the "/etc/sysconfig/displaymanager" configuration file: DISPLAYMANAGER_AUTOLOGIN="" -DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no"Note: If a graphical user interface is not installed, this requirement is Not Applicable. +DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no"Note: If a graphical user interface is not installed, this requirement is Not Applicable. Verify the SUSE operating system does not allow unattended or automatic logon via the GUI. @@ -4334,7 +4331,7 @@ If parameter is not set to "no", this is a finding.Verify the SUSE operating system disables unattended or automatic logon via SSH. +PermitUserEnvironment noVerify the SUSE operating system disables unattended or automatic logon via SSH. Check that unattended or automatic logon via SSH is disabled with the following command: @@ -4352,7 +4349,7 @@ Edit the /etc/sudoers file with the following command: > sudo visudo Add or modify the following line: -@includedir /etc/sudoers.dNote: If the "include" and "includedir" directives are not present in the /etc/sudoers file, this requirement is not applicable. +@includedir /etc/sudoers.dNote: If the "include" and "includedir" directives are not present in the /etc/sudoers file, this requirement is not applicable. Verify the operating system specifies only the default "include" directory for the /etc/sudoers file with the following command: @@ -4375,7 +4372,7 @@ Satisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPO Check the configuration of the "/etc/ pam.d/sudo" file with the following command: $ sudo vi /etc/pam.d/sudo -Remove any occurrences of "pam_succeed_if" in the file.Verify the operating system is not be configured to bypass password requirements for privilege escalation. +Remove any occurrences of "pam_succeed_if" in the file.Verify the operating system is not be configured to bypass password requirements for privilege escalation. Check the configuration of the "/etc/pam.d/sudo" file with the following command: @@ -4386,7 +4383,7 @@ If any occurrences of "pam_succeed_if" are returned from the command, this is a Perform a password reset: $ sudo passwd [username] Lock an account: -$ sudo passwd -l [username]Check the "/etc/shadow" file for blank passwords with the following command: +$ sudo passwd -l [username]Check the "/etc/shadow" file for blank passwords with the following command: $ sudo awk -F: '!$2 {print $1}' /etc/shadow @@ -4398,7 +4395,7 @@ The system will attempt to use the first algorithm presented by the client that Restart the "sshd" service for changes to take effect: - $ sudo systemctl restart sshdVerify that the SSH server is configured to use only FIPS-validated key exchange algorithms: + $ sudo systemctl restart sshdVerify that the SSH server is configured to use only FIPS-validated key exchange algorithms: $ sudo grep -i kexalgorithms /etc/ssh/sshd_config KexAlgorithms ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256 @@ -4419,7 +4416,7 @@ Remove any configurations that conflict with the above from the following locati Reload settings from all system configuration files with the following command: - $ sudo sysctl --systemVerify the operating system is configured to restrict access to the kernel message buffer with the following commands: + $ sudo sysctl --systemVerify the operating system is configured to restrict access to the kernel message buffer with the following commands: $ sudo sysctl kernel.dmesg_restrict kernel.dmesg_restrict = 1 @@ -4457,7 +4454,7 @@ Example output: Removed files: 1 Changed files: 0 -Done.Verify that Advanced Intrusion Detection Environment (AIDE) is installed and verifies the correct operation of all security functions. +Done.Verify that Advanced Intrusion Detection Environment (AIDE) is installed and verifies the correct operation of all security functions. Check that the AIDE package is installed with the following command: $ sudo zypper if aide | grep "Installed" @@ -4476,7 +4473,7 @@ Temporary accounts are different from emergency accounts. Emergency accounts, al The automatic expiration of temporary accounts may be extended as needed by the circumstances but it must not be extended indefinitely. A documented permanent account should be established for privileged users who need long-term maintenance accounts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001682Configure the operating system to expire temporary accounts after 72 hours with the following command: - > sudo chage -E $(date -d +3days +%Y-%m-%d) <temporary_account_name>Verify temporary accounts have been provisioned with an expiration date of 72 hours. + > sudo chage -E $(date -d +3days +%Y-%m-%d) <temporary_account_name>Verify temporary accounts have been provisioned with an expiration date of 72 hours. For every existing temporary account, run the following command to obtain its account expiration information: @@ -4487,7 +4484,7 @@ If any temporary accounts have no expiration date set or do not expire within 72 Detecting such changes and providing an automated response can help avoid unintended, negative consequences that could ultimately affect the security state of the operating system. The operating system's IMO/ISSO and SAs must be notified via email and/or monitoring system trap when there is an unauthorized modification of a configuration item.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target SUSE Linux Enterprise Server 15DISADPMS TargetSUSE Linux Enterprise Server 155274CCI-001744Install the "mailx" package on the system: - > sudo zypper install mailxVerify that the operating system is configured to allow sending email notifications. + > sudo zypper install mailxVerify that the operating system is configured to allow sending email notifications. Note: The "mailx" package provides the "mail" command that is used to send email messages.