{"stig":{"title":"Tri-Lab Operating System Stack (TOSS) 5 Security Technical Implementation Guide","version":"1","release":"1"},"checks":[{"vulnId":"V-282352","ruleId":"SV-282352r1200036_rule","severity":"medium","ruleTitle":"TOSS 5 must automatically expire temporary accounts within 72 hours.","description":"Temporary accounts are privileged or nonprivileged accounts that are established during pressing circumstances, such as new software or hardware configuration or an incident response, where the need for prompt account activation requires bypassing normal account authorization procedures. If any inactive temporary accounts are left enabled on the system and are not either manually removed or automatically expired within 72 hours, the security posture of the system will be degraded and exposed to exploitation by unauthorized users or insider threat actors.\n\nTemporary accounts are different from emergency accounts. Emergency accounts, also known as \"last resort\" or \"break glass\" accounts, are local login accounts enabled on the system for emergency use by authorized system administrators to manage a system when standard login methods are failing or not available. Emergency accounts are not subject to manual removal or scheduled expiration requirements.\n\nThe 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.\n\nSatisfies: SRG-OS-000002-GPOS-00002, SRG-OS-000123-GPOS-00064","checkContent":"Verify temporary accounts have been provisioned with an expiration date of 72 hours.\n\nFor every existing temporary account, run the following command to obtain its account expiration information:\n\n$ sudo chage -l <temporary_account_name> | grep -i \"account expires\"\n\nVerify each of these accounts has an expiration date set within 72 hours. \n\nIf any temporary accounts have no expiration date or do not expire within 72 hours, this is a finding.","fixText":"Configure the operating system to expire temporary accounts after 72 hours using the following command:\n\n$ sudo chage -E $(date -d +3days +%Y-%m-%d) <temporary_account_name>","ccis":["CCI-000016","CCI-001682"]},{"vulnId":"V-282353","ruleId":"SV-282353r1200039_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.","description":"The actions taken by system administrators must be audited to keep a record of what was executed on the system, as well as for accountability purposes. Editing the sudoers file may be sign of an attacker trying to establish persistent methods to a system, auditing the editing of the sudoers files mitigates this risk.\n\nSatisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000476-GPOS-00221","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/sudoers\" using the following command:\n\n$ sudo auditctl -l | grep /etc/sudoers\n\n-w /etc/sudoers -p wa -k identity\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/sudoers\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /etc/sudoers -p wa -k identity\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000018","CCI-000130","CCI-000135","CCI-000169","CCI-001403","CCI-001404","CCI-001405","CCI-002130","CCI-000015","CCI-002884","CCI-000172"]},{"vulnId":"V-282354","ruleId":"SV-282354r1201500_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/sudoers.d/ directory.","description":"The actions taken by system administrators (SAs) must be audited to keep a record of what was executed on the system, as well as for accountability purposes. Editing the sudoers file may be a sign of an attacker trying to establish persistent methods to a system, auditing the editing of the sudoers files mitigates this risk.\n\nSatisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000476-GPOS-00221, SRG-OS-000274-GPOS-00104","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/sudoers.d/\" using the following command:\n\n$ sudo auditctl -l | grep /etc/sudoers.d\n\n-w /etc/sudoers.d/ -p wa -k identity\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/sudoers.d/\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /etc/sudoers.d/ -p wa -k identity\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000018","CCI-000130","CCI-000135","CCI-000169","CCI-001403","CCI-001404","CCI-001405","CCI-002130","CCI-000015","CCI-002884","CCI-000172"]},{"vulnId":"V-282355","ruleId":"SV-282355r1200045_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group.","description":"In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications must be investigated for legitimacy.\n\nSatisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000476-GPOS-00221","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/group\" using the following command:\n\n$ sudo auditctl -l | egrep '(/etc/group)'  \n\n-w /etc/group -p wa -k identity\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/group\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /etc/group -p wa -k identity\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000018","CCI-000130","CCI-000135","CCI-000169","CCI-001403","CCI-001404","CCI-001405","CCI-002130","CCI-000015","CCI-002884","CCI-000172"]},{"vulnId":"V-282356","ruleId":"SV-282356r1200048_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow.","description":"In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy.\n\nSatisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000476-GPOS-00221","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/gshadow\" using the following command:\n\n$ sudo auditctl -l | egrep '(/etc/gshadow)' \n\n-w /etc/gshadow -p wa -k identity\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/gshadow\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /etc/gshadow -p wa -k identity\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000018","CCI-000130","CCI-000135","CCI-000169","CCI-001403","CCI-001404","CCI-001405","CCI-002130","CCI-000015","CCI-002884","CCI-000172"]},{"vulnId":"V-282357","ruleId":"SV-282357r1200051_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/opasswd.","description":"In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy.\n\nSatisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000476-GPOS-00221","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/security/opasswd\" using the following command:\n\n$ sudo auditctl -l | egrep '(/etc/security/opasswd)' \n\n-w /etc/security/opasswd -p wa -k identity\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/security/opasswd\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /etc/security/opasswd -p wa -k identity\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000018","CCI-000130","CCI-000135","CCI-000169","CCI-001403","CCI-001404","CCI-001405","CCI-002130","CCI-000015","CCI-002884","CCI-000172"]},{"vulnId":"V-282358","ruleId":"SV-282358r1200054_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd.","description":"In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy.\n\nSatisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000476-GPOS-00221","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/passwd\" using the following command:\n\n$ sudo auditctl -l | egrep '(/etc/passwd)' \n\n-w /etc/passwd -p wa -k identity\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/passwd\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /etc/passwd -p wa -k identity\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000018","CCI-000130","CCI-000135","CCI-000169","CCI-001403","CCI-001404","CCI-001405","CCI-002130","CCI-000015","CCI-002884","CCI-000172"]},{"vulnId":"V-282359","ruleId":"SV-282359r1200057_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow.","description":"In addition to auditing new user and group accounts, these watches will alert the system administrator(s) to any modifications. Any unexpected users, groups, or modifications should be investigated for legitimacy.\n\nSatisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000476-GPOS-00221","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/passwd using the following command:\n\n$ sudo auditctl -l | egrep '(/etc/shadow)' \n\n-w /etc/shadow -p wa -k identity\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/shadow\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /etc/shadow -p wa -k identity\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000018","CCI-000130","CCI-000135","CCI-000169","CCI-001403","CCI-001404","CCI-001405","CCI-002130","CCI-000015","CCI-002884","CCI-000172"]},{"vulnId":"V-282360","ruleId":"SV-282360r1200060_rule","severity":"medium","ruleTitle":"TOSS 5 must automatically lock an account when three unsuccessful login attempts occur.","description":"By limiting the number of failed login attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.\n\nSatisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128","checkContent":"Verify TOSS 5 is configured to lock an account after three unsuccessful login attempts using the command:\n\n$ grep 'deny =' /etc/security/faillock.conf\n\ndeny = 3\n\nIf the \"deny\" option is not set to \"3\" or less (but not \"0\"), is missing or commented out, this is a finding.","fixText":"Configure TOSS 5 to lock an account when three unsuccessful login attempts occur.\n\nAdd or modify the \"/etc/security/faillock.conf\" file to match the following line:\n\ndeny = 3","ccis":["CCI-000044","CCI-002238"]},{"vulnId":"V-282361","ruleId":"SV-282361r1200063_rule","severity":"medium","ruleTitle":"TOSS 5 must automatically lock an account when three unsuccessful login attempts occur during a 15-minute time period.","description":"By limiting the number of failed login attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-forcing, is reduced. Limits are imposed by locking the account.\n\nSatisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128","checkContent":"Note: If the system administrator (SA) demonstrates the use of an approved centralized account management method that locks an account after three unsuccessful login attempts within a period of 15 minutes, this requirement is not applicable.\n\nVerify TOSS 5 locks an account after three unsuccessful login attempts within a period of 15 minutes using the following command:\n\n$ grep fail_interval /etc/security/faillock.conf \n\nfail_interval = 900\n\nIf the \"fail_interval\" option is not set to \"900\" or less (but not \"0\"), the line is commented out, or the line is missing, this is a finding.","fixText":"Configure TOSS 5 to lock out the \"root\" account after a number of incorrect login attempts within 15 minutes. \n\nEnable \"pam_faillock.so\" using the following command:\n \n$ authselect enable-feature with-faillock \n\nEdit the \"/etc/security/faillock.conf\" file as follows:\n\nfail_interval = 900","ccis":["CCI-000044","CCI-002238"]},{"vulnId":"V-282362","ruleId":"SV-282362r1200066_rule","severity":"medium","ruleTitle":"TOSS 5 must ensure account lockouts persist.","description":"Lockouts persisting across reboots ensure that the account is only unlocked by an administrator. If the lockouts did not persist across reboots, an attacker could simply reboot the system to continue brute-force attacks against the accounts on the system.","checkContent":"Verify the \"/etc/security/faillock.conf\" file is configured use a nondefault faillock directory to ensure contents persist after reboot using the following command:\n\n$ grep 'dir =' /etc/security/faillock.conf\n\ndir = /var/log/faillock\n\nIf the \"dir\" option is not set to a nondefault documented tally log directory, is missing or commented out, this is a finding.","fixText":"Configure TOSS 5 to maintain the contents of the faillock directory after a reboot.\n\nAdd or modify the \"/etc/security/faillock.conf\" file to match the following line:\n\ndir = /var/log/faillock","ccis":["CCI-000044"]},{"vulnId":"V-282363","ruleId":"SV-282363r1200069_rule","severity":"medium","ruleTitle":"TOSS 5 must log username information when unsuccessful login attempts occur.","description":"Without auditing these events, it may be harder or impossible to identify what an attacker did after an attack.","checkContent":"Verify the \"/etc/security/faillock.conf\" file is configured to log username information when unsuccessful login attempts occur using the following command:\n\n$ grep audit /etc/security/faillock.conf\n\naudit\n\nIf the \"audit\" option is not set, is missing, or is commented out, this is a finding.","fixText":"Configure TOSS 5 to log username information when unsuccessful login attempts occur.\n\nAdd or modify the \"/etc/security/faillock.conf\" file to match the following line:\n\naudit","ccis":["CCI-000044"]},{"vulnId":"V-282364","ruleId":"SV-282364r1200072_rule","severity":"medium","ruleTitle":"TOSS 5 must configure the use of the pam_faillock.so module in the /etc/pam.d/system-auth file.","description":"If the \"pam_faillock.so\" module is not loaded, the system will not correctly lockout accounts to prevent password guessing attacks.","checkContent":"Verify the \"pam_faillock.so\" module is present in the \"/etc/pam.d/system-auth\" file:\n\n$ grep pam_faillock.so /etc/pam.d/system-auth\n\nauth required pam_faillock.so preauth\nauth required pam_faillock.so authfail\naccount required pam_faillock.so\n\nIf the \"pam_faillock.so\" module is not present in the \"/etc/pam.d/system-auth\" file with the \"preauth\" line listed before \"pam_unix.so\", this is a finding.","fixText":"Configure TOSS 5 to include the use of the \"pam_faillock.so\" module in the /etc/pam.d/system-auth file.\n\nAdd/modify the appropriate sections of the \"/etc/pam.d/system-auth\" file to match the following lines:\n\nNote: The \"preauth\" line must be listed before \"pam_unix.so\".\n\nauth required pam_faillock.so preauth\nauth required pam_faillock.so authfail\naccount required pam_faillock.so","ccis":["CCI-000044"]},{"vulnId":"V-282365","ruleId":"SV-282365r1200075_rule","severity":"medium","ruleTitle":"TOSS 5 must configure the use of the pam_faillock.so module in the /etc/pam.d/password-auth file.","description":"If the \"pam_faillock.so\" module is not loaded, the system will not correctly lockout accounts to prevent password guessing attacks.","checkContent":"Verify the \"pam_faillock.so\" module is present in the \"/etc/pam.d/password-auth\" file:\n\n$ grep pam_faillock.so /etc/pam.d/password-auth\n\nauth required pam_faillock.so preauth\nauth required pam_faillock.so authfail\naccount required pam_faillock.so\n\nIf the \"pam_faillock.so\" module is not present in the \"/etc/pam.d/password-auth\" file with the \"preauth\" line listed before pam_unix.so, this is a finding.","fixText":"Configure TOSS 5 to include the use of the \"pam_faillock.so\" module in the \"/etc/pam.d/password-auth\" file.\n\nAdd/modify the appropriate sections of the \"/etc/pam.d/password-auth\" file to match the following lines:\n\nNote: The \"preauth\" line must be listed before pam_unix.so.\n\nauth required pam_faillock.so preauth\nauth required pam_faillock.so authfail\naccount required pam_faillock.so","ccis":["CCI-000044"]},{"vulnId":"V-282366","ruleId":"SV-282366r1200078_rule","severity":"medium","ruleTitle":"TOSS 5 must display the Standard Mandatory DOD or other applicable U.S. Government Notice and Consent Banner before granting local or remote access to the system via a command line user login.","description":"Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.\n\nSystem use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist.\n\nSatisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088","checkContent":"For nodes of the cluster that are only privately (within the cluster) accessible, this requirement is not applicable.\n\nVerify TOSS 5 displays the Standard Mandatory DOD or other applicable U.S. Government Notice and Consent Banner before granting access to the operating system via a command line user login.\n\nCheck that a banner is displayed at the command line login screen using the following command:\n\n$ sudo cat /etc/issue\n\nIf the banner is set correctly, it will return the following text:\n\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\n\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:\n\n-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.\n\n-At any time, the USG may inspect and seize data stored on this IS.\n\n-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.\n\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.\n\n-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.\"\n\nIf the banner text does not match the Standard Mandatory DOD or other applicable U.S. Government Notice and Consent Banner exactly, or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to display the Standard Mandatory DOD or other applicable U.S. Government Notice and Consent Banner before granting access to the system via command line login.\n\nEdit the \"/etc/issue\" file to replace the default text with the Standard Mandatory DOD or other applicable U.S. Government Notice and Consent Banner. The DOD-required text is:\n\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\n\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:\n\n-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations.\n\n-At any time, the USG may inspect and seize data stored on this IS.\n\n-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.\n\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests -- not for your personal benefit or privacy.\n\n-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.\"","ccis":["CCI-000048","CCI-001384","CCI-001385","CCI-001386","CCI-001387","CCI-001388"]},{"vulnId":"V-282367","ruleId":"SV-282367r1201610_rule","severity":"medium","ruleTitle":"TOSS 5 must display the Standard Mandatory DOD or other applicable U.S. Government agency Notice and Consent Banner before granting local or remote access to the system via a SSH login.","description":"The warning message reinforces policy awareness during the login process and facilitates possible legal action against attackers. Alternatively, systems whose ownership should not be obvious should ensure usage of a banner that does not provide easy attribution.\n\nSatisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088","checkContent":"Verify any SSH connection to the operating system displays the Standard Mandatory DOD or other applicable U.S. Government agency Notice and Consent Banner before granting access to the system.\n\nFor nodes of the cluster that are only privately (within the cluster) accessible, this requirement is not applicable.\n\nCheck for the location of the banner file being used using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*banner'\n\nbanner /etc/issue\n\nThis command will return the banner keyword and the name of the file that contains the SSH banner (in this case \"/etc/issue\").\n\nIf the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to display the Standard Mandatory DOD or other applicable U.S. Government agency Notice and Consent Banner before granting access to the system via SSH.\n\nEdit the \"/etc/ssh/sshd_config\" file to uncomment the banner keyword and configure it to point to a file that contains the login banner (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).\n\nAn example configuration line is:\n\nBanner /etc/issue","ccis":["CCI-000048","CCI-001384","CCI-001385","CCI-001386","CCI-001387","CCI-001388"]},{"vulnId":"V-282368","ruleId":"SV-282368r1200084_rule","severity":"medium","ruleTitle":"TOSS 5 must display the Standard Mandatory DOD or other applicable U.S. Government agency Notice and Consent Banner before granting local or remote access to the system via a graphical user login.","description":"Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.\n\nFor U.S. Government systems, system use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist.\n\nSatisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088","checkContent":"Verify TOSS 5 displays a banner before granting access to the operating system via a graphical user login.\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable. \n\nDetermine if the operating system displays a banner at the login screen using the following command:\n\n$ sudo grep banner-message-enable /etc/dconf/db/local.d/*\n\nbanner-message-enable=true\n\nIf \"banner-message-enable\" is set to \"false\", is commented out, or is missing, this is a finding.","fixText":"Configure TOSS 5 to display the Standard Mandatory DOD or other applicable U.S. Government agency Notice and Consent Banner before granting access to the system via a graphical user login.\n\nCreate a database to contain the systemwide graphical user login settings (if it does not already exist) using the following command:\n\n$ sudo touch /etc/dconf/db/local.d/01-banner-message\n\nAdd the following lines to the [org/gnome/login-screen] section of the \"/etc/dconf/db/local.d/01-banner-message\":\n\n[org/gnome/login-screen]\n\nbanner-message-enable=true\n\nRun the following command to update the database:\n\n$ sudo dconf update","ccis":["CCI-000048","CCI-001384","CCI-001385","CCI-001386","CCI-001387","CCI-001388"]},{"vulnId":"V-282369","ruleId":"SV-282369r1200087_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the banner-message-enable setting for the graphical user interface.","description":"Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.\n\nFor U.S. Government systems, system use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist.\n\nSatisfies: SRG-OS-000023-GPOS-00006, SRG-OS-000228-GPOS-00088","checkContent":"Verify TOSS 5 prevents a user from overriding settings for graphical user interfaces. \n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\nDetermine which profile the system database is using by running the following command:\n\n$ sudo grep system-db /etc/dconf/profile/user\n\nsystem-db:local\n\nVerify the graphical settings are locked from nonprivileged user modification using the following command:\n\nNote: The example below is using the database \"local\" for the system, so the path is \"/etc/dconf/db/local.d\". This path must be modified if a database other than \"local\" is being used.\n\n$ sudo grep banner-message-enable /etc/dconf/db/local.d/* \n\n/org/gnome/login-screen/banner-message-enable\n\nIf the output is not \"/org/gnome/login-screen/banner-message-enable\", the line is commented out, or the line is missing, this is a finding.","fixText":"Configure TOSS 5 to prevent a user from overriding the banner setting for graphical user interfaces. \n\nCreate a database to contain the systemwide graphical user login settings (if it does not already exist) using the following command:\n\n$ sudo touch /etc/dconf/db/local.d/locks/session\n\nAdd the following setting to prevent nonprivileged users from modifying it:\n\nbanner-message-enable\n\nUpdate the database with the following command:\n\n$ sudo dconf update","ccis":["CCI-000048","CCI-001384","CCI-001385","CCI-001386","CCI-001387","CCI-001388"]},{"vulnId":"V-282371","ruleId":"SV-282371r1200093_rule","severity":"low","ruleTitle":"TOSS 5 must limit the number of concurrent sessions to 256 for all accounts and/or account types.","description":"Operating system management includes the ability to control the number of users and user sessions that use an operating system. Limiting the number of allowed users and sessions per user is helpful in reducing the risks related to denial-of-service (DoS) attacks.\n\nThis requirement addresses concurrent sessions for information system accounts and does not address concurrent sessions by single users via multiple system accounts. The maximum number of concurrent sessions should be defined based upon mission needs and the operational environment for each system.","checkContent":"Verify TOSS limits the number of concurrent sessions to 256 or less for all accounts and/or account types using the following command:\n\n$ sudo grep -r -s '^[^#].*maxlogins' /etc/security/limits.conf /etc/security/limits.d/*.conf\n* hard maxlogins 256\n\nThis can be set as a global domain (with the * wildcard) but may be set differently for multiple domains.\n\nIf the \"maxlogins\" item is missing, commented out, or the value is set greater than \"256\" and is not documented with the information system security officer (ISSO) as an operational requirement for all domains that have the \"maxlogins\" item assigned, this is a finding.","fixText":"Configure TOSS to limit the number of concurrent sessions to 256 or less for all accounts and/or account types.\n\nAdd the following line to the top of the \"/etc/security/limits.conf\" or in a .\"conf\" file defined in \"/etc/security/limits.d/\":\n                 \n* hard maxlogins 256","ccis":["CCI-000054"]},{"vulnId":"V-282372","ruleId":"SV-282372r1201380_rule","severity":"medium","ruleTitle":"TOSS 5 must directly initiate a session lock for all connection types when the smart card is removed.","description":"A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence.\n\nThe session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, TOSS 5 must provide users with the ability to manually invoke a session lock so users can secure their session if it is necessary to temporarily vacate the immediate physical vicinity.\n\nSatisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000029-GPOS-00010","checkContent":"Verify TOSS 5 enables a user's session lock until that user reestablishes access using established identification and authentication procedures using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\n$ grep -R removal-action /etc/dconf/db/*\n\n/etc/dconf/db/distro.d/20-authselect:removal-action='lock-screen'\n\nIf the \"removal-action='lock-screen'\" setting is missing or commented out from the dconf database files, and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure TOSS 5 to enable a user's session lock until that user reestablishes access using established identification and authentication procedures.\n\nSelect or create an authselect profile and incorporate the \"with-smartcard-lock-on-removal\" feature with the following example:\n\n$ sudo authselect select sssd with-smartcard with-smartcard-lock-on-removal\n\nAlternatively, edit the dconf settings in the /etc/dconf/db/* location.\n\nAdd or update the [org/gnome/settings-daemon/peripherals/smartcard] section of the /etc/dconf/db/local.d/00-security-settings\" database file and add or update the following lines:\n\n[org/gnome/settings-daemon/peripherals/smartcard]\nremoval-action='lock-screen'\n\nUpdate the dconf system databases:\n\n$ sudo dconf update","ccis":["CCI-000056","CCI-000057"]},{"vulnId":"V-282373","ruleId":"SV-282373r1200099_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the disabling of the graphical user smart card removal action.","description":"A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence.\n\nThe session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, TOSS 5 must provide users with the ability to manually invoke a session lock so users can secure their session if it is necessary to temporarily vacate the immediate physical vicinity.\n\nSatisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000029-GPOS-00010","checkContent":"Verify TOSS 5 disables the user's ability to override the smart card removal action setting.\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\nDetermine which profile the system database is using by running the following command:\n\n$ sudo grep system-db /etc/dconf/profile/user\n\nsystem-db:local\n\nVerify the removal action setting is locked from nonprivileged user modification using the following command:\n\nNote: The example below is using the database \"local\" for the system, so the path is \"/etc/dconf/db/local.d\". This path must be modified if a database other than \"local\" is being used.\n\n$ grep 'removal-action' /etc/dconf/db/local.d/locks/* \n\n/org/gnome/settings-daemon/peripherals/smartcard/removal-action\n\nIf the command does not return at least the example result, this is a finding.","fixText":"Add the following line to \"/etc/dconf/db/local.d/locks/00-security-settings-lock\" to prevent user override of the smart card removal action:\n\n/org/gnome/settings-daemon/peripherals/smartcard/removal-action\n\nUpdate the dconf system databases:\n\n$ sudo dconf update","ccis":["CCI-000056","CCI-000057"]},{"vulnId":"V-282374","ruleId":"SV-282374r1201498_rule","severity":"medium","ruleTitle":"TOSS 5 must enable a user session lock until that user reestablishes access using established identification and authentication procedures for graphical user sessions.","description":"A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence.\n\nThe session lock is implemented at the point where session activity can be determined.\n\nRegardless of where the session lock is determined and implemented, once invoked, the session lock must remain in place until the user reauthenticates. No other activity aside from reauthentication must unlock the system.\n\nSatisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000029-GPOS-00010","checkContent":"Verify TOSS 5 enables a user's session lock until that user reestablishes access using established identification and authentication procedures using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\n$ gsettings get org.gnome.desktop.screensaver lock-enabled\n\ntrue\n\nIf the setting is \"false\", this is a finding.","fixText":"Configure TOSS 5 to enable a user's session lock until that user reestablishes access using established identification and authentication procedures.\n\nCreate a database to contain the systemwide screensaver settings (if it does not already exist) with the following example:\n\n$ sudo vi /etc/dconf/db/local.d/00-screensaver\n\nEdit the \"[org/gnome/desktop/screensaver]\" section of the database file and add or update the following lines:\n\n# Set this to true to lock the screen when the screensaver activates\nlock-enabled=true\n\nUpdate the system databases:\n\n$ sudo dconf update","ccis":["CCI-000056","CCI-000057"]},{"vulnId":"V-282375","ruleId":"SV-282375r1200105_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the screensaver lock-enabled setting for the graphical user interface.","description":"A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems must be able to identify when a user's session has idled and take action to initiate the session lock.\n\nThe session lock is implemented at the point where session activity can be determined and/or controlled.\n\nImplementing session settings will have little value if a user is able to manipulate these settings from the defaults prescribed in the other requirements of this implementation guide.\n\nSatisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000029-GPOS-00010","checkContent":"Verify TOSS 5 prevents a user from overriding settings for graphical user interfaces. \n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—Gnome Shell. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\nDetermine which profile the system database is using by running the following command:\n\n$ sudo grep system-db /etc/dconf/profile/user\n\nsystem-db:local\n\nCheck that graphical settings are locked from nonprivileged user modification using the following command:\n\nNote: The example below is using the database \"local\" for the system, so the path is \"/etc/dconf/db/local.d\". This path must be modified if a database other than \"local\" is being used.\n\n$ sudo grep -i lock-enabled /etc/dconf/db/local.d/locks/*\n\n/org/gnome/desktop/screensaver/lock-enabled\n\nIf the command does not return at least the example result, this is a finding.","fixText":"Configure TOSS 5 to prevent a user from overriding settings for graphical user interfaces.\n\nCreate a database to contain the systemwide screensaver settings (if it does not already exist) using the following command: \n\nNote: The example below is using the database \"local\" for the system, so if the system is using another database in \"/etc/dconf/profile/user\", the file should be created under the appropriate subdirectory.\n\n$ sudo touch /etc/dconf/db/local.d/locks/session\n\nAdd the following setting to prevent nonprivileged users from modifying it:\n\n/org/gnome/desktop/screensaver/lock-enabled","ccis":["CCI-000056","CCI-000057"]},{"vulnId":"V-282376","ruleId":"SV-282376r1200108_rule","severity":"medium","ruleTitle":"TOSS 5 must have the tmux package installed.","description":"\"tmux\" is a terminal multiplexer that enables a number of terminals to be created, accessed, and controlled from a single screen. Red Hat endorses \"tmux\" as the recommended session controlling package.\n\nSatisfies: SRG-OS-000028-GPOS-00009, SRG-OS-000030-GPOS-00011","checkContent":"Verify TOSS 5 has the \"tmux\" package installed using the following command:\n\n$ sudo dnf list --installed tmux\n\nExample output:\n\ntmux.x86_64          3.2a-4.el9\n\nIf the \"tmux\" package is not installed, this is a finding.","fixText":"Install the \"tmux\" package using the following command:\n\n$ sudo dnf install tmux","ccis":["CCI-000056","CCI-000057"]},{"vulnId":"V-282377","ruleId":"SV-282377r1200111_rule","severity":"medium","ruleTitle":"TOSS 5 must automatically lock graphical user sessions after 10 minutes of inactivity.","description":"A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, the GNOME desktop can be configured to identify when a user's session has idled and take action to initiate a session lock.\n\nSatisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012","checkContent":"Verify TOSS 5 initiates a session lock after at most a 10-minute period of inactivity for graphical user interfaces with the following commands:\n\nNote: This requirement assumes the use of the TOSS default graphical user interface—Gnome Shell. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\n$ sudo gsettings get org.gnome.desktop.session idle-delay\nuint32 600\n\nIf \"idle-delay\" is set to \"0\" or a value greater than \"600\", this is a finding.","fixText":"Configure the operating system to initiate a screensaver after a 10-minute period of inactivity for graphical user interfaces.\n\nCreate a database to contain the systemwide screensaver settings (if it does not already exist) using the following command:\n\n$ sudo touch /etc/dconf/db/local.d/00-screensaver\n\nEdit \"/etc/dconf/db/local.d/00-screensaver\" and add or update the following lines:\n\n[org/gnome/desktop/session]\n# Set the lock time out to 600 seconds before the session is considered idle\nidle-delay=uint32 600\n\nUpdate the system databases:\n\n$ sudo dconf update","ccis":["CCI-000057","CCI-000060"]},{"vulnId":"V-282378","ruleId":"SV-282378r1200114_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the session idle-delay setting for the graphical user interface.","description":"A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, the GNOME desktop can be configured to identify when a user's session has idled and act to initiate the session lock. As such, users should not be allowed to change session settings.\n\nSatisfies: SRG-OS-000029-GPOS-00010, SRG-OS-000031-GPOS-00012","checkContent":"Verify TOSS 5 prevents a user from overriding settings for graphical user interfaces. \n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\nDetermine which profile the system database is using by running the following command:\n\n$ sudo grep system-db /etc/dconf/profile/user\n\nsystem-db:local\n\nVerify the graphical settings are locked from nonprivileged user modification using the following command:\n\nNote: The example below is using the database \"local\" for the system, so the path is \"/etc/dconf/db/local.d\". This path must be modified if a database other than \"local\" is being used.\n\n$ sudo grep -i idle /etc/dconf/db/local.d/locks/*\n\n/org/gnome/desktop/session/idle-delay\n\nIf the command does not return at least the example result, this is a finding.","fixText":"Configure TOSS 5 to prevent a user from overriding settings for graphical user interfaces.\n\nCreate a database to contain the systemwide screensaver settings (if it does not already exist) using the following command: \n\nNote: The example below is using the database \"local\" for the system, so if the system is using another database in \"/etc/dconf/profile/user\", the file should be created under the appropriate subdirectory.\n\n$ sudo touch /etc/dconf/db/local.d/locks/session\n\nAdd the following setting to prevent nonprivileged users from modifying it:\n\n/org/gnome/desktop/session/idle-delay","ccis":["CCI-000057","CCI-000060"]},{"vulnId":"V-282379","ruleId":"SV-282379r1200117_rule","severity":"medium","ruleTitle":"TOSS 5 must initiate a session lock for graphical user interfaces when the screensaver is activated.","description":"A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence.","checkContent":"Verify TOSS 5 initiates a session lock for graphical user interfaces when the screensaver is activated using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\n$ gsettings get org.gnome.desktop.screensaver lock-delay\n\nuint32 5\n\nIf the \"uint32\" setting is not \"5\" or less or is missing, this is a finding.","fixText":"Configure TOSS 5 to initiate a session lock for graphical user interfaces when a screensaver is activated.\n\nCreate a database to contain the systemwide screensaver settings (if it does not already exist) using the following command: \n\nNote: The example below is using the database \"local\" for the system, so if the system is using another database in \"/etc/dconf/profile/user\", the file should be created under the appropriate subdirectory.\n\n$ sudo touch /etc/dconf/db/local.d/00-screensaver\n\n[org/gnome/desktop/screensaver]\nlock-delay=uint32 5\n\nThe \"uint32\" must be included along with the integer key values as shown.\n\nUpdate the system databases:\n\n$ sudo dconf update","ccis":["CCI-000057"]},{"vulnId":"V-282380","ruleId":"SV-282380r1200120_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the session lock-delay setting for the graphical user interface.","description":"A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, the GNOME desktop can be configured to identify when a user's session has idled and take action to initiate the session lock. As such, users should not be allowed to change session settings.","checkContent":"Verify TOSS 5 prevents a user from overriding settings for graphical user interfaces. \n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\nDetermine which profile the system database is using by running the following command:\n\n$ sudo grep system-db /etc/dconf/profile/user\n\nsystem-db:local\n\nCheck that graphical settings are locked from nonprivileged user modification using the following command:\n\nNote: The example below is using the database \"local\" for the system, so the path is \"/etc/dconf/db/local.d\". This path must be modified if a database other than \"local\" is being used.\n\n$ sudo grep -i lock-delay /etc/dconf/db/local.d/locks/*\n\n/org/gnome/desktop/screensaver/lock-delay\n\nIf the command does not return at least the example result, this is a finding.","fixText":"Configure TOSS 5 to prevent a user from overriding settings for graphical user interfaces.\n\nCreate a database to contain the systemwide screensaver settings (if it does not already exist) using the following command: \n\nNote: The example below is using the database \"local\" for the system, so if the system is using another database in \"/etc/dconf/profile/user\", the file should be created under the appropriate subdirectory.\n\n$ sudo touch /etc/dconf/db/local.d/locks/session\n\nAdd the following setting to prevent nonprivileged users from modifying it:\n\n/org/gnome/desktop/screensaver/lock-delay","ccis":["CCI-000057"]},{"vulnId":"V-282381","ruleId":"SV-282381r1200123_rule","severity":"medium","ruleTitle":"TOSS 5 must automatically exit interactive command shell user sessions after 15 minutes of inactivity.","description":"Terminating an idle interactive command shell user session within a short time period reduces the window of opportunity for unauthorized personnel to take control of it when left unattended in a virtual terminal or physical console.\n\nSatisfies: SRG-OS-000030-GPOS-00011, SRG-OS-000163-GPOS-00072, SRG-OS-000279-GPOS-00109","checkContent":"Verify TOSS 5 is configured to exit interactive command shell user sessions after 15 minutes of inactivity or less using the following command:\n\n$ sudo grep -i tmout /etc/profile /etc/profile.d/*.sh\n\n/etc/profile.d/tmout.sh:declare -xr TMOUT=900\n\nIf \"TMOUT\" is not set to \"900\" or less in a script located in the \"/etc/'profile.d/\" directory, is missing or is commented out, this is a finding.","fixText":"Configure TOSS 5 to exit interactive command shell user sessions after 15 minutes of inactivity.\n\nAdd or edit the following line in \"/etc/profile.d/tmout.sh\":\n\n#!/bin/bash\n\ndeclare -xr TMOUT=900","ccis":["CCI-000057","CCI-001133","CCI-002361"]},{"vulnId":"V-282382","ruleId":"SV-282382r1200126_rule","severity":"medium","ruleTitle":"TOSS 5 must conceal via the session lock information previously visible on the display with a publicly viewable image.","description":"Setting the screensaver mode to blank-only conceals the contents of the display from passersby.","checkContent":"To ensure the screensaver is configured to be blank, run the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\n$ gsettings get org.gnome.desktop.screensaver picture-uri \n\nIf properly configured, the output should be \"''\".\n\nTo ensure that users cannot set the screensaver background, run the following: \n\n$ grep picture-uri /etc/dconf/db/local.d/locks/* \n\nIf properly configured, the output should be \"/org/gnome/desktop/screensaver/picture-uri\".\n\nIf it is not set or configured properly, this is a finding.","fixText":"Edit the \"dconf\" settings in the /etc/dconf/db/* location.\n\nFirst, add or update the [org/gnome/desktop/screensaver] section of the \"/etc/dconf/db/local.d/00-security-settings\" database file and add or update the following lines:\n\n[org/gnome/desktop/screensaver]\npicture-uri=''\n\nAdd the following line to \"/etc/dconf/db/local.d/locks/00-security-settings-lock\" to prevent user modification:\n\n/org/gnome/desktop/screensaver/picture-uri\n\nUpdate the dconf system databases:\n\n$ sudo dconf update","ccis":["CCI-000060"]},{"vulnId":"V-282383","ruleId":"SV-282383r1200129_rule","severity":"medium","ruleTitle":"TOSS 5 must log SSH connection attempts and failures to the server.","description":"SSH provides several logging levels with varying amounts of verbosity. \"DEBUG\" is specifically not recommended, other than strictly for debugging SSH communications, because it provides so much data that it is difficult to identify important security information. \"INFO\" or \"VERBOSE\" level are the basic levels that only record SSH user login activity. In many situations, such as Incident Response, it is important to determine when a particular user was active on a system. The logout record can eliminate those users who disconnected, which helps narrow the field.","checkContent":"Verify TOSS 5 logs SSH connection attempts and failures to the server.\n\nVerify what the SSH daemon's \"LogLevel\" option is set to using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*loglevel'\n\nLogLevel VERBOSE\n\nIf a value of \"VERBOSE\" is not returned or the line is commented out or missing, this is a finding.","fixText":"Configure TOSS 5 to log connection attempts add or modify the following line in \"/etc/ssh/sshd_config\":\n\nLogLevel VERBOSE\n\nRestart the SSH daemon for the settings to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000067"]},{"vulnId":"V-282384","ruleId":"SV-282384r1200132_rule","severity":"medium","ruleTitle":"All TOSS 5 remote access methods must be monitored.","description":"Logging remote access methods can be used to trace the decrease in the risks associated with remote user access management. It can also be used to spot cyberattacks and ensure ongoing compliance with organizational policies surrounding the use of remote access methods.","checkContent":"Verify TOSS 5 monitors all remote access methods.\n\nCheck that remote access methods are being logged using the following command:\n\n$ grep -rE '(auth.\\*|authpriv.\\*|daemon.\\*)' /etc/rsyslog.conf\n\n/etc/rsyslog.conf:authpriv.*\n \nIf \"auth.*\", \"authpriv.*\" or \"daemon.*\" are not configured to be logged, this is a finding.","fixText":"Add or update the following lines to the \"/etc/rsyslog.conf\" file:\n\nauth.*;authpriv.*;daemon.* /var/log/secure\n\nRestart the \"rsyslog\" service for the changes to take effect using the following command:\n\n$ sudo systemctl restart rsyslog.service","ccis":["CCI-000067"]},{"vulnId":"V-282385","ruleId":"SV-282385r1200135_rule","severity":"medium","ruleTitle":"TOSS 5 must force a frequent session key renegotiation for SSH connections to the server.","description":"Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. \n\nThis requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. \n\nProtecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.\n\nSession key regeneration limits the chances of a session key becoming compromised.\n\nSatisfies: SRG-OS-000033-GPOS-00014, SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188","checkContent":"Verify the SSH server is configured to force frequent session key renegotiation using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*rekeylimit'\n\nRekeyLimit 1G 1h\n\nIf \"RekeyLimit\" does not have a maximum data amount and maximum time defined, is missing, or is commented out, this is a finding.","fixText":"Configure TOSS 5 to force a frequent session key renegotiation for SSH connections to the server by adding or modifying the following line in the \"/etc/ssh/sshd_config\" file:\n\nRekeyLimit 1G 1h\n\nRestart the SSH daemon for the settings to take effect.\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000068","CCI-002418","CCI-002421"]},{"vulnId":"V-282386","ruleId":"SV-282386r1200138_rule","severity":"high","ruleTitle":"TOSS 5 IP tunnels must use FIPS 140-3-approved cryptographic algorithms.","description":"Overriding the system crypto policy makes the behavior of the Libreswan service violate expectations and makes system configuration more fragmented.","checkContent":"Verify the IPsec service uses the system crypto policy using the following command:\n\nNote: If the IPsec service is not installed, this requirement is not applicable.\n\n$ sudo grep include /etc/ipsec.conf /etc/ipsec.d/*.conf\n\n/etc/ipsec.conf:include /etc/crypto-policies/back-ends/libreswan.config\n\nIf the ipsec configuration file does not contain \"include /etc/crypto-policies/back-ends/libreswan.config\", this is a finding.","fixText":"Configure Libreswan to use the system cryptographic policy.\n\nAdd the following line to \"/etc/ipsec.conf\":\n\ninclude /etc/crypto-policies/back-ends/libreswan.config","ccis":["CCI-000068"]},{"vulnId":"V-282387","ruleId":"SV-282387r1200141_rule","severity":"low","ruleTitle":"TOSS 5 must enable auditing of processes that start prior to the audit daemon.","description":"Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nIf auditing is enabled late in the startup process, the actions of some startup processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000462-GPOS-00206, SRG-OS-000471-GPOS-00215, SRG-OS-000473-GPOS-00218, SRG-OS-000254-GPOS-00095","checkContent":"Verify that GRUB 2 is configured to enable auditing of processes that start prior to the audit daemon with the following command:\n\n$ sudo grubby --info=ALL | grep audit\n\nargs=\"ro crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet fips=1 audit=1 audit_backlog_limit=8192 pti=on \n\nIf \"audit\" is not set to \"1\" or is missing, this is a finding.","fixText":"Enable auditing of processes that start prior to the audit daemon with the following command:\n\n$ sudo grubby --update-kernel=ALL --args=\"audit=1\"\n\nAdd or modify the following line in \"/etc/default/grub\" to ensure the configuration survives kernel updates:\n\nGRUB_CMDLINE_LINUX=\"audit=1\"","ccis":["CCI-000130"]},{"vulnId":"V-282388","ruleId":"SV-282388r1201627_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the chmod, fchmod, and fchmodat system calls.","description":"Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"chmod\", \"fchmod\", and \"fchmodat\" system calls with the following command:\n\n$ sudo auditctl -l | grep chmod\n\n-a always,exit -F arch=b32 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=unset -k perm_mod\n-a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=unset -k perm_mod\n\nIf both the \"b32\" and \"b64\" audit rules are not defined for the \"chmod\", \"fchmod\", and \"fchmodat\" system calls, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"chmod\", \"fchmod\", and \"fchmodat\" syscalls.\n\nAdd or update the following rules in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F arch=b32 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=unset -k perm_mod\n\n-a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=unset -k perm_mod\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884"]},{"vulnId":"V-282389","ruleId":"SV-282389r1201629_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the chown, fchown, fchownat, and lchown system calls.","description":"Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the  \"chown\", \"fchown\", \"fchownat\", and \"lchown\" system calls with the following command:\n\n$ sudo auditctl -l | grep chown\n\n-a always,exit -F arch=b32 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=unset -k perm_mod\n-a always,exit -F arch=b64 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=unset -k perm_mod\n\nIf both the \"b32\" and \"b64\" audit rules are not defined for the \"chown\", \"fchown\", \"fchownat\", and \"lchown\" system calls, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"chown\", \"fchown\", \"fchownat\", and \"lchown\"\" system calls.\n\nAdd or update the following rules in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F arch=b32 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=unset -k perm_mod\n-a always,exit -F arch=b64 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=unset -k perm_mod\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282390","ruleId":"SV-282390r1201503_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls.","description":"Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"setxattr\", \"fsetxattr\", \"lsetxattr\", \"removexattr\", \"fremovexattr\", and \"lremovexattr\" system calls with the following command:\n\n$ sudo auditctl -l | grep xattr\n\n-a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid>=1000 -F auid!=unset -k perm_mod\n-a always,exit -F arch=b64 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid>=1000 -F auid!=unset -k perm_mod\n\n-a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid=0 -k perm_mod\n-a always,exit -F arch=b64 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid=0 -k perm_mod\n\nIf both the \"b32\" and \"b64\" audit rules are not defined for the \"chmod\", \"fchmod\", and \"fchmodat\" system calls \"setxattr\", \"fsetxattr\", \"lsetxattr\", \"removexattr\", \"fremovexattr\", and \"lremovexattr\" system calls, or any of the lines returned are commented out, this is a finding.","fixText":"Configure TOSS 5 to audit the execution of the \"setxattr\", \"fsetxattr\", \"lsetxattr\", \"removexattr\", \"fremovexattr\", and \"lremovexattr\" system calls by adding or updating the following lines to \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid>=1000 -F auid!=unset -k perm_mod\n-a always,exit -F arch=b64 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid>=1000 -F auid!=unset -k perm_mod\n\n-a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid=0 -k perm_mod\n-a always,exit -F arch=b64 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid=0 -k perm_mod\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282391","ruleId":"SV-282391r1201505_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of umount system calls.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"umount\" command with the following command:\n\n$ sudo auditctl -l | grep umount\n\n-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount\n\nIf the command does not return an audit rule for \"umount\" or any of the lines returned are commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"umount\" command by adding or updating the following rules in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282392","ruleId":"SV-282392r1201507_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the chacl command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"chacl\" command with the following command:\n\n$ sudo auditctl -l | grep chacl\n\n-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"chacl\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282393","ruleId":"SV-282393r1201509_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the setfacl command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"setfacl\" command with the following command:\n\n$ sudo auditctl -l | grep setfacl\n\n-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"setfacl\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282394","ruleId":"SV-282394r1201511_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the chcon command.","description":"Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"chcon\" command with the following command:\n\n$ sudo auditctl -l | grep chcon\n\n-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"chcon\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=unset -k perm_mod\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282395","ruleId":"SV-282395r1201513_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the semanage command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"semanage\" command with the following command:\n\n$ sudo auditctl -l | grep semanage\n\n-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"semanage\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282396","ruleId":"SV-282396r1201515_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the setfiles command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"setfiles\" command with the following command:\n\n$ sudo auditctl -l | grep setfiles\n\n-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"setfiles\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282397","ruleId":"SV-282397r1201517_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the setsebool command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"setsebool\" command with the following command:\n\n$ sudo auditctl -l | grep setsebool\n\n -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged \n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate an audit event for any successful/unsuccessful use of the \"setsebool \" command by adding or updating the following rules in the \"/etc/audit/rules.d/audit.rules\" file:\n\n-a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=unset -F key=privileged \n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282398","ruleId":"SV-282398r1201519_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the rename, unlink, rmdir, renameat, and unlinkat system calls.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit successful/unsuccessful attempts to use the \"rename\", \"unlink\", \"rmdir\", \"renameat\", and \"unlinkat\" system calls with the following command:\n\n$ sudo auditctl -l | grep 'rename\\|unlink\\|rmdir'\n\n-a always,exit -F arch=b32 -S rename,unlink,rmdir,renameat,unlinkat -F auid>=1000 -F auid!=unset -k delete\n-a always,exit -F arch=b64 -S rename,unlink,rmdir,renameat,unlinkat -F auid>=1000 -F auid!=unset -k delete\n\nIf the command does not return an audit rule for \"rename\", \"unlink\", \"rmdir\", \"renameat\", and \"unlinkat\" or any of the lines returned are commented out, this is a finding.","fixText":"Configure TOSS 5 to generate an audit event for any successful/unsuccessful use of the \"rename\", \"unlink\", \"rmdir\", \"renameat\", and \"unlinkat\" system calls by adding or updating the following rules in the \"/etc/audit/rules.d/audit.rules\" file:\n\n-a always,exit -F arch=b32 -S rename,unlink,rmdir,renameat,unlinkat -F auid>=1000 -F auid!=unset -k delete\n-a always,exit -F arch=b64 -S rename,unlink,rmdir,renameat,unlinkat -F auid>=1000 -F auid!=unset -k delete\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282399","ruleId":"SV-282399r1201521_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the truncate, ftruncate, creat, open, openat, and open_by_handle_at system calls.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit successful/unsuccessful attempts to use the \"truncate\", \"ftruncate\", \"creat\", \"open\", \"openat\", and \"open_by_handle_at\" system calls with the following command:\n\n$ sudo auditctl -l | grep 'open\\|truncate\\|creat' \n\n-a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k perm_access\n-a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k perm_access\n\n-a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k perm_access\n-a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k perm_access\n\nIf the output does not produce rules containing \"-F exit=-EPERM\", this is a finding.\n\nIf the output does not produce rules containing \"-F exit=-EACCES\", this is a finding.\n\nIf the command does not return an audit rule for \"truncate\", \"ftruncate\", \"creat\", \"open\", \"openat\", and \"open_by_handle_at\" or any of the lines returned are commented out, this is a finding.","fixText":"Configure TOSS 5 to generate an audit event for any successful/unsuccessful use of the \"truncate\", \"ftruncate\", \"creat\", \"open\", \"openat\", and \"open_by_handle_at\" system calls by adding or updating the following rules in the \"/etc/audit/rules.d/audit.rules\" file:\n\n-a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k perm_access\n-a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -k perm_access\n\n-a always,exit -F arch=b32 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k perm_access\n-a always,exit -F arch=b64 -S truncate,ftruncate,creat,open,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -k perm_access\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282400","ruleId":"SV-282400r1201523_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the delete_module system call.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"delete_module\" system call with the following command:\n\n$ sudo auditctl -l | grep delete_module\n\n-a always,exit -F arch=b32 -S delete_module -F auid>=1000 -F auid!=unset -k module_chng\n-a always,exit -F arch=b64 -S delete_module -F auid>=1000 -F auid!=unset -k module_chng\n\nIf both the \"b32\" and \"b64\" audit rules are not defined for the \"delete_module\" system call, or any of the lines returned are commented out, this is a finding.","fixText":"Configure TOSS 5 to generate an audit event for any successful/unsuccessful use of the \"delete_module\" system call by adding or updating the following rules in the \"/etc/audit/rules.d/audit.rules\" file:\n\n-a always,exit -F arch=b32 -S delete_module -F auid>=1000 -F auid!=unset -k module_chng\n-a always,exit -F arch=b64 -S delete_module -F auid>=1000 -F auid!=unset -k module_chng\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282401","ruleId":"SV-282401r1201525_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the init_module and finit_module system calls.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"init_module\" and \"finit_module\" system calls with the following command:\n\n$ sudo auditctl -l | grep init_module\n\n-a always,exit -F arch=b32 -S init_module,finit_module -F auid>=1000 -F auid!=unset -k module_chng\n-a always,exit -F arch=b64 -S init_module,finit_module -F auid>=1000 -F auid!=unset -k module_chng\n\nIf both the \"b32\" and \"b64\" audit rules are not defined for the \"delete_module\" system call, or any of the lines returned are commented out, this is a finding.","fixText":"Configure TOSS 5 to generate an audit event for any successful/unsuccessful use of the \"init_module\" and \"finit_module\" system calls by adding or updating the following rules in the \"/etc/audit/rules.d/audit.rules\" file:\n\n-a always,exit -F arch=b32 -S init_module,finit_module -F auid>=1000 -F auid!=unset -k module_chng\n-a always,exit -F arch=b64 -S init_module,finit_module -F auid>=1000 -F auid!=unset -k module_chng\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282402","ruleId":"SV-282402r1201527_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the chage command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"chage\" command with the following command:\n\n$ sudo auditctl -l | grep chage\n\n-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"chage\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=unset -k privileged-chage\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282403","ruleId":"SV-282403r1201529_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the chsh command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"chsh\" command with the following command:\n\n$ sudo auditctl -l | grep chsh\n\n-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"chsh\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282404","ruleId":"SV-282404r1201531_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the crontab command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"crontab\" command with the following command:\n\n$ sudo auditctl -l | grep crontab\n\n-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"crontab\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -k privileged-crontab\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282405","ruleId":"SV-282405r1201533_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the gpasswd command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"gpasswd\" command with the following command:\n\n$ sudo auditctl -l | grep gpasswd\n\n-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"gpasswd\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-gpasswd\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282406","ruleId":"SV-282406r1201535_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the kmod command.","description":"Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"kmod\" command with the following command:\n\n$ sudo auditctl -l | grep kmod\n\n-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k modules\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"kmod\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/kmod -F perm=x -F auid>=1000 -F auid!=unset -k modules\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282407","ruleId":"SV-282407r1201537_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the newgrp command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"newgrp\" command with the following command:\n\n$ sudo auditctl -l | grep newgrp\n\n-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"newgrp\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282408","ruleId":"SV-282408r1201539_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the pam_timestamp_check command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"pam_timestamp_check\" command with the following command:\n\n$ sudo auditctl -l | grep timestamp\n\n-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"pam_timestamp_check\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=unset -k privileged-pam_timestamp_check\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282409","ruleId":"SV-282409r1201541_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the passwd command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/gshadow\" with the following command:\n\n$ sudo auditctl -l | egrep '(/usr/bin/passwd)' \n\n-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"passwd\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-passwd\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282410","ruleId":"SV-282410r1201543_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the postdrop command.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"postdrop\" command with the following command:\n\n$ sudo auditctl -l | grep postdrop\n\n-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"postdrop\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282411","ruleId":"SV-282411r1201545_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the postqueue command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"postqueue\" command with the following command:\n\n$ sudo auditctl -l | grep postqueue\n\n-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"postqueue\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282412","ruleId":"SV-282412r1201547_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the ssh-agent command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"ssh-agent\" command with the following command:\n\n$ sudo auditctl -l | grep ssh-agent\n\n-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"ssh-agent\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282413","ruleId":"SV-282413r1201549_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the ssh-keysign command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"ssh-keysign\" command with the following command:\n\n$ sudo auditctl -l | grep ssh-keysign\n\n-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"ssh-keysign\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=unset -k privileged-ssh\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282414","ruleId":"SV-282414r1201551_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the su command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"su\" command with the following command:\n\n$ sudo auditctl -l | grep /usr/bin/su\n\n-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-priv_change\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"su\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=unset -k privileged-priv_change\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282415","ruleId":"SV-282415r1201553_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the sudo command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"sudo\" command with the following command:\n\n$ sudo auditctl -l | grep /usr/bin/sudo\n\n-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"sudo\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282416","ruleId":"SV-282416r1201555_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the sudoedit command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"sudoedit\" command with the following command:\n\n$ sudo auditctl -l | grep /usr/bin/sudoedit\n\n-a always,exit -F path=/usr/bin/sudoedit -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"sudoedit\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/sudoedit -F perm=x -F auid>=1000 -F auid!=unset -k priv_cmd\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282417","ruleId":"SV-282417r1201557_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the unix_chkpwd command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"unix_chkpwd\" command with the following command:\n\n$ sudo auditctl -l | grep unix_chkpwd\n\n-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"unix_chkpwd\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282418","ruleId":"SV-282418r1201559_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the unix_update command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"unix_update\" command with the following command:\n\n$ sudo auditctl -l | grep unix_update\n\n-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"unix_update\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282419","ruleId":"SV-282419r1201561_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the userhelper command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"userhelper\" command with the following command:\n\n$ sudo auditctl -l | grep userhelper\n\n-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"userhelper\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282420","ruleId":"SV-282420r1201563_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the usermod command.","description":"Without generating audit record specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"usermod\" command with the following command:\n\n$ sudo auditctl -l | grep usermod\n\n-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"usermod \" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=unset -k privileged-usermod\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282421","ruleId":"SV-282421r1201565_rule","severity":"medium","ruleTitle":"TOSS 5 must audit all uses of the mount command.","description":"Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nWhen a user logs on, the auid is set to the uid of the account that is being authenticated. Daemons are not user sessions and have the loginuid set to -1. The auid representation is an unsigned 32-bit integer, which equals 4294967295. The audit system interprets -1, 4294967295, and \"unset\" in the same way.\n\nThe system call rules are loaded into a matching engine that intercepts each system call made by all programs on the system. Therefore, it is very important to use system call rules only when absolutely necessary since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining system calls into one rule whenever possible.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 is configured to audit the execution of the \"mount\" command with the following command:\n\n$ sudo auditctl -l | grep /usr/bin/mount\n\n-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records upon successful/unsuccessful attempts to use the \"mount\" command by adding or updating the following rule in \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=unset -k privileged-mount\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282422","ruleId":"SV-282422r1201567_rule","severity":"medium","ruleTitle":"Successful/unsuccessful uses of the umount system call in TOSS 5 must generate an audit record.","description":"The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify that TOSS 5 generates an audit record for all uses of the \"umount\" and system call with the following command:\n\n$ sudo grep \"umount\" /etc/audit/audit.* \n\n-a always,exit -F arch=b32 -S umount -F auid>=1000 -F auid!=unset -k privileged-umount\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"umount\" system call by adding or updating the following rules in \"/etc/audit/audit.rules\" and adding the following rules to \"/etc/audit/rules.d/perm_mod.rules\" or updating the existing rules in files in the \"/etc/audit/rules.d/\" directory:\n\n-a always,exit -F arch=b32 -S umount -F auid>=1000 -F auid!=unset -k privileged-umount\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282423","ruleId":"SV-282423r1201569_rule","severity":"medium","ruleTitle":"Successful/unsuccessful uses of the umount2 system call in TOSS 5 must generate an audit record.","description":"The changing of file permissions could indicate that a user is attempting to gain access to information that would otherwise be disallowed. Auditing DAC modifications can facilitate the identification of patterns of abuse among both authorized and unauthorized users.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"To determine if the system is configured to audit calls to the  umount2 system call, run the following command:\n\n$ sudo grep \"umount2\" /etc/audit/audit.* \n\nIf no line is returned, this is a finding.","fixText":"Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"umount2\" system call by adding or updating the following rules in \"/etc/audit/audit.rules\" and adding the following rules to \"/etc/audit/rules.d/perm_mod.rules\" or updating the existing rules in files in the \"/etc/audit/rules.d/\" directory:\n\n-a always,exit -F arch=b32 -S umount2 -F auid>=1000 -F auid!=unset -k perm_mod\n-a always,exit -F arch=b64 -S umount2 -F auid>=1000 -F auid!=unset -k perm_mod\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282424","ruleId":"SV-282424r1201571_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/lastlog.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000042-GPOS-00020, SRG-OS-000062-GPOS-00031, SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/var/log/lastlog\" with the following command:\n\n$ sudo auditctl -l | grep /var/log/lastlog\n \n-w /var/log/lastlog -p wa -k logins\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/var/log/lastlog\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /var/log/lastlog -p wa -k logins\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000130","CCI-000135","CCI-000169","CCI-002884","CCI-000172"]},{"vulnId":"V-282425","ruleId":"SV-282425r1201625_rule","severity":"medium","ruleTitle":"TOSS 5 must label all offloaded audit logs before sending them to the central log server.","description":"Enriched logging is needed to determine who, what, and when events occur on a system. Without this, determining root cause of an event will be much more difficult.\n\nWhen audit logs are not labeled before they are sent to a central log server, the audit data will not be able to be analyzed and tied back to the correct system.","checkContent":"Verify that TOSS 5 Audit Daemon is configured to label all offloaded audit logs, with the following command:\n\n$ sudo grep name_format /etc/audit/auditd.conf\n\nname_format = hostname\n\nIf the \"name_format\" option is not \"hostname\", \"fqd\", or \"numeric\", or the line is commented out, this is a finding.","fixText":"Edit the /etc/audit/auditd.conf file and add or update the \"name_format\" option:\n\nname_format = hostname\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000132"]},{"vulnId":"V-282426","ruleId":"SV-282426r1200258_rule","severity":"medium","ruleTitle":"TOSS 5 must forward mail from postmaster to the root account using a postfix alias.","description":"It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected.\n\nAudit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded.","checkContent":"Verify the administrators are notified in the event of an audit processing failure.\n\nVerify the \"/etc/aliases\" file has a defined value for \"root\".\n\n$ sudo grep \"postmaster:\\s*root$\" /etc/aliases\n\nIf the command does not return a line, or the line is commented out, ask the system administrator to indicate how they and the information systems security officer (ISSO) are notified of an audit process failure. If there is no evidence of the proper personnel being notified of an audit processing failure, this is a finding.","fixText":"Configure a valid email address as an alias for the root account.\n\nAppend the following line to \"/etc/aliases\":\n\npostmaster: root\n\nRun the following command:\n\n$ sudo newaliases","ccis":["CCI-000139"]},{"vulnId":"V-282427","ruleId":"SV-282427r1200261_rule","severity":"medium","ruleTitle":"TOSS 5 system administrators (SAs) and/or information system security officer (ISSOs) (at a minimum) must be alerted of an audit processing failure event.","description":"It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected.\n\nAudit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded.\n\nThis requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.\n\nSatisfies: SRG-OS-000046-GPOS-00022, SRG-OS-000343-GPOS-00134","checkContent":"Verify TOSS 5 is configured to notify the SA and/or ISSO (at a minimum) in the event of an audit processing failure using the following command:\n\n$ sudo grep action_mail_acct /etc/audit/auditd.conf\n\naction_mail_acct = root\n\nIf the value of the \"action_mail_acct\" keyword is not set to \"root\" and/or other accounts for security personnel, the \"action_mail_acct\" keyword is missing, or the retuned line is commented out, ask the SA to indicate how they and the ISSO are notified of an audit process failure. If there is no evidence of the proper personnel being notified of an audit processing failure, this is a finding.","fixText":"Configure \"auditd\" service to notify the SA and ISSO in the event of an audit processing failure.\n\nEdit the following line in \"/etc/audit/auditd.conf\" to ensure that administrators are notified via email for those situations:\n\naction_mail_acct = root\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000139","CCI-001855"]},{"vulnId":"V-282428","ruleId":"SV-282428r1200264_rule","severity":"medium","ruleTitle":"TOSS 5 must have mail aliases to notify the information system security officer (ISSO) and system administrator (SA) (at a minimum) in the event of an audit processing failure.","description":"It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected.\n\nAudit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded.\n\nThis requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.","checkContent":"Verify TOSS 5 is configured to notify the appropriate interactive users in the event of an audit processing failure.\n\nFind the alias maps in use with the following command:\n\n$ postconf alias_maps \n\nalias_maps = hash:/etc/aliases\n\nQuery the Postfix alias maps for an alias for the root user with the following command:\n\n$ postmap -q root hash:/etc/aliases\nisso\n\nIf an alias is not set, this is a finding.","fixText":"Edit the aliases map file (by default, /etc/aliases) used by Postfix and configure a root alias (using the user ISSO as an example):\n\nroot:    ISSO\n\nUpdate the aliases database with the command:\n\n$ sudo newaliases","ccis":["CCI-000139"]},{"vulnId":"V-282429","ruleId":"SV-282429r1200267_rule","severity":"medium","ruleTitle":"TOSS 5 must take appropriate action when a critical audit processing failure occurs.","description":"It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected.\n\nAudit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded.","checkContent":"Verify the audit service is configured to panic on a critical error using the following command:\n\n$ sudo grep \"\\-f\" /etc/audit/audit.rules \n\n-f 2\n\nIf the value for \"-f\" is not \"2\", and availability is not documented as an overriding concern, this is a finding.","fixText":"Configure TOSS 5 to shut down when auditing failures occur.\n\nAdd the following line to the bottom of the \"/etc/audit/audit.rules\" file:\n\n-f 2","ccis":["CCI-000139"]},{"vulnId":"V-282430","ruleId":"SV-282430r1200270_rule","severity":"medium","ruleTitle":"TOSS 5 must periodically flush audit records to disk to prevent the loss of audit records.","description":"If option \"freq\" is not set to a value that requires audit records being written to disk after a threshold number is reached, then audit records may be lost.","checkContent":"Verify the audit system is configured to flush to disk after every 100 records using the following command:\n\n$ sudo grep freq /etc/audit/auditd.conf \n\nfreq = 100 \n\nIf \"freq\" isn't set to a value between \"1\" and \"100\", the value is missing, or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to flush audit to disk by adding or updating the following rule in \"/etc/audit/auditd.conf\":\n\nfreq = 100\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000154"]},{"vulnId":"V-282431","ruleId":"SV-282431r1200273_rule","severity":"medium","ruleTitle":"TOSS 5 audit logs must be group-owned by root or by a restricted logging group to prevent unauthorized read access.","description":"Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084","checkContent":"Verify the audit logs are group-owned by \"root\" or a restricted logging group. \n\nFirst determine if a group other than \"root\" has been assigned to the audit logs using the following command:\n\n$ sudo grep log_group /etc/audit/auditd.conf\n\nDetermine where the audit logs are stored using the following command:\n\n$ sudo grep -iw log_file /etc/audit/auditd.conf\n\nlog_file = /var/log/audit/audit.log\n\nUsing the location of the audit log file, determine if the audit log is group-owned by \"root\" using the following command:\n\n$ sudo stat -c \"%G %n\" /var/log/audit/audit.log\n\nroot /var/log/audit/audit.log\n\nIf the audit log is not group-owned by \"root\" or the configured alternative logging group, this is a finding.","fixText":"Change the group of the directory of \"/var/log/audit\" to be owned by a correct group.\n\nIdentify the group that is configured to own audit log:\n\n$ sudo grep -P '^[ ]*log_group[ ]+=.*$' /etc/audit/auditd.conf\n\nChange the ownership to that group:\n\n$ sudo chgrp ${GROUP} /var/log/audit","ccis":["CCI-000162","CCI-000163","CCI-000164","CCI-001314"]},{"vulnId":"V-282432","ruleId":"SV-282432r1200276_rule","severity":"medium","ruleTitle":"TOSS 5 audit log directory must be owned by root to prevent unauthorized read access.","description":"Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084","checkContent":"Verify the audit logs directory is owned by \"root\". \n\nDetermine where the audit logs are stored using the following command:\n\n$ sudo grep -iw log_file /etc/audit/auditd.conf\n\nlog_file = /var/log/audit/audit.log\n\nUsing the location of the audit log file, determine if the audit log directory is owned by \"root\" using the following command:\n\n$ sudo ls -ld /var/log/audit\n\ndrwx------ 2 root root 23 Jun 11 11:56 /var/log/audit\n\nIf the audit log directory is not owned by \"root\", this is a finding.","fixText":"Configure the audit log to be protected from unauthorized read access by setting the correct owner as \"root\" using the following command:\n\n$ sudo chown root /var/log/audit","ccis":["CCI-000162","CCI-000163","CCI-000164","CCI-001314"]},{"vulnId":"V-282433","ruleId":"SV-282433r1200279_rule","severity":"medium","ruleTitle":"TOSS 5 audit logs file must have mode 0600 or less permissive to prevent unauthorized access to the audit log.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the TOSS 5 system or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000206-GPOS-00084","checkContent":"Verify the audit logs have a mode of \"0600\". \n\nDetermine where the audit logs are stored using the following command:\n\n$ sudo grep -iw log_file /etc/audit/auditd.conf\n\nlog_file = /var/log/audit/audit.log\n\nUsing the location of the audit log file, determine if the audit log files as a mode of \"0640\" using the following command:\n\n$ sudo ls -la /var/log/audit/*.log\n\nrw-------. 2 root root 237923 Jun 11 11:56 /var/log/audit/audit.log\n\nIf the audit logs have a mode more permissive than \"0600\", this is a finding.","fixText":"Configure the audit logs to have a mode of \"0600\" using the following command:\n\nReplace \"[audit_log_file]\" to the correct audit log path, by default this location is \"/var/log/audit/audit.log\".\n\n$ sudo chmod 0600 /var/log/audit/[audit_log_file]\n\nCheck the group that owns the system audit logs:\n\n$ sudo grep -m 1 -q ^log_group /etc/audit/auditd.conf\n\nIf the \"log_group\" is not defined or it is set to \"root\", configure the permissions as follows:\n\n$ sudo chmod 0640 $log_file\n$ sudo chmod 0440 $log_file.*\n\nOtherwise, configure the permissions as follows:\n\n$ sudo chmod 0600 $log_file\n$ sudo chmod 0400 $log_file.*","ccis":["CCI-000162","CCI-000163","CCI-000164","CCI-001314"]},{"vulnId":"V-282434","ruleId":"SV-282434r1200282_rule","severity":"medium","ruleTitle":"TOSS 5 audit system must protect login user identifiers (UIDs) from unauthorized change.","description":"If modification of login UIDs is not prevented, they can be changed by nonprivileged users and make auditing complicated or impossible.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029, SRG-OS-000462-GPOS-00206, SRG-OS-000475-GPOS-00220","checkContent":"Verify the audit system prevents unauthorized changes to login UIDs using the following command:\n\n$ sudo grep -i immutable /etc/audit/audit.rules\n\n--loginuid-immutable\n\nIf the \"--loginuid-immutable\" option is not returned in the \"/etc/audit/audit.rules\", or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 auditing to prevent modification of login UIDs once they are set by adding the following line to \"/etc/audit/rules.d/audit.rules\":\n\n--loginuid-immutable\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000162","CCI-000163","CCI-000164","CCI-000172"]},{"vulnId":"V-282435","ruleId":"SV-282435r1200285_rule","severity":"medium","ruleTitle":"TOSS 5 audit system must protect auditing rules from unauthorized change.","description":"Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality.\n\nAudit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit TOSS 5 system activity.\n\nIn immutable mode, unauthorized users cannot execute changes to the audit system to potentially hide malicious activity and then put the audit rules back. A system reboot would be noticeable, and a system administrator could then investigate the unauthorized changes.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029","checkContent":"Verify the audit system prevents unauthorized changes using the following command:\n\n$ sudo grep \"^\\s*[^#]\" /etc/audit/audit.rules | tail -1\n\n-e 2\n\nIf the audit system is not set to be immutable by adding the \"-e 2\" option to the end of \"/etc/audit/audit.rules\", this is a finding.","fixText":"Configure the audit system to set the audit rules to be immutable by adding the following line to end of \"/etc/audit/rules.d/audit.rules\":\n\n-e 2\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000162","CCI-000163","CCI-000164"]},{"vulnId":"V-282436","ruleId":"SV-282436r1200288_rule","severity":"low","ruleTitle":"TOSS 5 must enable Linux audit logging for the USBGuard daemon.","description":"Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nIf auditing is enabled late in the startup process, the actions of some startup processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nThe list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system can generate audit records.\n\nDOD has defined the list of events for which TOSS 5 will provide an audit record generation capability as the following:\n\n1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels);\n\n2) Access actions, such as successful and unsuccessful login attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logins from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system;\n\n3) All account creations, modifications, disabling, and terminations; and \n\n4) All kernel module load, unload, and restart actions.","checkContent":"Verify Linux Audit logging is enabled for the USBGuard daemon using the following command:\n\n$ sudo grep AuditBackend /etc/usbguard/usbguard-daemon.conf \n\nAuditBackend=LinuxAudit \n\nIf \"AuditBackend\" is not set to \"LinuxAudit\", this is a finding.","fixText":"Configure TOSS 5 USBGuard AuditBackend to use the audit system.\n\nAdd or edit the following line in \"/etc/usbguard/usbguard-daemon.conf\":\n\nAuditBackend=LinuxAudit","ccis":["CCI-000169"]},{"vulnId":"V-282437","ruleId":"SV-282437r1200291_rule","severity":"medium","ruleTitle":"TOSS 5 audit package must be installed.","description":"Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack.\n\nAudit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked.\n\nAssociating event types with detected events in audit logs provides a means of investigating an attack, recognizing resource utilization or capacity thresholds, or identifying an improperly configured TOSS 5 system.\n\nSatisfies: SRG-OS-000062-GPOS-00031, 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-000365-GPOS-00152, SRG-OS-000392-GPOS-00172, SRG-OS-000458-GPOS-00203, SRG-OS-000461-GPOS-00205, SRG-OS-000463-GPOS-00207, SRG-OS-000465-GPOS-00209, SRG-OS-000467-GPOS-00211, SRG-OS-000468-GPOS-00212, SRG-OS-000471-GPOS-00216, SRG-OS-000473-GPOS-00218, SRG-OS-000475-GPOS-00220","checkContent":"Verify the TOSS 5 audit service package is installed.\n\nCheck that the audit service package is installed using the following command:\n\n$ sudo dnf list --installed audit\n\nExample output:\n\naudit-3.0.7-101.el9_0.2.x86_64\n\nIf the \"audit\" package is not installed, this is a finding.","fixText":"Install the audit service package (if the audit service is not already installed) using the following command:\n\n$ sudo dnf install audit","ccis":["CCI-000169","CCI-001879","CCI-001880","CCI-001881","CCI-001882","CCI-001889","CCI-003938","CCI-002884","CCI-000172"]},{"vulnId":"V-282438","ruleId":"SV-282438r1200294_rule","severity":"medium","ruleTitle":"TOSS 5 audit service must be enabled.","description":"Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. Ensuring the \"auditd\" service is active ensures audit records generated by the kernel are appropriately recorded.\n\nAdditionally, a properly configured audit subsystem ensures that actions of individual system users can be uniquely traced to those users so they can be held accountable for their actions.\n\nSatisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000352-GPOS-00140, SRG-OS-000353-GPOS-00141, SRG-OS-000354-GPOS-00142, SRG-OS-000358-GPOS-00145, SRG-OS-000365-GPOS-00152, SRG-OS-000392-GPOS-00172, SRG-OS-000475-GPOS-00220","checkContent":"Verify the audit service is configured to produce audit records using the following command:\n\n$ systemctl status auditd.service\n\nauditd.service - Security Auditing Service\nLoaded:loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled)\nActive: active (running) since Tues 2022-05-24 12:56:56 EST; 4 weeks 0 days ago\n\nIf the audit service is not \"active\" and \"running\", this is a finding.","fixText":"To enable the audit service, run the following command:\n\n$ sudo systemctl enable --now auditd","ccis":["CCI-000169","CCI-001880","CCI-001881","CCI-001882","CCI-001889","CCI-003938","CCI-002884","CCI-000172"]},{"vulnId":"V-282439","ruleId":"SV-282439r1200297_rule","severity":"medium","ruleTitle":"The TOSS 5 audit system must audit local events.","description":"Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack.\n\nIf option \"local_events\" isn't set to \"yes\", only events from network will be aggregated.","checkContent":"Verify the TOSS 5 audit system is configured to audit local events using the following command:\n\n$ sudo grep local_events /etc/audit/auditd.conf \n\nlocal_events = yes \n\nIf \"local_events\" is not set to \"yes\", if the command does not return a line, or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for local events by adding or updating the following line in \"/etc/audit/auditd.conf\":\n\nlocal_events = yes \n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-000169"]},{"vulnId":"V-282440","ruleId":"SV-282440r1200300_rule","severity":"medium","ruleTitle":"TOSS 5 must allow only the information system security manager (ISSM) (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited.","description":"Without the capability to restrict the roles and individuals that can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.","checkContent":"Verify the files in directory \"/etc/audit/rules.d/\" and \"/etc/audit/auditd.conf\" file have a mode of \"0640\" or less permissive using the following command:\n\n# stat -c \"%a %n\"  /etc/audit/rules.d/*.rules\n\n640 /etc/audit/rules.d/audit.rules \n\nIf the files in the \"/etc/audit/rules.d/\" directory or the \"/etc/audit/auditd.conf\" file have a mode more permissive than \"0640\", this is a finding.","fixText":"Configure the files in directory \"/etc/audit/rules.d/\" and the \"/etc/audit/auditd.conf\" file to have a mode of \"0640\" with the following commands:\n\n$ sudo chmod 0640 /etc/audit/rules.d/audit.rules\n$ sudo chmod 0640 /etc/audit/rules.d/[customrulesfile].rules\n$ sudo chmod 0640 /etc/audit/auditd.conf","ccis":["CCI-000171"]},{"vulnId":"V-282441","ruleId":"SV-282441r1200303_rule","severity":"medium","ruleTitle":"TOSS 5 /etc/audit/auditd.conf file must have 0640 or less permissive to prevent unauthorized access.","description":"Without the capability to restrict the roles and individuals that can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.","checkContent":"Verify the mode of the \"/etc/audit/auditd.conf\" file with the command:\n\n$ sudo stat -c \"%a %n\" /etc/audit/auditd.conf\n\n640 /etc/audit/auditd.conf\n\nIf \"/etc/audit/auditd.conf\" does not have a mode of \"0640\", this is a finding.","fixText":"Set the mode of the \"/etc/audit/auditd.conf\" file to \"0640\" with the command:\n\n$ sudo chmod 0640 /etc/audit/auditd.conf","ccis":["CCI-000171"]},{"vulnId":"V-282442","ruleId":"SV-282442r1200306_rule","severity":"medium","ruleTitle":"TOSS 5, for PKI-based authentication, must validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.","description":"Without path validation, an informed trust decision by the relying party cannot be made when presented with any certificate not already explicitly trusted.\n\nA trust anchor is an authoritative entity represented via a public key and associated data. It is used in the context of public key infrastructures, X.509 digital certificates, and DNSSEC.\n\nWhen there is a chain of trust, usually the top entity to be trusted becomes the trust anchor; it can be, for example, a Certification Authority (CA). A certification path starts with the subject certificate and proceeds through a number of intermediate certificates up to a trusted root certificate, typically issued by a trusted CA.\n\nThis requirement verifies that a certification path to an accepted trust anchor is used for certificate validation and that the path includes status information. Path validation is necessary for a relying party to make an informed trust decision when presented with any certificate not already explicitly trusted. Status information for certification paths includes certificate revocation lists or online certificate status protocol responses. Validating the certificate status information is out of scope for this requirement.\n\nSatisfies: SRG-OS-000066-GPOS-00034, SRG-OS-000384-GPOS-00167","checkContent":"If PKI-based authentication is used, verify TOSS 5 has valid certificates by constructing a certification path (which includes status information) to an accepted trust anchor.\n\nCheck that the system has a valid DOD root CA installed using the following command:\n\nNote: If the system does not support PKI authentication, this requirement is not applicable.\n\n$ sudo openssl x509 -text -in /etc/sssd/pki/sssd_auth_ca_db.pem\n\nCertificate:\nData:\nVersion: 3 (0x2)\nSerial Number: 1 (0x1)\nSignature Algorithm: sha256WithRSAEncryption\nIssuer: C = US, O = U.S. Government, OU = DOD, OU = PKI, CN = DOD Root CA 3\nValidity\nNot Before: Mar 20 18:46:41 2012 GMT\nNot After : Dec 30 18:46:41 2029 GMT\nSubject: C = US, O = U.S. Government, OU = DOD, OU = PKI, CN = DOD Root CA 3\nSubject Public Key Info:\nPublic Key Algorithm: rsaEncryption\n\nIf the root CA file is not a DOD-issued certificate with a valid date and installed in the \"/etc/sssd/pki/sssd_auth_ca_db.pem\" location, this is a finding.","fixText":"If PKI-based authentication is used, configure TOSS 5 to validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.\n\nObtain a valid copy of the DOD root CA file from the PKI CA certificate bundle from cyber.mil and copy it into the following file:\n\n/etc/sssd/pki/sssd_auth_ca_db.pem","ccis":["CCI-000185","CCI-004068"]},{"vulnId":"V-282443","ruleId":"SV-282443r1200309_rule","severity":"medium","ruleTitle":"TOSS 5, for public key infrastructure (PKI)-based authentication, must enforce authorized access to the corresponding private key.","description":"If the private key is discovered, an attacker can use it to authenticate as an authorized user and gain access to the network infrastructure.\n\nThe cornerstone of the PKI is the private key used to encrypt or digitally sign information.\n\nIf the private key is stolen, this will lead to the compromise of the authentication and nonrepudiation gained through PKI because the attacker can use the private key to digitally sign documents and pretend to be the authorized user.\n\nBoth the holders of a digital certificate and the issuing authority must protect the computers, storage devices, or whatever they use to keep the private keys.","checkContent":"If the system does not allow PKI authentication, this requirement is not applicable. \n\nVerify the operating system, for PKI-based authentication, enforces authorized access to the corresponding private key.\n\nVerify the SSH private key files have a passphrase.\n\nFor each private key stored on the system, use the following command:\n\n$ sudo ssh-keygen -y -f /path/to/file\n\nIf the contents of the key are displayed, and use of un-passphrased Secure Shell (SSH) keys is not documented with the information system security officer, this is a finding.","fixText":"Create a new private and public key pair that uses a passcode using the following command:\n\n$ sudo ssh-keygen -n [passphrase]","ccis":["CCI-000186"]},{"vulnId":"V-282444","ruleId":"SV-282444r1200312_rule","severity":"medium","ruleTitle":"TOSS 5 must map the authenticated identity to the user or group account for PKI-based authentication.","description":"Without mapping the certificate used to authenticate to the user account, the ability to determine the identity of the individual user or group will not be available for forensic analysis.","checkContent":"Verify the certificate of the user or group is mapped to the corresponding user or group in the \"sssd.conf\" file using the following command:\n\n$ sudo cat /etc/sssd/sssd.conf \n \n[certmap/testing.test/rule_name]\nmatchrule =<SAN>.*EDIPI@mil\nmaprule = (userCertificate;binary={cert!bin})\ndomains = testing.test\n\nIf the certmap section does not exist, ask the system administrator (SA) to indicate how certificates are mapped to accounts. If there is no evidence of certificate mapping, this is a finding.","fixText":"Configure TOSS 5 to map the authenticated identity to the user or group account by adding or modifying the certmap section of the \"/etc/sssd/sssd.conf\" file based on the following example:\n\n[certmap/testing.test/rule_name]\nmatchrule = .*EDIPI@mil\nmaprule = (userCertificate;binary={cert!bin})\ndmains = testing.test\n\nRestart the \"sssd\" service for the changes to take effect. To restart the \"sssd\" service, run the following command:\n\n$ sudo systemctl restart sssd.service","ccis":["CCI-000187"]},{"vulnId":"V-282445","ruleId":"SV-282445r1200315_rule","severity":"medium","ruleTitle":"TOSS 5 must ensure the password complexity module in the system-auth file is configured for three retries or less.","description":"Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \"pwquality\" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system.\n\nTOSS 5 uses \"pwquality\" as a mechanism to enforce password complexity. This is set in both:\n/etc/pam.d/password-auth\n/etc/pam.d/system-auth\n\nBy limiting the number of attempts to meet the pwquality module complexity requirements before returning with an error, the system will audit abnormal attempts at password changes.","checkContent":"Verify TOSS 5 is configured to limit the \"pwquality\" retry option to \"3\". \n\nVerify the use of the \"pwquality\" retry option in the \"system-auth file\" using the following command:\n\n$ cat /etc/pam.d/system-auth | grep pam_pwquality\n\npassword required pam_pwquality.so retry=3\n\nIf the value of \"retry\" is set to \"0\" or greater than \"3\", or is missing, this is a finding.","fixText":"Configure TOSS 5 to limit the \"pwquality\" retry option to \"3\".\n\nAdd the following line to the \"/etc/pam.d/system-auth\" file (or modify the line to have the required value):\n\npassword required pam_pwquality.so retry=3","ccis":["CCI-004066"]},{"vulnId":"V-282446","ruleId":"SV-282446r1200318_rule","severity":"high","ruleTitle":"TOSS 5 must ensure the password complexity module is enabled in the password-auth file.","description":"Enabling PAM password complexity permits enforcement of strong passwords and consequently makes the system less prone to dictionary attacks.","checkContent":"Verify TOSS 5 uses \"pwquality\" to enforce the password complexity rules in the \"password-auth\" file using the following command:\n\n$ cat /etc/pam.d/password-auth | grep pam_pwquality\n\npassword required pam_pwquality.so \n\nIf the command does not return a line containing the value \"pam_pwquality.so\", or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to use \"pwquality\" to enforce password complexity rules.\n\nAdd the following line to the \"/etc/pam.d/password-auth\" file (or modify the line to have the required value):\n\npassword required pam_pwquality.so","ccis":["CCI-004066"]},{"vulnId":"V-282447","ruleId":"SV-282447r1200321_rule","severity":"medium","ruleTitle":"TOSS 5 must enforce password complexity by requiring at least one uppercase character.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. 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 must be tested before the password is compromised. Requiring a minimum number of uppercase characters makes password guessing attacks more difficult by ensuring a larger search space.","checkContent":"Verify TOSS 5 enforces password complexity by requiring at least one uppercase character.\n\nCheck the value for \"ucredit\" using the following command:\n\n$ sudo grep ucredit /etc/security/pwquality.conf /etc/security/pwquality.conf/*.conf \n\nucredit = -1 \n\nIf the value of \"ucredit\" is a positive number or is commented out, this is a finding.","fixText":"Configure TOSS 5 to enforce password complexity by requiring that at least one uppercase character be used by setting the \"ucredit\" option.\n\nAdd the following line to /etc/security/pwquality.conf (or modify the line to have the required value):\n\nucredit = -1","ccis":["CCI-004066"]},{"vulnId":"V-282448","ruleId":"SV-282448r1200324_rule","severity":"medium","ruleTitle":"TOSS 5 must enforce password complexity by requiring that at least one lowercase character be used.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n\nPassword 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 must be tested before the password is compromised. Requiring a minimum number of lowercase characters makes password guessing attacks more difficult by ensuring a larger search space.","checkContent":"Verify TOSS 5 enforces password complexity by requiring at least one lowercase character.\n\nCheck the value for \"lcredit\" using the following command:\n\n$ sudo grep lcredit /etc/security/pwquality.conf /etc/security/pwquality.conf/*.conf \n\n/etc/security/pwquality.conf:lcredit = -1 \n\nIf the value of \"lcredit\" is a positive number or is commented out, this is a finding.","fixText":"Configure TOSS 5 to enforce password complexity by requiring at least one lowercase character be used by setting the \"lcredit\" option.\n\nAdd the following line to \"/etc/security/pwquality.conf\" (or modify the line to have the required value):\n\nlcredit = -1","ccis":["CCI-004066"]},{"vulnId":"V-282449","ruleId":"SV-282449r1200327_rule","severity":"medium","ruleTitle":"TOSS 5 must enforce password complexity by requiring that at least one numeric character be used.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword 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 must be tested before the password is compromised. Requiring digits makes password guessing attacks more difficult by ensuring a larger search space.","checkContent":"Verify TOSS 5 enforces password complexity by requiring at least one numeric character.\n\nCheck the value for \"dcredit\" using the following command:\n\n$ sudo grep dcredit /etc/security/pwquality.conf /etc/security/pwquality.conf/*.conf\n\n/etc/security/pwquality.conf:dcredit = -1 \n\nIf the value of \"dcredit\" is a positive number or is commented out, this is a finding.","fixText":"Configure TOSS 5 to enforce password complexity by requiring at least one numeric character be used by setting the \"dcredit\" option.\n\nAdd the following line to \"/etc/security/pwquality.conf\" (or modify the line to have the required value):\n\ndcredit = -1","ccis":["CCI-004066"]},{"vulnId":"V-282450","ruleId":"SV-282450r1200330_rule","severity":"medium","ruleTitle":"TOSS 5 must enforce password complexity rules for the root account.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword 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 must be tested before the password is compromised.","checkContent":"Verify TOSS 5 enforces password complexity rules for the root account.\n\nCheck if root user is required to use complex passwords using the following command:\n\n$ grep enforce_for_root /etc/security/pwquality.conf /etc/security/pwquality.conf/*.conf\n\n/etc/security/pwquality.conf:enforce_for_root\n\nIf \"enforce_for_root\" is commented or missing, this is a finding.","fixText":"Configure TOSS 5 to enforce password complexity on the root account.\n\nAdd or update the following line in \"/etc/security/pwquality.conf\":\n\nenforce_for_root","ccis":["CCI-004066"]},{"vulnId":"V-282451","ruleId":"SV-282451r1200333_rule","severity":"medium","ruleTitle":"TOSS 5 must require users to change at least eight characters when changing passwords.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n\nPassword 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 must be tested before the password is compromised. Requiring a minimum number of different characters during password changes ensures that newly changed passwords will not resemble previously compromised ones. Note that passwords changed on compromised systems will still be compromised.","checkContent":"Verify the value of the \"difok\" option in \"/etc/security/pwquality.conf\" using the following command:\n\n$ sudo grep difok /etc/security/pwquality.conf\n\ndifok = 8\n \nIf the value of \"difok\" is set to less than \"8\", or is commented out, this is a finding.","fixText":"Configure TOSS 5 to require the change of at least eight of the total number of characters when passwords are changed by setting the \"difok\" option.\n\nAdd the following line to \"/etc/security/pwquality.conf\" (or modify the line to have the required value):\n\ndifok = 8","ccis":["CCI-004066"]},{"vulnId":"V-282452","ruleId":"SV-282452r1200336_rule","severity":"medium","ruleTitle":"TOSS 5 must limit the maximum number of repeating characters of the same character class to four when passwords are changed.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex a password, the greater the number of possible combinations that must be tested before the password is compromised.","checkContent":"Verify the value of the \"maxclassrepeat\" option in \"/etc/security/pwquality.conf\" using the following command:\n\n$ grep maxclassrepeat /etc/security/pwquality.conf \n\nmaxclassrepeat = 4\n\nIf the value of \"maxclassrepeat\" is set to \"0\", more than \"4\", or is commented out, this is a finding.","fixText":"Configure TOSS 5 to require the change of the number of repeating characters of the same character class when passwords are changed by setting the \"maxclassrepeat\" option.\n\nAdd the following line to \"/etc/security/pwquality.conf\" conf (or modify the line to have the required value):\n\nmaxclassrepeat = 4","ccis":["CCI-004066"]},{"vulnId":"V-282453","ruleId":"SV-282453r1200339_rule","severity":"medium","ruleTitle":"TOSS 5 must limit the maximum number of repeating characters to three when passwords are changed.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex a password, the greater the number of possible combinations that must be tested before the password is compromised.","checkContent":"Verify the value of the \"maxrepeat\" option in \"/etc/security/pwquality.conf\" using the following command:\n\n$ grep maxrepeat /etc/security/pwquality.conf \n\nmaxrepeat = 3\n\nIf the value of \"maxrepeat\" is set to more than \"3\", or is commented out, this is a finding.","fixText":"Configure TOSS 5 to require changing the number of repeating consecutive characters when passwords are changed by setting the \"maxrepeat\" option.\n\nAdd the following line to \"/etc/security/pwquality.conf\" (or modify the line to have the required value):\n\nmaxrepeat = 3","ccis":["CCI-004066"]},{"vulnId":"V-282454","ruleId":"SV-282454r1200342_rule","severity":"medium","ruleTitle":"TOSS 5 must require the change of at least four character classes when passwords are changed.","description":"Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex a password, the greater the number of possible combinations that must be tested before the password is compromised.","checkContent":"Verify the value of the \"minclass\" option in \"/etc/security/pwquality.conf\" using the following command:\n\n$ grep minclass /etc/security/pwquality.conf\n \nminclass = 4\n\nIf the value of \"minclass\" is set to less than \"4\", or is commented out, this is a finding.","fixText":"Configure TOSS 5 to require the change of at least four character classes when passwords are changed by setting the \"minclass\" option.\n\nAdd the following line to \"/etc/security/pwquality.conf\" (or modify the line to have the required value):\n\nminclass = 4","ccis":["CCI-004066"]},{"vulnId":"V-282455","ruleId":"SV-282455r1201382_rule","severity":"medium","ruleTitle":"TOSS 5 password-auth must be configured to use a sufficient number of hashing rounds.","description":"Passwords must 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. Passwords encrypted with a weak algorithm are no more protected than if they are kept in plain text.\n\nUsing more hashing rounds makes password cracking attacks more difficult.\n\nSatisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061","checkContent":"Verify the number of rounds for the password hashing algorithm is configured using the following command:\n\n$ sudo grep rounds /etc/pam.d/password-auth\n\npassword sufficient pam_unix.so sha512 rounds=5000\n\nIf a matching line is not returned or \"rounds\" is less than \"5000\", this is a finding.","fixText":"Configure Red Hat Enterprise Linux 9 to use 5000 hashing rounds for hashing passwords.\n\nAdd or modify the following line in \"/etc/pam.d/password-auth\" and set \"rounds\" to \"5000\".\n\npassword sufficient pam_unix.so sha512 rounds=5000","ccis":["CCI-004062","CCI-000803"]},{"vulnId":"V-282456","ruleId":"SV-282456r1201574_rule","severity":"medium","ruleTitle":"TOSS 5 system-auth must be configured to use a sufficient number of hashing rounds.","description":"Passwords must 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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text.\n\nUsing more hashing rounds makes password cracking attacks more difficult.\n\nSatisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061","checkContent":"Verify the number of rounds for the password hashing algorithm is configured using the following command:\n\n$ sudo grep rounds /etc/pam.d/system-auth\n\npassword sufficient pam_unix.so sha512 rounds=5000\n\nIf a matching line is not returned or \"rounds\" is less than \"5000\", this is a finding.","fixText":"Configure Red Hat Enterprise Linux 9 to use 5000 hashing rounds for hashing passwords.\n\nAdd or modify the following line in \"/etc/pam.d/system-auth\" and set \"rounds\" to \"5000\".\n\npassword sufficient pam_unix.so sha512 rounds=5000'","ccis":["CCI-004062","CCI-000803"]},{"vulnId":"V-282457","ruleId":"SV-282457r1200351_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured so that user and group account administration utilities are configured to store only encrypted representations of passwords.","description":"Passwords must 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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text.\n\nThis setting ensures user and group account administration utilities are configured to store only encrypted representations of passwords. Additionally, the \"crypt_style\" configuration option ensures the use of a strong hashing algorithm that makes password cracking attacks more difficult.","checkContent":"Verify the user and group account administration utilities are configured to store only encrypted representations of passwords using the following command:\n\n# grep crypt /etc/libuser.conf \n\ncrypt_style = sha512\n\nIf the \"crypt_style\" variable is not set to \"sha512\", is not in the defaults section, is commented out, or does not exist, this is a finding.","fixText":"Configure TOSS 5 to use the SHA-512 algorithm for password hashing.\n\nAdd or change the following line in the \"[default]\" section of \"/etc/libuser.conf\" file:\n\ncrypt_style = sha512","ccis":["CCI-004062"]},{"vulnId":"V-282458","ruleId":"SV-282458r1200354_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to use the shadow file to store only encrypted representations of passwords.","description":"Passwords must 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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text.\n\nThis setting ensures user and group account administration utilities are configured to store only encrypted representations of passwords. Additionally, the \"crypt_style\" configuration option ensures the use of a strong hashing algorithm that makes password cracking attacks more difficult.","checkContent":"Verify the system's shadow file is configured to store only encrypted representations of passwords with a hash value of \"SHA512\" using the following command:\n\n# grep -i encrypt_method /etc/login.defs\n\nENCRYPT_METHOD SHA512\n\nIf \"ENCRYPT_METHOD\" does not have a value of \"SHA512\", or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to store only SHA-512 encrypted representations of passwords.\n\nAdd or update the following line in the \"/etc/login.defs\" file:\n\nENCRYPT_METHOD SHA512","ccis":["CCI-004062"]},{"vulnId":"V-282459","ruleId":"SV-282459r1200357_rule","severity":"medium","ruleTitle":"TOSS 5 shadow password suite must be configured to use a sufficient number of hashing rounds.","description":"Passwords must 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. Passwords that are encrypted with a weak algorithm are no more protected than if they are kept in plain text.\n\nUsing more hashing rounds makes password cracking attacks more difficult.\n\nSatisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061","checkContent":"Verify TOSS 5 has a minimum number of hash rounds configured using the following command:\n\n$ grep -i sha_crypt /etc/login.defs\n\nIf \"SHA_CRYPT_MIN_ROUNDS\" or \"SHA_CRYPT_MAX_ROUNDS\" is less than \"5000\", this is a finding.","fixText":"Configure TOSS 5 to encrypt all stored passwords with a strong cryptographic hash.\n\nEdit/modify the following line in the \"/etc/login.defs\" file and set \"SHA_CRYPT_MIN_ROUNDS\" to a value no lower than \"5000\":\n\nSHA_CRYPT_MIN_ROUNDS 5000","ccis":["CCI-004062","CCI-000803"]},{"vulnId":"V-282460","ruleId":"SV-282460r1200360_rule","severity":"medium","ruleTitle":"TOSS 5 must employ FIPS 140-3-approved cryptographic hashing algorithms for all stored passwords.","description":"The system must use a strong hashing algorithm to store the password.\n\nPasswords must 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.\n\nSatisfies: SRG-OS-000073-GPOS-00041, SRG-OS-000120-GPOS-00061","checkContent":"Verify the interactive user account passwords are using a strong password hash using the following command:\n\n$ sudo cut -d: -f2 /etc/shadow\n\n$6$kcOnRq/5$NUEYPuyL.wghQwWssXRcLRFiiru7f5JPV6GaJhNC2aK5F3PZpE/BCCtwrxRc/AInKMNX3CdMw11m9STiql12f/ \n\nPassword hashes \"!\" or \"*\" indicate inactive accounts not available for login and are not evaluated.\n\nIf any interactive user password hash does not begin with \"$6\", this is a finding.","fixText":"Lock all interactive user accounts not using SHA-512 hashing until the passwords can be regenerated with SHA-512.","ccis":["CCI-004062","CCI-000803"]},{"vulnId":"V-282461","ruleId":"SV-282461r1200363_rule","severity":"medium","ruleTitle":"The TOSS 5 pam_unix.so module must be configured in the password-auth file to use a FIPS 140-3-approved cryptographic hashing algorithm for system authentication.","description":"Unapproved mechanisms that are used for authentication to the cryptographic module are not verified and; therefore, cannot be relied upon to provide confidentiality or integrity, and DOD data may be compromised.\n\nTOSS 5 systems using encryption are required to use FIPS-compliant mechanisms for authenticating to cryptographic modules. \n\nFIPS 140-3 is the current standard for validating that mechanisms used to access cryptographic modules use authentication that meets DOD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general-purpose computing system.","checkContent":"Verify the pam_unix.so module is configured to use sha512 in /etc/pam.d/password-auth using the following command:\n\n$ grep \"^password.*pam_unix.so.*sha512\" /etc/pam.d/password-auth\n\npassword sufficient pam_unix.so sha512\n\nIf \"sha512\" is missing, or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to use a FIPS 140-3-approved cryptographic hashing algorithm for system authentication.\n\nEdit or modify the following line in the \"/etc/pam.d/password-auth\" file to include the sha512 option for pam_unix.so:\n\npassword sufficient pam_unix.so sha512","ccis":["CCI-004062"]},{"vulnId":"V-282462","ruleId":"SV-282462r1200366_rule","severity":"medium","ruleTitle":"TOSS 5 must not have the rsh-server package installed.","description":"Passwords must 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.\n\nThe rsh-server service provides an unencrypted remote access service that does not provide for the confidentiality and integrity of user passwords or the remote session and has very weak authentication.","checkContent":"Determine if the rsh-server package is installed using the following command:\n\n$ sudo yum list installed rsh-server\n\nIf the rsh-server package is installed, this is a finding.","fixText":"Configure the operating system to disable nonessential capabilities by removing the rsh-server package from the system using the following command:\n\n$ sudo yum remove rsh-server","ccis":["CCI-000197"]},{"vulnId":"V-282463","ruleId":"SV-282463r1200369_rule","severity":"medium","ruleTitle":"TOSS 5 passwords for new users or password changes must have a 24 hours minimum password lifetime restriction in /etc/login.defs.","description":"Enforcing a minimum password lifetime helps to prevent repeated password changes to defeat the password reuse or history enforcement requirement. If users are allowed to immediately and continually change their password, then the password could be repeatedly changed in a short period of time to defeat the organization's policy regarding password reuse.\n\nSetting the minimum password age protects against users cycling back to a favorite password after satisfying the password reuse requirement.","checkContent":"Verify TOSS 5 enforces 24 hours as the minimum password lifetime for new user accounts.\n\nCheck for the value of \"PASS_MIN_DAYS\" in \"/etc/login.defs\" using the following command: \n\n$ grep -i pass_min_days /etc/login.defs\n\nPASS_MIN_DAYS 1\n\nIf the \"PASS_MIN_DAYS\" parameter value is not \"1\" or greater, or is commented out, this is a finding.","fixText":"Configure TOSS 5 to enforce 24 hours as the minimum password lifetime.\n\nAdd the following line in \"/etc/login.defs\" (or modify the line to have the required value):\n\nPASS_MIN_DAYS 1","ccis":["CCI-004066"]},{"vulnId":"V-282464","ruleId":"SV-282464r1200372_rule","severity":"medium","ruleTitle":"TOSS 5 passwords must have a 24 hours minimum password lifetime restriction in /etc/shadow.","description":"Enforcing a minimum password lifetime helps to prevent repeated password changes to defeat the password reuse or history enforcement requirement. If users are allowed to immediately and continually change their password, the password could be repeatedly changed in a short period of time to defeat the organization's policy regarding password reuse.","checkContent":"Verify TOSS 5 has configured the minimum time period between password changes for each user account as one day or greater using the following command:\n\n$ sudo awk -F: '$4 < 1 {print $1 \" \" $4}' /etc/shadow\n\nIf any results are returned that are not associated with a system account, this is a finding.","fixText":"Configure noncompliant accounts to enforce a 24 hour minimum password lifetime:\n\n$ sudo passwd -n 1 [user]","ccis":["CCI-004066"]},{"vulnId":"V-282465","ruleId":"SV-282465r1200375_rule","severity":"medium","ruleTitle":"TOSS 5 user account passwords for new users or password changes must have a 60-day maximum password lifetime restriction in /etc/login.defs.","description":"Any password, no matter how complex, can eventually be cracked; therefore, passwords must be changed periodically. If the operating system does not limit the lifetime of passwords and force users to change their passwords, there is the risk that the operating system passwords could be compromised.\n\nSetting the password maximum age ensures users are required to periodically change their passwords. Requiring shorter password lifetimes increases the risk of users writing down the password in a convenient location subject to physical compromise.","checkContent":"Verify TOSS 5 enforces a 60-day maximum password lifetime for new user accounts using the following command:\n\n$ grep -i pass_max_days /etc/login.defs\n\nPASS_MAX_DAYS 60\n\nIf the \"PASS_MAX_DAYS\" parameter value is greater than \"60\" or commented out, this is a finding.","fixText":"Configure TOSS 5 to enforce a 60-day maximum password lifetime.\n\nAdd or modify the following line in the \"/etc/login.defs\" file:\n\nPASS_MAX_DAYS 60","ccis":["CCI-004066"]},{"vulnId":"V-282466","ruleId":"SV-282466r1200378_rule","severity":"medium","ruleTitle":"TOSS 5 user account passwords must have a 60-day maximum password lifetime restriction.","description":"Any password, no matter how complex, can eventually be cracked; therefore, passwords must be changed periodically. If TOSS 5 does not limit the lifetime of passwords and force users to change their passwords, there is the risk that TOSS 5 passwords could be compromised.","checkContent":"Check whether the maximum time period for existing passwords is restricted to 60 days with the following commands:\n\n$ sudo awk -F: '$5 > 60 {print $1 \"\" \"\" $5}' /etc/shadow\n\n$ sudo awk -F: '$5 <= 0 {print $1 \"\" \"\" $5}' /etc/shadow\n\nIf any results are returned that are not associated with a system account, this is a finding.","fixText":"Configure noncompliant accounts to enforce a 60-day maximum password lifetime restriction.\n\npasswd -x 60 [user]","ccis":["CCI-004066"]},{"vulnId":"V-282467","ruleId":"SV-282467r1200381_rule","severity":"medium","ruleTitle":"TOSS 5 passwords must be created with a minimum of 15 characters.","description":"The shorter the password, the lower the number of possible combinations that must be tested before the password is compromised.\n\nPassword complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to increase exponentially the time and/or resources required to compromise the password.\n\nTOSS 5 uses \"pwquality\" as a mechanism to enforce password complexity. Configurations are set in the \"etc/security/pwquality.conf\" file.\n\nThe \"minlen\", sometimes noted as minimum length, acts as a \"score\" of complexity based on the credit components of the \"pwquality\" module. By setting the credit components to a negative value, not only will those components be required, but they will not count toward the total \"score\" of \"minlen\". This will enable \"minlen\" to require a 15-character minimum.\n\nThe DOD minimum password requirement is 15 characters.","checkContent":"Verify TOSS 5 enforces a minimum 15-character password length using the following command:\n\n$ grep minlen /etc/security/pwquality.conf\n\nminlen = 15\n\nIf the command does not return a \"minlen\" value of \"15\" or greater, does not return a line, or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to enforce a minimum 15-character password length.\n\nAdd the following line to \"/etc/security/pwquality.conf\" (or modify the line to have the required value):\n\nminlen = 15","ccis":["CCI-004066"]},{"vulnId":"V-282468","ruleId":"SV-282468r1200384_rule","severity":"medium","ruleTitle":"TOSS 5 passwords, for new users, must have a minimum of 15 characters.","description":"The shorter the password, the lower the number of possible combinations that must be tested before the password is compromised.\n\nPassword complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to increase exponentially the time and/or resources required to compromise the password.\n\nThe DOD minimum password requirement is 15 characters.","checkContent":"Verify TOSS 5 enforces a minimum 15-character password length for new user accounts using the following command:\n\n$ sudo grep -i  pass_min_len /etc/login.defs\n\nPASS_MIN_LEN 15\n\nIf the command does not return a \"PASS_MIN_LEN\" value of \"15\" or greater, does not return a line, or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to enforce a minimum 15-character password length for new user accounts.\n\nAdd or modify the following line in the \"/etc/login.defs\" file:\n\nPASS_MIN_LEN 15","ccis":["CCI-004066"]},{"vulnId":"V-282470","ruleId":"SV-282470r1201601_rule","severity":"high","ruleTitle":"TOSS 5 must require a unique superuser name upon booting into single-user and maintenance modes.","description":"Having a nondefault grub superuser username makes password-guessing attacks less effective.","checkContent":"Verify the boot loader superuser account has been set using the following command:\n\n$ sudo grep -A1 \"superusers\" /etc/grub2.cfg \n\nset superusers=\"<superusers-account>\"\nexport superusers\n \nThe <superusers-account> is the actual account name, which is different from common names like \"root\", \"admin\", or \"administrator\".\n\nIf superusers contains easily guessable usernames, this is a finding.","fixText":"Configure TOSS 5 to have a unique username for the grub superuser account.\n\nEdit the \"/etc/grub.d/01_users\" file and add or modify the following lines in the \"### BEGIN /etc/grub.d/01_users ###\" section:\n\nset superusers=\"superusers-account\"\nexport superusers\n\nOnce the superuser account has been added, update the grub.cfg file using the following command:\n\n$ sudo grubby --update-kernel=ALL","ccis":["CCI-000213"]},{"vulnId":"V-282471","ruleId":"SV-282471r1200393_rule","severity":"medium","ruleTitle":"TOSS 5 must require authentication to access emergency mode.","description":"To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DOD-approved PKIs, all DOD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement.\n\nThis requirement prevents attackers with physical access from trivially bypassing security on the machine and gaining root access. Such accesses are further prevented by configuring the bootloader password.","checkContent":"Verify TOSS 5 requires authentication for emergency mode using the following command:\n\n$ grep sulogin /usr/lib/systemd/system/emergency.service \n\nExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency\n\nIf this line is not returned, or is commented out, this is a finding. \n\nIf the output is different, this is a finding.","fixText":"Configure TOSS 5 to require authentication for emergency mode.\n\nAdd or modify the following line in the \"/usr/lib/systemd/system/emergency.service\" file:\n\nExecStart=-/usr/lib/systemd/systemd-sulogin-shell emergency","ccis":["CCI-000213"]},{"vulnId":"V-282472","ruleId":"SV-282472r1200396_rule","severity":"medium","ruleTitle":"TOSS 5 must require authentication to access single-user mode.","description":"To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DOD-approved PKIs, all DOD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement.\n\nThis requirement prevents attackers with physical access from trivially bypassing security on the machine and gaining root access. Such accesses are further prevented by configuring the bootloader password.","checkContent":"Verify TOSS 5 requires authentication for single-user mode using the following command:\n\n$ grep sulogin /usr/lib/systemd/system/rescue.service \n\nExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue\n\nIf this line is not returned, or is commented out, this is a finding.","fixText":"Configure TOSS 5 to require authentication for single-user mode.\n\nAdd or modify the following line in the \"/usr/lib/systemd/system/rescue.service\" file:\n\nExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue","ccis":["CCI-000213"]},{"vulnId":"V-282473","ruleId":"SV-282473r1200399_rule","severity":"low","ruleTitle":"TOSS 5 must enable mitigations against processor-based vulnerabilities.","description":"Kernel page-table isolation is a kernel feature that mitigates the Meltdown security vulnerability and hardens the kernel against attempts to bypass kernel address space layout randomization (KASLR).\n\nSatisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000433-GPOS-00193","checkContent":"Verify TOSS 5 enables kernel page-table isolation using the following command:\n\n$ sudo grubby --info=ALL | grep pti\n\nargs=\"ro crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet fips=1 audit=1 audit_backlog_limit=8192 pti=on \n\nIf the \"pti\" entry does not equal \"on\" or is missing, this is a finding.","fixText":"Configure TOSS 5 to enable kernel page-table isolation using the following command:\n\n$ sudo grubby --update-kernel=ALL --args=\"pti=on\"\n\nAdd or modify the following line in \"/etc/default/grub\" to ensure the configuration survives kernel updates:\n\nGRUB_CMDLINE_LINUX=\"pti=on\"","ccis":["CCI-000381","CCI-002824"]},{"vulnId":"V-282474","ruleId":"SV-282474r1200402_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to disable the Asynchronous Transfer Mode (ATM) kernel module.","description":"Disabling ATM protects the system against exploitation of any flaws in its implementation.","checkContent":"Verify TOSS 5 disables the ability to load the ATM kernel module using the following command:\n\n$ sudo grep -r atm /etc/modprobe.conf /etc/modprobe.d/* \n\nblacklist atm\n\nIf the command does not return any output, or the line is commented out, and use of ATM is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the system to prevent the atm kernel module from being loaded by adding the following line to the file /etc/modprobe.d/atm.conf (or create atm.conf if it does not exist):\n\ninstall atm /bin/false\nblacklist atm","ccis":["CCI-000381"]},{"vulnId":"V-282475","ruleId":"SV-282475r1200405_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to disable the Controller Area Network (CAN) kernel module.","description":"Disabling CAN protects the system against exploitation of any flaws in its implementation.","checkContent":"Verify TOSS 5 disables the ability to load the \"CAN\" kernel module using the following command:\n\n$ sudo grep -r can /etc/modprobe.conf /etc/modprobe.d/* \n\nblacklist can\n\nIf the command does not return any output, or the line is commented out, and use of CAN is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the system to prevent the \"CAN\" kernel module from being loaded by adding the following line to the file /etc/modprobe.d/can.conf (or create atm.conf if it does not exist):\n\ninstall can /bin/false\nblacklist can","ccis":["CCI-000381"]},{"vulnId":"V-282476","ruleId":"SV-282476r1200408_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to disable the FireWire kernel module.","description":"Disabling FireWire protects the system against exploitation of any flaws in its implementation.","checkContent":"Verify TOSS 5 disables the ability to load the \"firewire-core\" kernel module using the following command:\n\n$ sudo grep -r firewire-core /etc/modprobe.conf /etc/modprobe.d/* \n\nblacklist firewire-core\n\nIf the command does not return any output, or the line is commented out, and use of firewire-core is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"To configure the system to prevent the \"firewire-core\" kernel module from being loaded, add the following line to the file /etc/modprobe.d/firewire-core.conf (or create firewire-core.conf if it does not exist):\n\ninstall firewire-core /bin/false\nblacklist firewire-core","ccis":["CCI-000381"]},{"vulnId":"V-282477","ruleId":"SV-282477r1200411_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the Stream Control Transmission Protocol (SCTP) kernel module.","description":"It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors.\n\nFailing to disconnect unused protocols can result in a system compromise.\n\nThe SCTP is a transport layer protocol, designed to support the idea of message-oriented communication, with several streams of messages within one connection. Disabling SCTP protects the system against exploitation of any flaws in its implementation.","checkContent":"Verify TOSS 5 disables the ability to load the \"sctp\" kernel module using the following command:\n\n$ sudo grep -r sctp /etc/modprobe.conf /etc/modprobe.d/* \n\nblacklist sctp\n\nIf the command does not return any output, or the line is commented out, and use of sctp is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"To configure the system to prevent the \"sctp\" kernel module from being loaded, add the following line to the file /etc/modprobe.d/sctp.conf (or create sctp.conf if it does not exist):\n\ninstall sctp /bin/false\nblacklist sctp","ccis":["CCI-000381"]},{"vulnId":"V-282478","ruleId":"SV-282478r1200414_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the Transparent Inter Process Communication (TIPC) kernel module.","description":"It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors.\n\nFailing to disconnect unused protocols can result in a system compromise.\n\nThe TIPC is a protocol that is specially designed for intra-cluster communication. It can be configured to transmit messages either on UDP or directly across Ethernet. Message delivery is sequence guaranteed, loss free and flow controlled. Disabling TIPC protects the system against exploitation of any flaws in its implementation.","checkContent":"Verify TOSS 5 disables the ability to load the \"tipc\" kernel module using the following command:\n\n$ sudo grep -r tipc /etc/modprobe.conf /etc/modprobe.d/* \n\nblacklist tipc\n\nIf the command does not return any output, or the line is commented out, and use of TIPC is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"To configure the system to prevent the \"tipc\" kernel module from being loaded, add the following line to the file /etc/modprobe.d/tipc.conf (or create tipc.conf if it does not exist):\n\ninstall tipc /bin/false\nblacklist tipc","ccis":["CCI-000381"]},{"vulnId":"V-282479","ruleId":"SV-282479r1200417_rule","severity":"medium","ruleTitle":"TOSS 5 must not have the ypserv package installed.","description":"The NIS service provides an unencrypted authentication service, which does not provide for the confidentiality and integrity of user passwords or the remote session.\n\nRemoving the \"ypserv\" package decreases the risk of the accidental (or intentional) activation of NIS or NIS+ services.","checkContent":"Verify the \"ypserv\" package is not installed using the following command:\n\n$ sudo dnf list --installed ypserv\n\nError: No matching Packages to list\n\nIf the \"ypserv\" package is installed, this is a finding.","fixText":"Remove the \"ypserv\" package using the following command:\n\n$ sudo dnf remove ypserv","ccis":["CCI-000381"]},{"vulnId":"V-282480","ruleId":"SV-282480r1200420_rule","severity":"medium","ruleTitle":"TOSS 5 must not have the rsh-server package installed.","description":"The \"rsh-server\" service provides unencrypted remote access service, which does not provide for the confidentiality and integrity of user passwords or the remote session and has very weak authentication. If a privileged user were to login using this service, the privileged user password could be compromised. The \"rsh-server\" package provides several obsolete and insecure network services. Removing it decreases the risk of accidental (or intentional) activation of those services.","checkContent":"Verify the \"rsh-server\" package is not installed using the following command:\n\n$ sudo dnf list --installed rsh-server\n\nError: No matching Packages to list\n\nIf the \"rsh-server\" package is installed, this is a finding.","fixText":"Remove the \"rsh-server\" package using the following command:\n\n$ sudo dnf remove rsh-server","ccis":["CCI-000381"]},{"vulnId":"V-282481","ruleId":"SV-282481r1200423_rule","severity":"medium","ruleTitle":"TOSS 5 must not have the telnet-server package installed.","description":"It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities are often overlooked and therefore, may remain unsecure. They increase the risk to the platform by providing additional attack vectors.\n\nThe telnet service provides an unencrypted remote access service, which does not provide for the confidentiality and integrity of user passwords or the remote session. If a privileged user were to login using this service, the privileged user password could be compromised.\n\nRemoving the \"telnet-server\" package decreases the risk of accidental (or intentional) activation of the telnet service.","checkContent":"Verify the \"telnet-server\" package is not installed using the following command:\n\n$ sudo dnf list --installed telnet-server\n\nError: No matching Packages to list\n\nIf the \"telnet-server\" package is installed, this is a finding.","fixText":"Remove the \"telnet-server\" package using the following command:\n\n$ sudo dnf remove telnet-server","ccis":["CCI-000381"]},{"vulnId":"V-282482","ruleId":"SV-282482r1200426_rule","severity":"medium","ruleTitle":"TOSS 5 must not have the iprutils package installed.","description":"It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors.\n\nOperating systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions).\n\nThe iprutils package provides a suite of utilities to manage and configure SCSI devices supported by the ipr SCSI storage device driver.","checkContent":"Verify the \"iprutils\" package is not installed using the following command:\n\n$ sudo dnf list --installed iprutils\n\nError: No matching Packages to list\n\nIf the \"iprutils\" package is installed and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Remove the \"iprutils\" package using the following command:\n\n$ sudo dnf remove iprutils","ccis":["CCI-000381"]},{"vulnId":"V-282483","ruleId":"SV-282483r1200429_rule","severity":"low","ruleTitle":"TOSS 5 must disable mounting of cramfs.","description":"It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors.\n\nRemoving support for unneeded file system types reduces the local attack surface of the server.\n\nCompressed ROM/RAM file system (or cramfs) is a read-only file system designed for simplicity and space-efficiency. It is mainly used in embedded and small-footprint systems.","checkContent":"Verify TOSS 5 disables the ability to load the \"cramfs\" kernel module using the following command:\n\n$ sudo grep -r cramfs /etc/modprobe.conf /etc/modprobe.d/* \n\nblacklist cramfs\n\nIf the command does not return any output, or the line is commented out, and use of \"cramfs\" is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"To configure the system to prevent the \"cramfs\" kernel module from being loaded, add the following line to the file \"/etc/modprobe.d/blacklist.conf\" (or create blacklist.conf if it does not exist):\n\ninstall cramfs /bin/false\nblacklist cramfs","ccis":["CCI-000381"]},{"vulnId":"V-282484","ruleId":"SV-282484r1201332_rule","severity":"low","ruleTitle":"TOSS 5 must disable network management of the chrony daemon.","description":"Not exposing the management interface of the chrony daemon on the network diminishes the attack space.\n\nSatisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000096-GPOS-00050","checkContent":"Verify TOSS 5 disables network management of the chrony daemon using the following command:\n\n$ grep -w cmdport /etc/chrony.conf\n\ncmdport 0\n\nIf the \"cmdport\" option is not set to \"0\", is commented out, or is missing, this is a finding.","fixText":"Configure TOSS 5 to disable network management of the chrony daemon by adding/modifying the following line in the \"/etc/chrony.conf\" file:\n\ncmdport 0","ccis":["CCI-000381","CCI-000382"]},{"vulnId":"V-282485","ruleId":"SV-282485r1200435_rule","severity":"medium","ruleTitle":"TOSS 5 must have the firewalld package installed.","description":"\"firewalld\" provides an easy and effective way to block/limit remote access to the system via ports, services, and protocols.\n\nRemote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk and make remote user access management difficult at best.\n\nRemote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nTOSS 5 functionality (e.g., SSH) must be capable of taking enforcement action if the audit reveals unauthorized activity. Automated control of remote access sessions allows organizations to ensure ongoing compliance with remote access policies by enforcing connection rules of remote access applications on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets).\n\nSatisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000298-GPOS-00116","checkContent":"Run the following command to determine if the \"firewalld\" package is installed:\n\n$ sudo dnf list --installed firewalld \n\nExample output:\n\nfirewalld.noarch          1.0.0-4.el9\n\nIf the \"firewalld\" package is not installed, this is a finding.","fixText":"Install the \"firewalld\" package using the following command:\n\n$ sudo dnf install firewalld","ccis":["CCI-000382","CCI-002322"]},{"vulnId":"V-282486","ruleId":"SV-282486r1200438_rule","severity":"medium","ruleTitle":"The firewalld service on TOSS 5 must be active.","description":"\"firewalld\" provides an easy and effective way to block/limit remote access to the system via ports, services, and protocols.\n\nRemote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk and make remote user access management difficult at best.\n\nRemote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nTOSS 5 functionality (e.g., RDP) must be capable of taking enforcement action if the audit reveals unauthorized activity. Automated control of remote access sessions allows organizations to ensure ongoing compliance with remote access policies by enforcing connection rules of remote access applications on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets).\n\nSatisfies: SRG-OS-000096-GPOS-00050, SRG-OS-000297-GPOS-00115","checkContent":"Verify \"firewalld\" is active using the following command:\n\n$ systemctl is-active firewalld \n\nactive\n\nIf the \"firewalld\" service is not active, this is a finding.","fixText":"Enable the \"firewalld\" service using the following command:\n\n$ sudo systemctl enable --now firewalld","ccis":["CCI-000382","CCI-002314"]},{"vulnId":"V-282487","ruleId":"SV-282487r1200441_rule","severity":"medium","ruleTitle":"TOSS 5 must control remote access methods.","description":"To prevent unauthorized device connection, unauthorized information transfer, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems.\n\nOperating systems are capable of providing a wide variety of functions and services. Some of the functions and services provided by default may not be necessary to support essential organizational operations. Additionally, it is sometimes convenient to provide multiple services from a single component (e.g., VPN and IPS); however, doing so increases risk over limiting the services provided by one component.\n\nTo support the requirements and principles of least functionality, the operating system must support the organizational requirements, providing only essential capabilities and limiting the use of ports, protocols, and/or services to only those required, authorized, and approved to conduct official business.","checkContent":"Inspect the list of enabled firewall ports and verify they are configured correctly using the following command:\n\n$ sudo firewall-cmd --list-all \n\nAsk the system administrator for the site or program Ports, Protocols, and Services Management Component Local Service Assessment (PPSM CLSA). Verify the services allowed by the firewall match the PPSM CLSA, or other applicable documentation approved by the information system security officer (ISSO).\n\nIf there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM Category Assurance List (CAL), or there are no firewall rules configured, this is a finding.","fixText":"Configure TOSS 5 to allow approved settings and/or running services to comply with the PPSM CLSA for the site or program and the PPSM CAL, or other applicable documentation approved by the ISSO.\n\nTo open a port for a service, configure \"firewalld\" using the following command:\n\n$ sudo firewall-cmd --permanent --add-port=port_number/tcp\nor\n$ sudo firewall-cmd --permanent --add-service=service_name","ccis":["CCI-000382"]},{"vulnId":"V-282488","ruleId":"SV-282488r1200444_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the Ports, Protocols, and Services Management (PPSM) Category Assignments List (CAL) and vulnerability assessments.","description":"To prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary ports, protocols, and services on information systems.","checkContent":"Inspect the firewall configuration and running services to verify it is configured to prohibit or restrict the use of functions, ports, protocols, and/or services that are unnecessary or prohibited.\n\nCheck which services are currently active using the following command:\n\n$ sudo firewall-cmd --list-all-zones\n\ncustom (active)\ntarget: DROP\nicmp-block-inversion: no\ninterfaces: ens33\nsources: \nservices: dhcpv6-client dns http https ldaps rpc-bind ssh\nports: \nmasquerade: no\nforward-ports: \nicmp-blocks: \nrich rules: \n\nAsk the system administrator for the site or program PPSM Component Local Service Assessment (CLSA). Verify the services allowed by the firewall match the PPSM CLSA, or other applicable documentation approved by the information system security officer (ISSO).\n\nIf there are additional ports, protocols, or services that are not in the PPSM CLSA; or there are ports, protocols, or services that are prohibited by the PPSM CAL, this is a finding.","fixText":"Update the host's firewall settings and/or running services to comply with the PPSM CLSA for the site or program and the PPSM CAL, or other applicable documentation approved by the ISSO.\n\nRun the following command to load the newly created rule(s):\n\n$ sudo firewall-cmd --reload","ccis":["CCI-000382"]},{"vulnId":"V-282489","ruleId":"SV-282489r1200447_rule","severity":"medium","ruleTitle":"TOSS 5 duplicate User IDs (UIDs) must not exist for interactive users.","description":"To ensure accountability and prevent unauthenticated access, interactive users must be identified and authenticated to prevent potential misuse and compromise of the system.\n\nSatisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062","checkContent":"Verify TOSS 5 contains no duplicate UIDs for interactive users using the following command:\n\n$ sudo awk -F \":\" 'list[$3]++{print $1, $3}' /etc/passwd \n\nIf output is produced and the accounts listed are interactive user accounts, this is a finding.","fixText":"Edit the file \"/etc/passwd\" and provide each interactive user account that has a duplicate UID with a unique UID.","ccis":["CCI-000764","CCI-000804"]},{"vulnId":"V-282490","ruleId":"SV-282490r1200450_rule","severity":"medium","ruleTitle":"All TOSS 5 interactive users must have a primary group that exists.","description":"If a user is assigned the Group Identifier (GID) of a group that does not exist on the system, and a group with the GID is subsequently created, the user may have unintended rights to any files associated with the group.","checkContent":"Verify all TOSS 5 interactive users have a valid GID using the following command:\n \n$ sudo pwck -qr \n \nIf the system has any interactive users with duplicate GIDs, this is a finding.","fixText":"Configure the system so all GIDs referenced in \"/etc/passwd\" are defined in \"/etc/group\".\n\nEdit the file \"/etc/passwd\" and ensure every user's GID is a valid GID.","ccis":["CCI-000764"]},{"vulnId":"V-282491","ruleId":"SV-282491r1200453_rule","severity":"medium","ruleTitle":"TOSS 5 groups must have unique Group ID (GID).","description":"To ensure accountability and prevent unauthenticated access, groups must be identified uniquely to prevent potential misuse and compromise of the system.","checkContent":"Verify TOSS 5 contains no duplicate GIDs for interactive users using the following command:\n \n $  cut -d : -f 3 /etc/group | uniq -d\n \nIf the system has duplicate GIDs, this is a finding.","fixText":"Edit the file \"/etc/group\" and provide each group that has a duplicate GID with a unique GID.","ccis":["CCI-000764"]},{"vulnId":"V-282492","ruleId":"SV-282492r1200456_rule","severity":"medium","ruleTitle":"TOSS 5 must have the openssl-pkcs11 package installed.","description":"Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased. Multifactor authentication requires using two or more factors to achieve authentication. A privileged account is defined as an information system account with authorizations of a privileged user. The DOD common access card (CAC) with DOD-approved PKI is an example of multifactor authentication.\n\nSatisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000046-GPOS-00022, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055","checkContent":"Verify TOSS 5 has the \"openssl-pkcs11\" package installed using the following command:\n\n$ sudo dnf list --installed openssl-pkcs11\n\nExample output:\n\nopenssl-pkcs.i686          0.4.11-7.el9\nopenssl-pkcs.x86_64          0.4.11-7.el9\n\nIf the \"openssl-pkcs11\" package is not installed, this is a finding.","fixText":"The \"openssl-pkcs11\" package can be installed using the following command:\n \n$ sudo dnf install openssl-pkcs11","ccis":["CCI-000765","CCI-000766","CCI-000139"]},{"vulnId":"V-282493","ruleId":"SV-282493r1200459_rule","severity":"high","ruleTitle":"TOSS 5 SSHD must not allow blank or null passwords.","description":"If an account has an empty password, anyone could log in and run commands with the privileges of that account. Accounts with empty passwords should never be used in operational environments.","checkContent":"Verify TOSS 5 remote access using SSH prevents logging on with a blank password using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*permitemptypasswords'\n\nPermitEmptyPassword no\n\nIf the \"PermitEmptyPassword\" keyword is set to \"yes\", is missing, or is commented out, this is a finding.","fixText":"Configure the system to prevent SSH users from logging on with blank passwords by editing the following line in \"etc/ssh/sshd_config\":\n\nPermitEmptyPasswords no\n\nRestart the SSH daemon for the settings to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000766"]},{"vulnId":"V-282494","ruleId":"SV-282494r1200462_rule","severity":"medium","ruleTitle":"TOSS 5 must not permit direct logins to the root account using remote access via SSH.","description":"Even though the communications channel may be encrypted, an additional layer of security is gained by extending the policy of not logging directly on as root. In addition, logging in with a user-specific account provides individual accountability of actions performed on the system and also helps to minimize direct attack attempts on root's password.","checkContent":"Verify TOSS 5 remote access using SSH prevents users from logging on directly as \"root\" using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*permitrootlogin'\n\nPermitRootLogin no\n\nIf the \"PermitRootLogin\" keyword is set to \"yes\", is missing, or is commented out, this is a finding.","fixText":"Configure the system to prevent SSH users from logging on directly as \"root\" by adding or modifying the following line in \"/etc/ssh/sshd_config\":\n\n PermitRootLogin no\n\nRestart the SSH daemon for the settings to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-004045"]},{"vulnId":"V-282497","ruleId":"SV-282497r1200471_rule","severity":"medium","ruleTitle":"TOSS 5 file system automount function must be disabled unless required.","description":"An authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message.","checkContent":"Verify TOSS 5 file system automount function has been disabled using the following command:\n\n$ sudo systemctl is-enabled  autofs\n\nmasked\n\nIf the returned value is not \"masked\", \"disabled\", \"Failed to get unit file state for autofs.service for autofs\", or \"enabled\", and is not documented as operational requirement with the information system security officer (ISSO), this is a finding.","fixText":"Configure TOSS 5 to disable the ability to automount devices.\n\nDisable the \"autofs\" service using the following command:\n\n$ sudo systemctl mask --now autofs.service","ccis":["CCI-000778"]},{"vulnId":"V-282498","ruleId":"SV-282498r1200474_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the graphical user interface automount function unless required.","description":"Automatically mounting file systems permits easy introduction of unknown devices, thereby facilitating malicious activity.\n\nSatisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163","checkContent":"Verify TOSS 5 disables the graphical user interface automount function using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\n$ gsettings get org.gnome.desktop.media-handling automount-open \n\nfalse\n\nIf \"automount-open\" is set to \"true\" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the GNOME desktop to disable automated mounting of removable media.\n\nThe dconf settings can be edited in the /etc/dconf/db/* location.\n\nUpdate the [org/gnome/desktop/media-handling] section of the \"/etc/dconf/db/local.d/00-security-settings\" database file and add or update the following lines:\n\n[org/gnome/desktop/media-handling]\nautomount-open=false\n\nUpdate the dconf system databases:\n\n$ sudo dconf update","ccis":["CCI-000778","CCI-001958"]},{"vulnId":"V-282499","ruleId":"SV-282499r1200477_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the disabling of the graphical user interface automount function.","description":"A nonprivileged account is any operating system account with authorizations of a nonprivileged user.\n\nSatisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163","checkContent":"Verify TOSS 5 disables ability of the user to override the graphical user interface automount setting.\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\nDetermine which profile the system database is using by running the following command:\n\n$ sudo grep system-db /etc/dconf/profile/user\n\nsystem-db:local\n\nVerify the automount setting is locked from nonprivileged user modification using the following command:\n\nNote: The example below is using the database \"local\" for the system, so the path is \"/etc/dconf/db/local.d\". Modify this path if using a database other than \"local\".\n\n$ grep 'automount-open' /etc/dconf/db/local.d/locks/* \n\n/org/gnome/desktop/media-handling/automount-open\n\nIf the command does not return at least the example result, this is a finding.","fixText":"Configure the GNOME desktop to not allow a user to change the setting that disables automated mounting of removable media.\n\nAdd the following line to \"/etc/dconf/db/local.d/locks/00-security-settings-lock\" to prevent user modification:\n\n/org/gnome/desktop/media-handling/automount-open\n\nUpdate the dconf system databases:\n\n$ sudo dconf update","ccis":["CCI-000778","CCI-001958"]},{"vulnId":"V-282500","ruleId":"SV-282500r1200480_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the disabling of the graphical user interface autorun function.","description":"Techniques used to address this include protocols using nonces (e.g., numbers generated for a specific one-time use) or challenges (e.g., TLS, WS_Security). Additional techniques include time-synchronous or challenge-response one-time authenticators.\n\nSatisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163","checkContent":"Verify TOSS 5 disables the user's ability to override the graphical user interface autorun setting.\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\nDetermine which profile the system database is using by running the following command:\n\n$ sudo grep system-db /etc/dconf/profile/user\n\nsystem-db:local\n\nCheck that the automount setting is locked from nonprivileged user modification using the following command:\n\nNote: The example below is using the database \"local\" for the system, so the path is \"/etc/dconf/db/local.d\". This path must be modified if a database other than \"local\" is being used.\n\n$ grep 'autorun-never' /etc/dconf/db/local.d/locks/* \n\n/org/gnome/desktop/media-handling/autorun-never\n\nIf the command does not return at least the example result, this is a finding.","fixText":"Configure the GNOME desktop to not allow a user to change the setting that disables autorun on removable media.\n\nAdd the following line to \"/etc/dconf/db/local.d/locks/00-security-settings-lock\" to prevent user modification:\n\n/org/gnome/desktop/media-handling/autorun-never\n\nUpdate the dconf system databases:\n\n$ sudo dconf update","ccis":["CCI-000778","CCI-001958"]},{"vulnId":"V-282501","ruleId":"SV-282501r1200483_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to disable USB mass storage.","description":"USB mass storage permits easy introduction of unknown devices, thereby facilitating malicious activity.\n\nSatisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000690-GPOS-00140","checkContent":"Verify TOSS 5 disables the ability to load the USB Storage kernel module using the following command:\n\n$ sudo grep -r usb-storage /etc/modprobe.conf /etc/modprobe.d/* \n\nblacklist usb-storage\n\nIf the command does not return any output, the line is commented out, and use of USB Storage is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the system to prevent the usb-storage kernel module from being loaded by adding the following line to the file /etc/modprobe.d/usb-storage.conf (or create usb-storage.conf if it does not exist):\n\ninstall usb-storage /bin/false\nblacklist usb-storage","ccis":["CCI-000778","CCI-001958","CCI-003959"]},{"vulnId":"V-282502","ruleId":"SV-282502r1200486_rule","severity":"medium","ruleTitle":"TOSS 5 must disable account identifiers (individuals, groups, roles, and devices) after 35 days of inactivity.","description":"Inactive identifiers pose a risk to systems and applications because attackers may exploit an inactive identifier and potentially obtain undetected access to the system.\n\nDisabling inactive accounts ensures that accounts which may not have been responsibly removed are not available to attackers who may have compromised their credentials.\n\nOwners of inactive accounts will not notice if unauthorized access to their user account has been obtained.\n\nSatisfies: SRG-OS-000118-GPOS-00060, SRG-OS-000590-GPOS-00110","checkContent":"Verify TOSS 5 account identifiers (individuals, groups, roles, and devices) are disabled after 35 days of inactivity using the following command:\n\nCheck the account inactivity value by performing the following command:\n\n$ sudo grep -i inactive /etc/default/useradd\n\nINACTIVE=35\n\nIf \"INACTIVE\" is set to \"-1\", a value greater than \"35\", or is commented out, this is a finding.","fixText":"Configure TOSS 5 to disable account identifiers after 35 days of inactivity after the password expiration. \n\nRun the following command to change the configuration for \"useradd\":\n\n$ sudo useradd -D -f 35\n\nThe recommendation is 35 days, but a lower value is acceptable.","ccis":["CCI-003627","CCI-003628"]},{"vulnId":"V-282503","ruleId":"SV-282503r1200489_rule","severity":"medium","ruleTitle":"TOSS 5 must use mechanisms meeting the requirements of applicable federal laws, executive orders, directives, policies, regulations, standards, and guidance for authentication to a cryptographic module.","description":"Overriding the system crypto policy makes the behavior of Kerberos violate expectations and makes system configuration more fragmented.","checkContent":"Verify the symlink exists and targets the correct Kerberos crypto policy, using the following command:\n\nfile /etc/crypto-policies/back-ends/krb5.config\n\nIf command output shows the following line, Kerberos is configured to use the systemwide crypto policy:\n\n/etc/crypto-policies/back-ends/krb5.config: symbolic link to /usr/share/crypto-policies/FIPS/krb5.txt\n\nIf the symlink does not exist or points to a different target, this is a finding.","fixText":"Configure Kerberos to use system crypto policy.\n\nCreate a symlink pointing to system crypto policy in the Kerberos configuration using the following command:\n\n$ sudo ln -s /etc/crypto-policies/back-ends/krb5.config /usr/share/crypto-policies/FIPS/krb5.txt","ccis":["CCI-000803"]},{"vulnId":"V-282504","ruleId":"SV-282504r1200492_rule","severity":"high","ruleTitle":"TOSS 5 must enable the Pluggable Authentication Module (PAM) interface for SSHD.","description":"When \"UsePAM\" is set to \"yes\", PAM runs through account and session types properly. This is important when restricted access to services based off of IP, time, or other factors of the account are needed. Additionally, this ensures users can inherit certain environment variables on login or disallow access to the server.","checkContent":"Verify the TOSS 5 SSHD is configured to allow for the \"UsePAM\" interface using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*usepam'\n\nUsePAM yes\n\nIf the \"UsePAM\" keyword is set to \"no\", is missing, or is commented out, this is a finding.","fixText":"Configure the TOSS 5 SSHD to use the \"UsePAM\" interface, by adding or modifying the following line in \"/etc/ssh/sshd_config\":\n\nUsePAM yes\n\nRestart the SSH daemon for the settings to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000877"]},{"vulnId":"V-282505","ruleId":"SV-282505r1200495_rule","severity":"medium","ruleTitle":"TOSS 5 must restrict access to the kernel message buffer.","description":"Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection.\n\nThis requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DOD or other government agencies.\n\nThere may be shared resources with configurable protections (e.g., files in storage) that may be assessed on specific information system components.\n\nRestricting access to the kernel message buffer limits access to only root. This prevents attackers from gaining additional system information as a nonprivileged user.\n\nSatisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000138-GPOS-00069","checkContent":"Verify TOSS 5 is configured to restrict access to the kernel message buffer with the following commands:\n\n$ sudo sysctl kernel.dmesg_restrict\n\nkernel.dmesg_restrict = 1\n\nIf \"kernel.dmesg_restrict\" is not set to \"1\" or is missing, this is a finding.","fixText":"Configure TOSS 5 to restrict access to the kernel message buffer.\n\nAdd or edit the following line in a system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nkernel.dmesg_restrict = 1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-001082","CCI-001090"]},{"vulnId":"V-282506","ruleId":"SV-282506r1200498_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent kernel profiling by nonprivileged users.","description":"Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection.\n\nThis requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DOD or other government agencies.\n\nThere may be shared resources with configurable protections (e.g., files in storage) that may be assessed on specific information system components.\n\nSetting the kernel.perf_event_paranoid kernel parameter to \"2\" prevents attackers from gaining additional system information as a nonprivileged user.\n\nSatisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000138-GPOS-00069","checkContent":"Verify TOSS 5 is configured to prevent kernel profiling by nonprivileged users using the following command:\n\n$ sudo sysctl kernel.perf_event_paranoid\n\nkernel.perf_event_paranoid = 2\n\nIf \"kernel.perf_event_paranoid\" is not set to \"2\" or is missing, this is a finding.","fixText":"Configure TOSS 5 to prevent kernel profiling by nonprivileged users.\n\nAdd or edit the following line in a system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nkernel.perf_event_paranoid = 2\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-001082","CCI-001090"]},{"vulnId":"V-282507","ruleId":"SV-282507r1200501_rule","severity":"medium","ruleTitle":"TOSS 5 must restrict exposed kernel pointer addresses access.","description":"Exposing kernel pointers (through procfs or \"seq_printf()\") exposes kernel writeable structures, which may contain functions pointers. If a write vulnerability occurs in the kernel, allowing write access to any of this structure, the kernel can be compromised. This option disallows any program without the CAP_SYSLOG capability to get the addresses of kernel pointers by replacing them with \"0\".\n\nSatisfies: SRG-OS-000132-GPOS-00067, SRG-OS-000433-GPOS-00192, SRG-OS-000433-GPOS-00193","checkContent":"Verify the runtime status of the \"kernel.kptr_restrict\" kernel parameter using the following command:\n\n$ sudo sysctl kernel.kptr_restrict \n\nkernel.kptr_restrict = 1\n\nIf \"kernel.kptr_restrict\" is not set to \"1\" or is missing, this is a finding.","fixText":"Add or edit the following line in a system configuration file in the \"/etc/sysctl.d/\" directory:\n\nkernel.kptr_restrict = 1\n\nReload settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-001082","CCI-002824"]},{"vulnId":"V-282508","ruleId":"SV-282508r1200504_rule","severity":"medium","ruleTitle":"TOSS 5 must disable access to network bpf system call from nonprivileged processes.","description":"Loading and accessing the packet filters programs and maps using the \"bpf()\" system call has the potential of revealing sensitive information about the kernel state.","checkContent":"Verify TOSS 5 prevents privilege escalation through the kernel by disabling access to the bpf system call using the following command:\n\n$ sudo sysctl kernel.unprivileged_bpf_disabled\n\nkernel.unprivileged_bpf_disabled = 1\n\nIf the returned line does not have a value of \"1\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to prevent privilege escalation through the kernel by disabling access to the bpf syscall by adding the following line to a file, in the \"/etc/sysctl.d\" directory:\n\nkernel.unprivileged_bpf_disabled = 1\n\nThe system configuration files must be reloaded for the changes to take effect. To reload the contents of the files, run the following command:\n\n$ sudo sysctl --system","ccis":["CCI-001082"]},{"vulnId":"V-282509","ruleId":"SV-282509r1200507_rule","severity":"medium","ruleTitle":"TOSS 5 must restrict usage of ptrace to descendant processes.","description":"Unrestricted usage of ptrace allows compromised binaries to run ptrace on other processes of the user. This way, the attacker can steal sensitive information from the target processes (e.g., SSH sessions, web browser, etc.) without any additional assistance from the user (i.e., without resorting to phishing).","checkContent":"Verify TOSS 5 restricts usage of ptrace to descendant processes using the following command:\n\n$ sudo sysctl kernel.yama.ptrace_scope\n\nkernel.yama.ptrace_scope = 1\n\nIf the returned line does not have a value of \"1\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to restrict using ptrace to descendant processes by adding the following line to a file, in the \"/etc/sysctl.d\" directory:\n\nkernel.yama.ptrace_scope = 1\n\nThe system configuration files must be reloaded for the changes to take effect. To reload the contents of the files, run the following command:\n\n$ sudo sysctl --system","ccis":["CCI-001082"]},{"vulnId":"V-282510","ruleId":"SV-282510r1201302_rule","severity":"medium","ruleTitle":"TOSS 5 must use a Linux Security Module configured to enforce limits on system services.","description":"Without verification of the security functions, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters.\n\nThis requirement applies to operating systems performing security function verification/testing and/or systems and environments that require this functionality.","checkContent":"Note: At lower classification levels (CUI, Secret) where vast amounts of data are processed and a performance impact is occurring, an authorizing official can consider this requirement not applicable.\n\nConfirm that TOSS verifies the correct operation of all security functions.\n\nDetermine if \"SELinux\" is active and in \"Enforcing\" mode using the following command:\n\n$ sudo getenforce\nEnforcing\n\nIf \"SELinux\" is not active or not in \"Enforcing\" mode, this is a finding.","fixText":"Configure the operating system to verify correct operation of all security functions.\n\nSet the \"SELinux\" status and the \"Enforcing\" mode by modifying the \"/etc/selinux/config\" file to have the following line:\n\nSELINUX=enforcing\n\nRestart the system for the changes to take effect.","ccis":["CCI-001084"]},{"vulnId":"V-282511","ruleId":"SV-282511r1200513_rule","severity":"medium","ruleTitle":"A sticky bit must be set on all TOSS 5 public directories.","description":"Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, hard disks) after those resources have been released back to information systems. The control of information in shared resources is also commonly referred to as object reuse and residual information protection.\n\nThis requirement generally applies to the design of an information technology product, but it can also apply to the configuration of particular information system components that are, or use, such products. This can be verified by acceptance/validation processes in DOD or other government agencies.","checkContent":"Verify all world-writable directories have the sticky bit set.\n\nDetermine if all world-writable directories have the sticky bit set using the following command:\n\n$ sudo find / -type d \\( -perm -0002 -a ! -perm -1000 \\) -print 2>/dev/null\n\ndrwxrwxrwt 7 root root 4096 Jul 26 11:19 /tmp\n\nIf any of the returned directories are world-writable and do not have the sticky bit set, this is a finding.","fixText":"Configure all world-writable directories to have the sticky bit set to prevent unauthorized and unintended information transferred via shared system resources.\n\nSet the sticky bit on all world-writable directories using the command, replace \"[World-Writable Directory]\" with any directory path missing the sticky bit:\n\n$ chmod a+t [World-Writable Directory]","ccis":["CCI-001090"]},{"vulnId":"V-282512","ruleId":"SV-282512r1201342_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to use TCP syncookies.","description":"Denial of service (DoS) is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity. \n\nManaging excess capacity ensures that sufficient capacity is available to counter flooding attacks. Employing increased capacity and service redundancy may reduce the susceptibility to some DoS attacks. Managing excess capacity may include, for example, establishing selected usage priorities, quotas, or partitioning.\n\nSatisfies: SRG-OS-000142-GPOS-00071, SRG-OS-000420-GPOS-00186","checkContent":"Verify TOSS 5 is configured to use IPv4 TCP syncookies using the following command:\n\n$ sudo sysctl net.ipv4.tcp_syncookies\n\nnet.ipv4.tcp_syncookies = 1\n\nIf the network parameter \"ipv4.tcp_syncookies\" is not equal to \"1\" or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to use TCP syncookies.\n\nAdd or edit the following line in a system configuration file in the \"/etc/sysctl.d/\" directory:\n\n net.ipv4.tcp_syncookies = 1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-001095","CCI-002385"]},{"vulnId":"V-282514","ruleId":"SV-282514r1201603_rule","severity":"high","ruleTitle":"TOSS 5 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at rest protection.","description":"TOSS 5 systems handling data requiring data at rest protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest.\n\nSelection of a cryptographic mechanism is based on the need to protect the integrity of organizational information. The strength of the mechanism is commensurate with the security category and/or classification of the information. Organizations have the flexibility to either encrypt all information on storage devices (i.e., full disk encryption) or encrypt specific data structures (e.g., files, records, or fields).\n\nSatisfies: SRG-OS-000185-GPOS-00079, SRG-OS-000404-GPOS-00183, SRG-OS-000405-GPOS-00184","checkContent":"Verify TOSS 5 prevents unauthorized disclosure or modification of all information requiring at-rest protection by using disk encryption. \n\nNote: If there is a documented and approved reason for not having data-at-rest encryption, this requirement is not applicable.\n\nVerify all system partitions are encrypted using the following command:\n\n$ blkid\n\n/dev/map per/rhel-root:  UUID=\"67b7d7fe-de60-6fd0-befb-e6748cf97743\" TYPE=\"crypto_LUKS\"\n\nEvery persistent disk partition present must be of type \"crypto_LUKS\". If any partitions other than the boot partition or pseudo file systems (such as /proc or /sys) or temporary file systems (that are tmpfs) are not type \"crypto_LUKS\", ask the administrator to indicate how the partitions are encrypted. If there is no evidence that these partitions are encrypted, this is a finding.","fixText":"Configure TOSS 5 to prevent unauthorized modification of all information at rest by using disk encryption.\n\nEncrypting a partition in an already installed system is more difficult, because existing partitions must be resized and changed.\n\nTo encrypt an entire partition, dedicate a partition for encryption in the partition layout.","ccis":["CCI-001199","CCI-002475","CCI-002476"]},{"vulnId":"V-282516","ruleId":"SV-282516r1200528_rule","severity":"medium","ruleTitle":"TOSS 5 /var/log directory must have mode 0755 or less permissive.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the TOSS 5 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Verify the \"/var/log\" directory has a mode of \"0755\" or less permissive using the following command:\n\n$ ls -ld /var/log\n\ndrwxr-xr-x. 16 root root 4096 July 11 11:34 /var/log\n\nIf \"/var/log\" does not have a mode of \"0755\" or less permissive, this is a finding.","fixText":"Configure the \"/var/log\" directory to a mode of \"0755\" using the following command:\n\n$ sudo chmod 0755 /var/log","ccis":["CCI-001314"]},{"vulnId":"V-282517","ruleId":"SV-282517r1200531_rule","severity":"medium","ruleTitle":"TOSS 5 /var/log/messages file must have mode 0640 or less permissive.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the TOSS 5 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Verify the \"/var/log/messages\" file has a mode of \"0640\" or less permissive using the following command:\n\n$ ls -la /var/log/messages\n\nrw-------. 1 root root 564223 July 11 11:34 /var/log/messages\n\nIf \"/var/log/messages\" does not have a mode of \"0640\" or less permissive, this is a finding.","fixText":"Configure the \"/var/log/messages\" file to have a mode of \"0640\" using the following command:\n\n$ sudo chmod 0640 /var/log/messages","ccis":["CCI-001314"]},{"vulnId":"V-282518","ruleId":"SV-282518r1200534_rule","severity":"medium","ruleTitle":"TOSS 5 /var/log directory must be owned by root.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the TOSS 5 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Verify the \"/var/log\" directory is owned by root using the following command:\n\n$ ls -ld /var/log\n\ndrwxr-xr-x. 16 root root 4096 July 11 11:34 /var/log\n\nIf \"/var/log\" does not have an owner of \"root\", this is a finding.","fixText":"Configure the owner of the directory \"/var/log\" to \"root\" using the following command:\n\n$ sudo chown root /var/log","ccis":["CCI-001314"]},{"vulnId":"V-282519","ruleId":"SV-282519r1200537_rule","severity":"medium","ruleTitle":"TOSS 5 /var/log directory must be group-owned by root.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the TOSS 5 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Verify the \"/var/log\" directory is group-owned by root using the following command:\n\n$ ls -ld /var/log\n\ndrwxr-xr-x. 16 root root 4096 July 11 11:34 /var/log\n\nIf \"/var/log\" does not have a group owner of \"root\", this is a finding.","fixText":"Configure the group owner of the directory \"/var/log\" to \"root\" using the following command:\n\n$ sudo chgrp root /var/log","ccis":["CCI-001314"]},{"vulnId":"V-282520","ruleId":"SV-282520r1200540_rule","severity":"medium","ruleTitle":"TOSS 5 /var/log/messages file must be owned by root.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the TOSS 5 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Verify the \"/var/log/messages\" file is owned by root using the following command:\n\n$ ls -la /var/log/messages\n\nrw-------. 1 root root 564223 July 11 11:34 /var/log/messages\n\nIf \"/var/log/messages\" does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the \"/var/log/messages\" file to \"root\" using the following command:\n\n$ sudo chown root /var/log/messages","ccis":["CCI-001314"]},{"vulnId":"V-282521","ruleId":"SV-282521r1200543_rule","severity":"medium","ruleTitle":"TOSS 5 /var/log/messages file must be group-owned by root.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify the TOSS 5 system or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Verify the \"/var/log/messages\" file is group-owned by root using the following command:\n\n$ ls -la /var/log/messages\n\nrw-------. 1 root root 564223 July 11 11:34 /var/log/messages\n\nIf \"/var/log/messages\" does not have a group owner of \"root\" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Change the group owner of the \"/var/log/messages\" file to \"root\" using the following command:\n\n$ sudo chgrp root /var/log/messages","ccis":["CCI-001314"]},{"vulnId":"V-282522","ruleId":"SV-282522r1200546_rule","severity":"medium","ruleTitle":"TOSS 5 SSH daemon must be configured to use systemwide crypto policies.","description":"Without cryptographic integrity protections, information can be altered by unauthorized users without detection.\n\nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nCryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.","checkContent":"Verify systemwide crypto policies are in effect using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*include'\n\n/etc/ssh/sshd_config:Include /etc/ssh/sshd_config.d/*.conf\n/etc/ssh/sshd_config.d/50-redhat.conf:Include /etc/crypto-policies/back-ends/opensshserver.config\n\nIf \"Include /etc/ssh/sshd_config.d/*.conf\" or \"Include /etc/crypto-policies/back-ends/opensshserver.config\" are not included in the system sshd config or the file \"/etc/ssh/sshd_config.d/50-redhat.conf\" is missing, this is a finding.","fixText":"Configure the TOSS 5 SSH daemon to use systemwide crypto policies using the following command:\n\n$ sudo dnf reinstall openssh-server","ccis":["CCI-001453"]},{"vulnId":"V-282523","ruleId":"SV-282523r1200549_rule","severity":"medium","ruleTitle":"TOSS 5 must implement DOD or other applicable U.S. Government agency-approved encryption ciphers to protect the confidentiality of SSH client connections.","description":"Without cryptographic integrity protections, information can be altered by unauthorized users without detection.\n\nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nCryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.\n\nTOSS 5 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the /etc/sysconfig/sshd file. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/opensshserver.config file.","checkContent":"Verify systemwide crypto policies are in effect using the following command:\n\n$ sudo grep Include /etc/ssh/sshd_config  /etc/ssh/sshd_config.d/*\n\n/etc/ssh/sshd_config:Include /etc/ssh/sshd_config.d/*.conf\n/etc/ssh/sshd_config.d/50-redhat.conf:Include /etc/crypto-policies/back-ends/opensshserver.config\n\nIf \"Include /etc/ssh/sshd_config.d/*.conf\" or \"Include /etc/crypto-policies/back-ends/opensshserver.config\" are not included in the system sshd config or the file \"/etc/ssh/sshd_config.d/50-redhat.conf\" is missing, this is a finding.","fixText":"Configure the TOSS 5 SSH daemon to use systemwide crypto policies using the following command:\n\n$ sudo dnf reinstall openssh-clients","ccis":["CCI-001453"]},{"vulnId":"V-282524","ruleId":"SV-282524r1201364_rule","severity":"medium","ruleTitle":"TOSS 5 must implement DOD or other applicable U.S. Government agency-approved encryption ciphers to protect the confidentiality of SSH server connections.","description":"Without cryptographic integrity protections, information can be altered by unauthorized users without detection.\n\nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nCryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.\n\nTOSS 5 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the \"/etc/sysconfig/sshd\" file. The employed algorithms can be viewed in the \"/etc/crypto-policies/back-ends/opensshserver.config\" file.","checkContent":"Verify the SSH client is configured to use only ciphers employing FIPS 140-3-approved algorithms using the following command:\n\n$ sudo grep -i ciphers /etc/crypto-policies/back-ends/openssh.config \n\nCiphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr\n\nIf the cipher entries in the \"openssh.config\" file have any ciphers other than \"aes256-gcm@openssh.com\", \"chacha20-poly1305@openssh.com\", \"aes256-ctr,aes128-gcm@openssh.com\", \"aes128-ctr\"; the order differs from the example above; they are missing; or commented out, this is a finding.","fixText":"Configure the TOSS 5 SSH client to only use ciphers employing FIPS 140-3-approved algorithms by updating the \"/etc/crypto-policies/back-ends/openssh.config\" file with the following line:\n\nCiphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr\n\nRestart the system for the changes to take effect.","ccis":["CCI-001453"]},{"vulnId":"V-282525","ruleId":"SV-282525r1201367_rule","severity":"medium","ruleTitle":"The TOSS 5 SSH server must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3-validated cryptographic hash algorithms.","description":"Without cryptographic integrity protections, information can be altered by unauthorized users without detection.\n\nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nCryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.\n\nTOSS 5 incorporates systemwide crypto policies by default. The SSH configuration file has no effect on the ciphers, MACs, or algorithms unless specifically defined in the \"/etc/sysconfig/sshd\" file. The employed algorithms can be viewed in the \"/etc/crypto-policies/back-ends/opensshserver.config\" file.","checkContent":"Verify SSH server is configured to use only ciphers employing FIPS 140-3-approved algorithms using the following command:\n\n$ sudo grep -i macs /etc/crypto-policies/back-ends/openssh.config\nMACs hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha1,umac-128@openssh.com,hmac-sha2-512\n\nIf the MACs entries in the \"openssh.config\" file have any hashes other than \"hmac-sha2-256-etm@openssh.com\", \"hmac-sha2-256\", \"hmac-sha2-512-etm@openssh.com\", \"hmac-sha2-512\"; the order differs from the example above; they are missing; or commented out, this is a finding.","fixText":"Configure the TOSS 5 SSH server to use only MACs employing FIPS 140-3-approved algorithms by updating the \"/etc/crypto-policies/back-ends/openssh.config\" file with the following line:\n\nMACs hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha1,umac-128@openssh.com,hmac-sha2-512\n\nRestart the system for the changes to take effect.","ccis":["CCI-001453"]},{"vulnId":"V-282526","ruleId":"SV-282526r1201501_rule","severity":"high","ruleTitle":"TOSS 5 must implement DOD or other applicable U.S. Government agency-approved TLS encryption in the GnuTLS package.","description":"Without cryptographic integrity protections, information can be altered by unauthorized users without detection.\n\nTransport Layer Security (TLS) encryption is a required security setting as a number of known vulnerabilities have been reported against Secure Sockets Layer (SSL) and earlier versions of TLS. Encryption of private information is essential to ensuring data confidentiality. If private information is not encrypted, it can be intercepted and easily read by an unauthorized party. SQL Server must use a minimum of FIPS 140-3-approved TLS version 1.2, and all non-FIPS-approved SSL and TLS versions must be disabled. NIST 800-53 specifies the preferred configurations for government systems.\n\nCryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.\n\nSatisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000423-GPOS-00187","checkContent":"Verify if GnuTLS uses defined DOD-approved TLS Crypto Policy using the following command:\n\n $ update-crypto-policies --show\nFIPS\n\nIf the systemwide crypto policy is not set to \"FIPS\", this is a finding.","fixText":"Configure the TOSS 5 GnuTLS library to use only NIST-approved encryption by enabling FIPS mode using the following command:\n\n$ sudo fips-mode-setup --enable\n\nRestart the system for the changes to take effect.","ccis":["CCI-001453","CCI-002418"]},{"vulnId":"V-282527","ruleId":"SV-282527r1200561_rule","severity":"medium","ruleTitle":"TOSS 5 must implement DOD or other applicable U.S. Government agency -approved encryption in the OpenSSL package.","description":"Without cryptographic integrity protections, information can be altered by unauthorized users without detection.\n\nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nCryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.\n\nThe employed algorithms can be viewed in the \"/etc/crypto-policies/back-ends/openssl.config\" file.","checkContent":"Verify TOSS 5 OpenSSL library is configured to use only ciphers employing FIPS 140-3-approved algorithms using the following command:\n\n$ sudo grep -i opensslcnf.config /etc/pki/tls/openssl.cnf\n\n.include = /etc/crypto-policies/back-ends/opensslcnf.config\n\nIf the \"opensslcnf.config\" is not defined in the \"/etc/pki/tls/openssl.cnf\" file, this is a finding.","fixText":"Configure the TOSS 5 OpenSSL library to use the system cryptographic policy.\n\nEdit the \"/etc/pki/tls/openssl.cnf\" and add or modify the following line:\n\n.include = /etc/crypto-policies/back-ends/opensslcnf.config","ccis":["CCI-001453"]},{"vulnId":"V-282528","ruleId":"SV-282528r1201630_rule","severity":"medium","ruleTitle":"TOSS 5 must implement DOD or other applicable U.S. Government agency-approved TLS encryption in the OpenSSL package.","description":"Without cryptographic integrity protections, information can be altered by unauthorized users without detection.\n\nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nCryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.\n\nThe employed algorithms can be viewed in the /etc/crypto-policies/back-ends/openssl.config file.","checkContent":"Verify TOSS 5 OpenSSL library is configured to use TLS 1.2 encryption or stronger with following command:\n\n$ grep -i  minprotocol /etc/crypto-policies/back-ends/opensslcnf.config\n\nTLS.MinProtocol = TLSv1.2\nDTLS.MinProtocol = DTLSv1.2\n\nIf the \"TLS.MinProtocol\" is set to anything older than \"TLSv1.2\" or the \"DTLS.MinProtocol\" is set to anything older than \"DTLSv1.2\", this is a finding.","fixText":"Configure the TOSS 5 OpenSSL library to use only DOD-approved TLS encryption by editing the following line in the \"/etc/crypto-policies/back-ends/opensslcnf.config\" file:\n\nTLS.MinProtocol = TLSv1.2\nDTLS.MinProtocol = DTLSv1.2\n\nRestart the system for the changes to take effect.","ccis":["CCI-001453"]},{"vulnId":"V-282529","ruleId":"SV-282529r1200567_rule","severity":"low","ruleTitle":"TOSS 5 must allocate an audit_backlog_limit of sufficient size to capture processes that start prior to the audit daemon.","description":"Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nIf auditing is enabled late in the startup process, the actions of some startup processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nAllocating an audit_backlog_limit of sufficient size is critical in maintaining a stable boot process. With an insufficient limit allocated, the system is susceptible to boot failures and crashes.\n\nSatisfies: SRG-OS-000254-GPOS-00095, SRG-OS-000341-GPOS-00132","checkContent":"Verify TOSS 5 allocates a sufficient audit_backlog_limit to capture processes that start prior to the audit daemon using the following command:\n\n$ sudo grubby --info=ALL | grep args | grep -v 'audit_backlog_limit=8192' \n\nIf the command returns any outputs, and audit_backlog_limit is less than \"8192\", this is a finding.","fixText":"Configure TOSS 5 to allocate sufficient audit_backlog_limit to capture processes that start prior to the audit daemon using the following command:\n\n$ sudo grubby --update-kernel=ALL --args=audit_backlog_limit=8192","ccis":["CCI-001464","CCI-001849"]},{"vulnId":"V-282530","ruleId":"SV-282530r1200570_rule","severity":"medium","ruleTitle":"TOSS 5 must produce audit records containing information to establish the identity of any individual or process associated with the event.","description":"Without establishing what type of events occurred, the source of events, where events occurred, and the outcome of events, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack.\n\nAudit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked.\n\nEnriched logging aids in making sense of who, what, and when events occur on a system. Without this, determining root cause of an event will be much more difficult.","checkContent":"Verify TOSS 5 audit system is configured to resolve audit information before writing to disk using the following command:\n\n$ sudo grep log_format /etc/audit/auditd.conf\n\nlog_format = ENRICHED\n\nIf the \"log_format\" option is not \"ENRICHED\", or the line is commented out, this is a finding.","fixText":"Edit the /etc/audit/auditd.conf file and add or update the \"log_format\" option:\n\nlog_format = ENRICHED\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-001487"]},{"vulnId":"V-282531","ruleId":"SV-282531r1201577_rule","severity":"medium","ruleTitle":"TOSS 5 audit tools must have a mode of 0755 or less permissive.","description":"Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.\n\nTOSS 5 systems providing tools to interface with audit information leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user has, to make access decisions regarding the access to audit tools.\n\nAudit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.","checkContent":"Verify the audit tools have a mode of \"0755\" or less using the following command:\n\n$ stat -c \"%a %n\" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules\n\n755 /sbin/auditctl\n755 /sbin/aureport\n755 /sbin/ausearch\n755 /sbin/autrace\n755 /sbin/auditd\n755 /sbin/rsyslogd\n755 /sbin/augenrules\n\nIf any of the audit tool files have a mode more permissive than \"0755\", this is a finding.","fixText":"Configure the audit tools to have a mode of \"0755\" using the following command:\n\n$ sudo chmod 0755 [audit_tool]\n\nReplace \"[audit_tool]\" with each audit tool that has a more permissive mode than \"0755\".","ccis":["CCI-001493"]},{"vulnId":"V-282532","ruleId":"SV-282532r1200576_rule","severity":"medium","ruleTitle":"TOSS 5 audit tools must be owned by root.","description":"Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.\n\nTOSS 5 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user has, to make access decisions regarding the access to audit tools.\n\nAudit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.","checkContent":"Verify the audit tools are owned by \"root\" using the following command:\n\n$ sudo stat -c \"%U %n\" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules\n\nroot /sbin/auditctl\nroot /sbin/aureport\nroot /sbin/ausearch\nroot /sbin/autrace\nroot /sbin/auditd\nroot /sbin/rsyslogd\nroot /sbin/augenrules\n\nIf any audit tools do not have an owner of \"root\", this is a finding.","fixText":"Configure the audit tools to be owned by \"root\" using the following command:\n\n$ sudo chown root [audit_tool]\n\nReplace \"[audit_tool]\" with each audit tool not owned by \"root\".","ccis":["CCI-001493"]},{"vulnId":"V-282533","ruleId":"SV-282533r1201328_rule","severity":"medium","ruleTitle":"TOSS 5 audit tools must be group-owned by root.","description":"Protecting audit information includes identifying and protecting the tools used to view and manipulate log data; therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.\n\nTOSS 5 systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools, and the corresponding rights the user has, to make access decisions regarding the access to audit tools.\n\nAudit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.","checkContent":"Verify the audit tools are group owned by \"root\" using the following command:\n\n$ sudo stat -c \"%G %n\" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/rsyslogd /sbin/augenrules\n\nroot /sbin/auditctl\nroot /sbin/aureport\nroot /sbin/ausearch\nroot /sbin/autrace\nroot /sbin/auditd\nroot /sbin/rsyslogd\nroot /sbin/augenrules\n\nIf any audit tools do not have a group owner of \"root\", this is a finding.","fixText":"Configure the audit tools to be group-owned by \"root\" using the following command:\n\n$ sudo chgrp root [audit_tool]\n\nReplace \"[audit_tool]\" with each audit tool not group-owned by \"root\".","ccis":["CCI-001493"]},{"vulnId":"V-282534","ruleId":"SV-282534r1200582_rule","severity":"medium","ruleTitle":"TOSS 5 must use cryptographic mechanisms to protect the integrity of audit tools.","description":"Protecting the integrity of the tools used for auditing purposes is a critical step toward ensuring the integrity of audit information. Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity.\n\nAudit tools include, but are not limited to, vendor-provided and open-source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.\n\nIt is not uncommon for attackers to replace the audit tools or inject code into the existing tools to provide the capability to hide or erase system activity from the audit logs.\n\nTo address this risk, audit tools must be cryptographically signed to provide the capability to identify when the audit tools have been modified, manipulated, or replaced. An example is a checksum hash of the file or files.\n\nSatisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPOS-00099, SRG-OS-000278-GPOS-00108","checkContent":"Check that AIDE is properly configured to protect the integrity of the audit tools using the following command:\n\n$ sudo cat /etc/aide.conf | grep /usr/sbin/au\n\n/usr/sbin/auditctl p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/auditd p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/ausearch p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/aureport p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512\n \nIf AIDE is not installed, ask the system administrator (SA) how file integrity checks are performed on the system.\n\nIf any of the audit tools listed above do not have a corresponding line, ask the SA to indicate what cryptographic mechanisms are being used to protect the integrity of the audit tools. If there is no evidence of integrity protection, this is a finding.","fixText":"Add or update the following lines to \"/etc/aide.conf\", to protect the integrity of the audit tools.\n \n/usr/sbin/auditctl p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/auditd p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/ausearch p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/aureport p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha512\n/usr/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512","ccis":["CCI-001493","CCI-001494","CCI-001495","CCI-001496"]},{"vulnId":"V-282535","ruleId":"SV-282535r1200585_rule","severity":"medium","ruleTitle":"TOSS 5 system commands must have mode 755 or less permissive.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the system commands contained in the following directories have mode \"755\" or less permissive with the following command:\n\n$ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/libexec /usr/local/bin /usr/local/sbin -perm /022 -exec ls -l {} \\;\n\nIf any system commands are found to be group-writable or world-writable, this is a finding.","fixText":"Configure the system commands to be protected from unauthorized access.\n\nRun the following command, replacing \"[FILE]\" with any system command with a mode more permissive than \"755\".\n\n$ sudo chmod 755 [FILE]","ccis":["CCI-001499"]},{"vulnId":"V-282536","ruleId":"SV-282536r1201579_rule","severity":"medium","ruleTitle":"TOSS 5 library directories must have mode 755 or less permissive.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the systemwide shared library directories have mode \"755\" or less permissive with the following command:\n\n$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type d -exec ls -l {} \\;\n\nIf any systemwide shared library directory is found to be group-writable or world-writable, this is a finding.","fixText":"Configure the systemwide shared library directories (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access. \n\nRun the following command, replacing \"[DIRECTORY]\" with any library directory with a mode more permissive than \"755\".\n\n$ sudo chmod 755 [DIRECTORY]","ccis":["CCI-001499"]},{"vulnId":"V-282537","ruleId":"SV-282537r1201581_rule","severity":"medium","ruleTitle":"TOSS 5 library files must have mode 755 or less permissive.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the systemwide shared library files contained in the following directories have mode \"755\" or less permissive with the following command:\n\n$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 -perm /022 -type f -exec ls -l {} \\;\n\nIf any systemwide shared library file is found to be group-writable or world-writable, this is a finding.","fixText":"Configure the library files to be protected from unauthorized access. Run the following command, replacing \"[FILE]\" with any library file with a mode more permissive than \"755\".\n\n$ sudo chmod 755 [FILE]","ccis":["CCI-001499"]},{"vulnId":"V-282538","ruleId":"SV-282538r1200594_rule","severity":"medium","ruleTitle":"TOSS 5 system commands must be owned by root.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the system commands contained in the following directories are owned by \"root\" with the following command:\n\n$ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/libexec /usr/local/bin /usr/local/sbin ! -user root -exec ls -l {} \\;\n\nIf any system commands are found to not be owned by root, this is a finding.","fixText":"Configure the system commands to be protected from unauthorized access.\n\nRun the following command, replacing \"[FILE]\" with any system command file not owned by \"root\".\n\n$ sudo chown root [FILE]","ccis":["CCI-001499"]},{"vulnId":"V-282539","ruleId":"SV-282539r1200597_rule","severity":"medium","ruleTitle":"TOSS 5 system commands must be group-owned by root or a system account.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the system commands contained in the following directories are group-owned by \"root\", or a required system account, with the following command:\n\n$ sudo find -L /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -group root -exec ls -l {} \\;\n\nIf any system commands are returned and is not group-owned by a required system account, and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the system commands to be protected from unauthorized access.\n\nRun the following command, replacing \"[FILE]\" with any system command file not group-owned by \"root\" or a required system account.\n\n$ sudo chgrp root [FILE]","ccis":["CCI-001499"]},{"vulnId":"V-282540","ruleId":"SV-282540r1201318_rule","severity":"medium","ruleTitle":"TOSS 5 library files must be owned by root.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the systemwide shared library files are owned by \"root\" with the following command:\n\n$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -user root -exec ls -l {} \\;\n\nIf any systemwide shared library file is not owned by root, this is a finding.","fixText":"Configure the systemwide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access.\n\nRun the following command, replacing \"[FILE]\" with any library file not owned by \"root\".\n\n$ sudo chown root [FILE]","ccis":["CCI-001499"]},{"vulnId":"V-282541","ruleId":"SV-282541r1201321_rule","severity":"medium","ruleTitle":"TOSS 5 library files must be group-owned by root or a system account.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the systemwide shared library files are group-owned by \"root\" with the following command:\n\n$ sudo find -L /lib /lib64 /usr/lib /usr/lib64 ! -group root -exec ls -l {} \\;\n\nIf any systemwide shared library file is returned and is not group-owned by a required system account, and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the systemwide shared library files (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access.\n\nRun the following command, replacing \"[FILE]\" with any library file not group-owned by \"root\".\n\n$ sudo chgrp root [FILE]","ccis":["CCI-001499"]},{"vulnId":"V-282542","ruleId":"SV-282542r1201324_rule","severity":"medium","ruleTitle":"TOSS 5 library directories must be owned by root.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the systemwide shared library directories are owned by \"root\" with the following command:\n\n$ sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type d -exec stat -c \"%n %U\" '{}' \\;\n\nIf any systemwide shared library directory is not owned by root, this is a finding.","fixText":"Configure the systemwide shared library directories within (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access.\n\nRun the following command, replacing \"[DIRECTORY]\" with any library directory not owned by \"root\".\n\n$ sudo chown root [DIRECTORY]","ccis":["CCI-001499"]},{"vulnId":"V-282543","ruleId":"SV-282543r1201327_rule","severity":"medium","ruleTitle":"TOSS 5 library directories must be group-owned by root or a system account.","description":"If TOSS 5 allowed any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.\n\nThis requirement applies to TOSS 5 with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libraries also include privileged programs that execute with escalated privileges.","checkContent":"Verify the systemwide shared library directories are group-owned by \"root\" with the following command:\n\n$ sudo find /lib /lib64 /usr/lib /usr/lib64 ! -group root -type d -exec stat -c \"%n %G\" '{}' \\;\n\nIf any systemwide shared library directory is returned and is not group-owned by a required system account, and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the systemwide shared library directories (/lib, /lib64, /usr/lib and /usr/lib64) to be protected from unauthorized access.\n\nRun the following command, replacing \"[DIRECTORY]\" with any library directory not group-owned by \"root\".\n\n$ sudo chgrp root [DIRECTORY]","ccis":["CCI-001499"]},{"vulnId":"V-282544","ruleId":"SV-282544r1200612_rule","severity":"medium","ruleTitle":"TOSS 5 must enforce password complexity by requiring at least one special character.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. 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 must be tested before the password is compromised. TOSS 5 uses \"pwquality\" as a mechanism to enforce password complexity. Note that to require special characters without degrading the \"minlen\" value, the credit value must be expressed as a negative number in \"/etc/security/pwquality.conf\".","checkContent":"Verify TOSS 5 enforces password complexity by requiring at least one special character using the following command:\n\n$ sudo grep ocredit /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf \n\nocredit = -1 \n\nIf the value of \"ocredit\" is a positive number or is commented out, this is a finding.","fixText":"Configure TOSS 5 to enforce password complexity by requiring at least one special character be used by setting the \"ocredit\" option.\n\nAdd the following line to \"/etc/security/pwquality.conf\" (or modify the line to have the required value):\n\nocredit = -1","ccis":["CCI-004066"]},{"vulnId":"V-282545","ruleId":"SV-282545r1200615_rule","severity":"medium","ruleTitle":"The TOSS 5 systemd-journald service must be enabled.","description":"In the event of a system failure, TOSS 5 must preserve any information necessary to determine cause of the failure and return to operations with the least disruption to system processes.","checkContent":"Verify \"systemd-journald\" is active on TOSS 5 using the following command:\n\n$ systemctl is-active systemd-journald\n\nactive\n\nIf the \"systemd-journald\" service is not active, this is a finding.","fixText":"Enable the \"systemd-journald\" service using the following command:\n\n$ sudo systemctl enable --now systemd-journald","ccis":["CCI-001665"]},{"vulnId":"V-282549","ruleId":"SV-282549r1200627_rule","severity":"medium","ruleTitle":"TOSS 5 must securely compare internal information system clocks at least every 24 hours.","description":"Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate.\n\nSynchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network.\n\nDepending on the infrastructure being used the \"pool\" directive may not be supported.\n\nAuthoritative time sources include the United States Naval Observatory (USNO) time servers, a time server designated for the appropriate DOD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS).\n\nSatisfies: SRG-OS-000298-GPOS-00116, SRG-OS-000355-GPOS-00143, SRG-OS-000356-GPOS-00144, SRG-OS-000359-GPOS-00146","checkContent":"Verify TOSS 5 is securely comparing internal information system clocks at least every 24 hours with an NTP server with the following commands:\n\n$ sudo grep maxpoll /etc/chrony.conf\n\nserver 0.us.pool.ntp.mil iburst maxpoll 16\n\nIf the \"maxpoll\" option is set to a number greater than 16 or the line is commented out, this is a finding.\n\nVerify the \"chrony.conf\" file is configured to an authoritative DOD time source using the following command:\n\n$ sudo grep -i server /etc/chrony.conf\nserver 0.us.pool.ntp.mil \n\nIf the parameter \"server\" is not set or is not set to an authoritative DOD time source, this is a finding.","fixText":"Configure TOSS 5 to securely compare internal information system clocks at least every 24 hours with an NTP server by adding/modifying the following line in the /etc/chrony.conf file:\n\nserver [ntp.server.name] iburst maxpoll 16","ccis":["CCI-002322","CCI-004923","CCI-004926","CCI-001890"]},{"vulnId":"V-282553","ruleId":"SV-282553r1200639_rule","severity":"medium","ruleTitle":"TOSS 5 must enable kernel parameters to enforce discretionary access control on hardlinks.","description":"By enabling the \"fs.protected_hardlinks\" kernel parameter, users can no longer create soft or hard links to files they do not own. Disallowing such hardlinks mitigates vulnerabilities based on insecure file system accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat().\n\nSatisfies: SRG-OS-000312-GPOS-00123, SRG-OS-000324-GPOS-00125","checkContent":"Verify TOSS 5 is configured to enable DAC on hardlinks using the following command:\n\n$ sudo sysctl fs.protected_hardlinks\n\nfs.protected_hardlinks = 1\n\nIf \"fs.protected_hardlinks\" is not set to \"1\" or is missing, this is a finding.","fixText":"Configure TOSS 5 to enable DAC on hardlinks with the following:\n\nAdd or edit the following line in a system configuration file in the \"/etc/sysctl.d/\" directory:\n\nfs.protected_hardlinks = 1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-002165","CCI-002235"]},{"vulnId":"V-282554","ruleId":"SV-282554r1201608_rule","severity":"medium","ruleTitle":"TOSS 5 must enable kernel parameters to enforce discretionary access control (DAC) on symlinks.","description":"By enabling the \"fs.protected_symlinks\" kernel parameter, symbolic links are permitted to be followed only when outside a sticky world-writable directory, or when the user identifier (UID) of the link and follower match, or when the directory owner matches the symlink's owner. Disallowing such symlinks helps mitigate vulnerabilities based on insecure file system accessed by privileged programs, avoiding an exploitation vector exploiting unsafe use of open() or creat().\n\nSatisfies: SRG-OS-000312-GPOS-00123, SRG-OS-000324-GPOS-00125","checkContent":"Verify TOSS 5 is configured to enable DAC on symlinks using the following command:\n\n$ sudo sysctl fs.protected_symlinks\n\nfs.protected_symlinks = 1\n\nIf \"fs.protected_symlinks \" is not set to \"1\" or is missing, this is a finding.","fixText":"Configure TOSS 5 to enable DAC on symlinks with the following:\n\nAdd or edit the following line in a system configuration file in the \"/etc/sysctl.d/\" directory:\n\nfs.protected_symlinks = 1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-002165","CCI-002235"]},{"vulnId":"V-282557","ruleId":"SV-282557r1200651_rule","severity":"high","ruleTitle":"The systemd Ctrl-Alt-Delete burst key sequence in TOSS 5 must be disabled.","description":"A locally logged-in user who presses Ctrl-Alt-Delete when at the console can reboot the system. If accidentally pressed, as could happen in the case of a mixed operating system environment, this can create the risk of short-term loss of systems availability due to unintentional reboot. \n\nIn a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken.","checkContent":"Verify TOSS 5 is configured to not reboot the system when Ctrl-Alt-Delete is pressed seven times within two seconds using the following command:\n\n$ sudo grep -iR CtrlAltDelBurstAction /etc/systemd/system*\n/etc/systemd/system.conf.d/55-CtrlAltDel-BurstAction:CtrlAltDelBurstAction=none\n\nIf \"CtrlAltDelBurstAction\" is not set to \"none\", is commented out, or is missing, this is a finding.","fixText":"Configure TOSS 5 to disable \"CtrlAltDelBurstAction\" by adding it to a drop file in a \"/etc/systemd/system.conf.d/\" configuration file:\n\nIf no drop file exists, create one using the following command:\n\n$ sudo mkdir -p /etc/systemd/system.conf.d && sudo vi /etc/systemd/system.conf.d/55-CtrlAltDel-BurstAction\n\nEdit the file to contain the setting by adding the following text:\n\nCtrlAltDelBurstAction=none\n\nReload the daemon for this change to take effect.\n\n$ sudo systemctl daemon-reload","ccis":["CCI-002235"]},{"vulnId":"V-282558","ruleId":"SV-282558r1200654_rule","severity":"high","ruleTitle":"The x86 Ctrl-Alt-Delete key sequence must be disabled on TOSS 5.","description":"A locally logged-in user who presses Ctrl-Alt-Delete when at the console can reboot the system. If accidentally pressed, as could happen in the case of a mixed operating system environment, this can create the risk of short-term loss of systems availability due to unintentional reboot. \n\nIn a graphical user environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the user will be prompted before any action is taken.","checkContent":"Verify TOSS 5 is not configured to reboot the system when Ctrl-Alt-Delete is pressed using the following command:\n\n$ sudo systemctl status ctrl-alt-del.target\n\nctrl-alt-del.target\nLoaded: masked (Reason: Unit ctrl-alt-del.target is masked.)\nActive: inactive (dead)\n\nIf \"ctrl-alt-del.target\" is loaded and not masked, this is a finding.","fixText":"Configure TOSS 5 to disable \"ctrl-alt-del.target\" using the following command:\n\n$ sudo systemctl disable --now ctrl-alt-del.target\n$ sudo systemctl mask --now ctrl-alt-del.target","ccis":["CCI-002235"]},{"vulnId":"V-282559","ruleId":"SV-282559r1200657_rule","severity":"medium","ruleTitle":"The TOSS 5 debug-shell systemd service must be disabled.","description":"The debug-shell requires no authentication and provides root privileges to anyone who has physical access to the machine. While this feature is disabled by default, masking it adds an additional layer of assurance that it will not be enabled via a dependency in systemd. \n\nThis also prevents attackers with physical access from trivially bypassing security on the machine through valid troubleshooting configurations and gaining root access when the system is rebooted.","checkContent":"Verify TOSS 5 is configured to mask the \"debug-shell systemd\" service using the following command:\n\n$ sudo systemctl status debug-shell.service\n\ndebug-shell.service\nLoaded: masked (Reason: Unit debug-shell.service is masked.)\nActive: inactive (dead)\n\nIf the \"debug-shell.service\" is loaded and not masked, this is a finding.","fixText":"Configure TOSS 5 to mask the \"debug-shell systemd\" service using the following command:\n\n$ sudo systemctl disable --now debug-shell.service\n$ sudo systemctl mask --now debug-shell.service","ccis":["CCI-002235"]},{"vulnId":"V-282560","ruleId":"SV-282560r1200660_rule","severity":"medium","ruleTitle":"TOSS 5 must have the sudo package installed.","description":"\"sudo\" is a program designed to allow a system administrator to give limited root privileges to users and log root activity. The basic philosophy is to give as few privileges as possible but still allow system users to get their work done.","checkContent":"Verify the TOSS 5 \"sudo\" package is installed using the following command:\n\n$ sudo dnf list --installed sudo\n\nExample output:\n\nsudo.x86_64          1.9.5p2-7.el9\n\nIf the \"sudo\" package is not installed, this is a finding.","fixText":"The \"sudo\" package can be installed using the following command:\n \n$ sudo dnf install sudo","ccis":["CCI-002235"]},{"vulnId":"V-282561","ruleId":"SV-282561r1200663_rule","severity":"medium","ruleTitle":"TOSS 5 must audit uses of the execve system call.","description":"Misuse of privileged functions, either intentionally or unintentionally by authorized users, or by unauthorized external entities that have compromised information system accounts, is a serious and ongoing concern and can have significant adverse impacts on organizations. Auditing the use of privileged functions is one way to detect such misuse and identify the risk from insider threats and the advanced persistent threat.\n\nSatisfies: SRG-OS-000326-GPOS-00126, SRG-OS-000327-GPOS-00127","checkContent":"Verify TOSS 5 is configured to audit the execution of the \"execve\" system call using the following command:\n\n$ sudo auditctl -l | grep execve\n\n-a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -k execpriv \n-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k execpriv\n-a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -k execpriv \n-a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -k execpriv\n\nIf the command does not return all lines, or the lines are commented out, this is a finding.","fixText":"Configure TOSS 5 to audit the execution of the \"execve\" system call.\n\nAdd or update the following file system rules to \"/etc/audit/rules.d/audit.rules\":\n\n-a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -k execpriv \n-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k execpriv\n-a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -k execpriv \n-a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -k execpriv \n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-002233","CCI-002234"]},{"vulnId":"V-282562","ruleId":"SV-282562r1201623_rule","severity":"medium","ruleTitle":"TOSS 5 must allocate audit record storage capacity to store at least one week's worth of audit records.","description":"To ensure TOSS 5 systems have a sufficient storage capacity in which to write the audit logs, TOSS 5 needs to be able to allocate audit record storage capacity.\n\nThe task of allocating audit record storage capacity is usually performed during initial installation of TOSS 5.","checkContent":"Verify TOSS 5 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.\n\nIf the system is configured to immediately off-load audit records to an external system, this requirement is not applicable.\n\nNote: The partition size needed to capture a week of audit records is based on the activity level of the system and the total storage capacity available. Typically, 10GB of storage space for audit records should be sufficient.\n\nDetermine which partition the audit records are being written to using the following command:\n\n$ sudo grep log_file /etc/audit/auditd.conf\nlog_file = /var/log/audit/audit.log \n\nCheck the size of the partition that audit records are written to with the following command to verify whether it is large enough:\n\n # df -h /var/log/audit/\n/dev/sda2 24G 10.4G 13.6G 43% /var/log/audit \n\nIf the audit record partition is not allocated for sufficient storage capacity, this is a finding.","fixText":"Allocate enough storage capacity for at least one week of audit records when audit records are not immediately sent to a central audit record storage facility.\n\nIf audit records are stored on a partition made specifically for audit records, resize the partition with sufficient space to contain one week of audit records.\n\nIf audit records are not stored on a partition made specifically for audit records, a new partition with sufficient space will need be to be created.","ccis":["CCI-001849"]},{"vulnId":"V-282563","ruleId":"SV-282563r1200669_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to off-load audit records onto a different system from the system being audited via syslog.","description":"The auditd service does not include the ability to send audit records to a centralized server for management directly. However, it can use a plug-in for an audit event multiplexor (audispd) to pass audit records to the local syslog server.","checkContent":"Verify TOSS 5 is configured use the \"audisp-remote\" syslog service using the following command:\n\n$ sudo grep active /etc/audit/plugins.d/syslog.conf \n\nactive = yes\n\nIf the \"active\" keyword does not have a value of \"yes\", the line is commented out, or the line is missing, this is a finding.","fixText":"Edit the \"/etc/audit/plugins.d/syslog.conf\" file and add or update the \"active\" option:\n\nactive = yes\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-001851"]},{"vulnId":"V-282564","ruleId":"SV-282564r1201619_rule","severity":"medium","ruleTitle":"TOSS 5 must authenticate the remote logging server for off-loading audit logs via rsyslog.","description":"Information stored in one location is vulnerable to accidental or incidental deletion or alteration.\n\nOff-loading is a common process in information systems with limited audit storage capacity.\n\nTOSS 5 installation media provides \"rsyslogd\", a system utility providing support for message logging. Support for both internet and Unix domain sockets enables this utility to support both local and remote logging. Coupling this utility with \"gnutls\" (a secure communications library implementing the SSL, TLS, and DTLS protocols) creates a method to securely encrypt and off-load auditing.\n\nRsyslog-supported authentication modes include:\nanon - anonymous authentication\nx509/fingerprint - certificate fingerprint authentication\nx509/certvalid - certificate validation only\nx509/name - certificate validation and subject name authentication","checkContent":"Verify TOSS 5 authenticates the remote logging server for off-loading audit logs using the following command:\n\n$ sudo grep -i '$ActionSendStreamDriverAuthMode' /etc/rsyslog.conf /etc/rsyslog.d/*.conf \n\n /etc/rsyslog.conf:$ActionSendStreamDriverAuthMode x509/name \n\nIf the value of the \"$ActionSendStreamDriverAuthMode\" option is not set to \"x509/name\" or the line is commented out, ask the system administrator (SA) to indicate how the audit logs are off-loaded to a different system or media. \n\nIf there is no evidence that the transfer of the audit logs being off-loaded to another system or media is encrypted, this is a finding.","fixText":"Configure TOSS 5 to authenticate the remote logging server for off-loading audit logs by setting the following option in \"/etc/rsyslog.conf\" or \"/etc/rsyslog.d/[customfile].conf\":\n\n$ActionSendStreamDriverAuthMode x509/name","ccis":["CCI-001851"]},{"vulnId":"V-282565","ruleId":"SV-282565r1201620_rule","severity":"medium","ruleTitle":"TOSS 5 must encrypt the transfer of audit records off-loaded onto a different system or media from the system being audited via rsyslog.","description":"Information stored in one location is vulnerable to accidental or incidental deletion or alteration.\n\nOff-loading is a common process in information systems with limited audit storage capacity.\n\nTOSS 5 installation media provides \"rsyslogd\", a system utility providing support for message logging. Support for both internet and Unix domain sockets enables this utility to support both local and remote logging. Coupling this utility with \"gnutls\" (a secure communications library implementing the SSL, TLS, and DTLS protocols) creates a method to securely encrypt and off-load auditing.\n\nRsyslog-supported authentication modes include:\nanon - anonymous authentication\nx509/fingerprint - certificate fingerprint authentication\nx509/certvalid - certificate validation only\nx509/name - certificate validation and subject name authentication","checkContent":"Verify TOSS 5 encrypts audit records off-loaded onto a different system or media from the system being audited via rsyslog using the following command:\n\n$ sudo grep -i '$ActionSendStreamDriverMode' /etc/rsyslog.conf /etc/rsyslog.d/*.conf \n\n/etc/rsyslog.conf:$ActionSendStreamDriverMode 1 \n\nIf the value of the \"$ActionSendStreamDriverMode\" option is not set to \"1\" or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to encrypt off-loaded audit records via rsyslog by setting the following options in \"/etc/rsyslog.conf\" or \"/etc/rsyslog.d/[customfile].conf\":\n\n$ActionSendStreamDriverMode 1","ccis":["CCI-001851"]},{"vulnId":"V-282566","ruleId":"SV-282566r1200678_rule","severity":"medium","ruleTitle":"TOSS 5 must encrypt, via the gtls driver, the transfer of audit records off-loaded onto a different system or media from the system being audited via rsyslog.","description":"Information stored in one location is vulnerable to accidental or incidental deletion or alteration.\n\nOff-loading is a common process in information systems with limited audit storage capacity.\n\nTOSS 5 installation media provides \"rsyslogd\", a system utility providing support for message logging. Support for both internet and Unix domain sockets enables this utility to support both local and remote logging. Coupling this utility with \"gnutls\" (a secure communications library implementing the SSL, TLS, and DTLS protocols) creates a method to securely encrypt and off-load auditing.","checkContent":"Verify TOSS 5 uses the gtls driver to encrypt audit records off-loaded onto a different system or media from the system being audited using the following command:\n\n$ sudo grep -i '$DefaultNetstreamDriver' /etc/rsyslog.conf /etc/rsyslog.d/*.conf \n\n/etc/rsyslog.conf:$DefaultNetstreamDriver gtls \n\nIf the value of the \"$DefaultNetstreamDriver\" option is not set to \"gtls\" or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to use the gtls driver to encrypt off-loaded audit records by setting the following options in \"/etc/rsyslog.conf\" or \"/etc/rsyslog.d/[customfile].conf\":\n\n$DefaultNetstreamDriver gtls","ccis":["CCI-001851"]},{"vulnId":"V-282567","ruleId":"SV-282567r1200681_rule","severity":"medium","ruleTitle":"TOSS 5 must take appropriate action when the internal event queue is full.","description":"The audit system should have an action setup in the event the internal event queue becomes full so that no data is lost. Information stored in one location is vulnerable to accidental or incidental deletion or alteration.\n\nOff-loading is a common process in information systems with limited audit storage capacity.","checkContent":"Verify TOSS 5 audit system is configured to take an appropriate action when the internal event queue is full:\n\n$ sudo grep -i overflow_action /etc/audit/auditd.conf \n\noverflow_action = syslog\n\nIf the value of the \"overflow_action\" option is not set to \"syslog\", \"single\", \"halt\" or the line is commented out, ask the system administrator (SA) to indicate how the audit logs are off-loaded to a different system or media. If there is no evidence that the transfer of the audit logs being off-loaded to another system or media takes appropriate action if the internal event queue becomes full, this is a finding.","fixText":"Edit the \"/etc/audit/auditd.conf\" file and add or update the \"overflow_action\" option:\n\noverflow_action = syslog\n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-001851"]},{"vulnId":"V-282568","ruleId":"SV-282568r1200684_rule","severity":"medium","ruleTitle":"TOSS 5 audispd-plugins package must be installed.","description":"\"audispd-plugins\" provides plugins for the real-time interface to the audit subsystem, \"audispd\". These plugins can relay events to remote machines or analyze events for suspicious behavior.","checkContent":"Verify TOSS 5 has the \"audispd-plugins\" package for installed using the following command:\n\n$ sudo dnf list --installed audispd-plugins\n\nExample output:\n\naudispd-plugins.x86_64          3.0.7-101.el9_0.2\n\nIf the \"audispd-plugins\" package is not installed, this is a finding.","fixText":"Install the \"audispd-plugins\" package using the following command:\n \n$ sudo dnf install audispd-plugins","ccis":["CCI-001851"]},{"vulnId":"V-282569","ruleId":"SV-282569r1200687_rule","severity":"medium","ruleTitle":"TOSS 5 must act when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity.","description":"If security personnel are not notified immediately when storage volume reaches 75 percent utilization, they are unable to plan for audit record storage capacity expansion.","checkContent":"Verify TOSS 5 takes action when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity using the following command:\n\n$ sudo grep -w space_left /etc/audit/auditd.conf\n\nspace_left = 25%\n\nIf the value of the \"space_left\" keyword is not set to 25 percent of the storage volume allocated to audit logs, or if the line is commented out, ask the system administrator (SA) to indicate how the system is providing real-time alerts to the SA and information system security officer (ISSO). If the \"space_left\" value is not configured to the correct value, this is a finding.","fixText":"Configure TOSS 5 to initiate an action to notify the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity by adding/modifying the following line in the /etc/audit/auditd.conf file.\n\nspace_left  = 25%","ccis":["CCI-001855"]},{"vulnId":"V-282570","ruleId":"SV-282570r1200690_rule","severity":"medium","ruleTitle":"TOSS 5 must notify the system administrator (SA) and information system security officer (ISSO) (at a minimum) when allocated audit record storage volume 75 percent utilization.","description":"If security personnel are not notified immediately when storage volume reaches 75 percent utilization, they are unable to plan for audit record storage capacity expansion.","checkContent":"Verify TOSS 5 notifies the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity using the following command:\n\n$ sudo grep -w space_left_action /etc/audit/auditd.conf\n\nspace_left_action = email\n\nIf the value of the \"space_left_action\" is not set to \"email\", or if the line is commented out, ask the SA to indicate how the system is providing real-time alerts to the SA and ISSO.\n\nIf there is no evidence that real-time alerts are configured on the system, this is a finding.","fixText":"Configure TOSS 5 to initiate an action to notify the SA and ISSO (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity by adding/modifying the following line in the /etc/audit/auditd.conf file.\n\nspace_left_action = email","ccis":["CCI-001855"]},{"vulnId":"V-282571","ruleId":"SV-282571r1200693_rule","severity":"medium","ruleTitle":"TOSS 5 must act when allocated audit record storage volume reaches 95 percent of the audit record storage capacity.","description":"If action is not taken when storage volume reaches 95 percent utilization, the auditing system may fail when the storage volume reaches capacity.","checkContent":"Verify TOSS 5 takes action when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity using the following command:\n\n$ sudo grep -w admin_space_left /etc/audit/auditd.conf\n\nadmin_space_left = 5%\n\nIf the value of the \"admin_space_left\" keyword is not set to 5 percent of the storage volume allocated to audit logs, or if the line is commented out, ask the system administrator (SA) to indicate how the system is taking action if the allocated storage is about to reach capacity. \n\nIf the \"space_left\" value is not configured to the correct value, this is a finding.","fixText":"Configure TOSS 5 to initiate an action when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity by adding/modifying the following line in the \"/etc/audit/auditd.conf\" file.\n\nadmin_space_left  = 5%","ccis":["CCI-001855"]},{"vulnId":"V-282572","ruleId":"SV-282572r1200696_rule","severity":"medium","ruleTitle":"TOSS 5 must act when allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity.","description":"If action is not taken when storage volume reaches 95 percent utilization, the auditing system may fail when the storage volume reaches capacity.","checkContent":"Verify TOSS 5 is configured to take action in the event of allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity using the following command:\n\n$ sudo grep admin_space_left_action /etc/audit/auditd.conf\n\nadmin_space_left_action = single\n\nIf the value of the \"admin_space_left_action\" is not set to \"single\", or if the line is commented out, ask the system administrator (SA) to indicate how the system is providing real-time alerts to the SA and information system security officer (ISSO).\n\nIf there is no evidence that real-time alerts are configured on the system, this is a finding.","fixText":"Configure \"auditd\" service to act in the event of allocated audit record storage volume reaches 95 percent of the repository maximum audit record storage capacity.\n\nEdit the following line in \"/etc/audit/auditd.conf\" to ensure that the system is forced into single user mode in the event the audit record storage volume is about to reach maximum capacity:\n\nadmin_space_left_action = single \n\nRestart the audit daemon changes to take effect.","ccis":["CCI-001855"]},{"vulnId":"V-282574","ruleId":"SV-282574r1200702_rule","severity":"medium","ruleTitle":"TOSS 5 must have the chrony package installed.","description":"Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate.","checkContent":"Verify TOSS 5 has the \"chrony\" package installed using the following command:\n\n$ sudo dnf list --installed chrony\n\nExample output:\n\nchrony.x86_64          4.1-3.el9 \n\nIf the \"chrony\" package is not installed, this is a finding.","fixText":"The \"chrony\" package can be installed using the following command:\n \n$ sudo dnf install chrony","ccis":["CCI-004923"]},{"vulnId":"V-282575","ruleId":"SV-282575r1200705_rule","severity":"medium","ruleTitle":"TOSS 5 chronyd service must be enabled.","description":"Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate.\n\nSynchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network.","checkContent":"Verify the \"chronyd\" service is active using the following command:\n\n$ systemctl is-active chronyd\n\nactive \n\nIf the \"chronyd\" service is not active, this is a finding.","fixText":"Enable the \"chronyd\" service using the following command:\n\n$ sudo systemctl enable --now chronyd","ccis":["CCI-004923"]},{"vulnId":"V-282578","ruleId":"SV-282578r1200714_rule","severity":"medium","ruleTitle":"TOSS 5 must have the s-nail package installed.","description":"The \"s-nail\" package provides the mail command required to allow sending email notifications of unauthorized configuration changes to designated personnel.","checkContent":"Verify TOSS 5 is configured to allow sending email notifications.\n\nNote: The \"s-nail\" package provides the \"mail\" command that is used to send email messages.\n\nVerify the \"s-nail\" package is installed on the system:\n\n$ sudo dnf list --installed s-nail\n\ns-nail.x86_64          14.9.22-6.el9\n\nIf \"s-nail\" package is not installed, this is a finding.","fixText":"The \"s-nail\" package can be installed using the following command:\n\n$ sudo dnf install s-nail","ccis":["CCI-001744"]},{"vulnId":"V-282579","ruleId":"SV-282579r1201582_rule","severity":"medium","ruleTitle":"TOSS 5 must have the Advanced Intrusion Detection Environment (AIDE) package installed.","description":"Without verifying the security functions, security functions may not operate correctly, and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters.\n\nSatisfies: SRG-OS-000363-GPOS-00150, SRG-OS-000445-GPOS-00199","checkContent":"Verify TOSS 5 has the AIDE package installed using the following command:\n\n$ sudo dnf list --installed aide\n\nExample output:\n\naide.x86_64          0.16.100.el9\n\nIf AIDE is not installed, ask the system administrator (SA) how file integrity checks are performed on the system. \n\nIf there is no application installed to perform integrity checks, this is a finding.\n\nIf AIDE is installed, check if it has been initialized using the following command:\n\n$ sudo /usr/sbin/aide --check\n\nIf the output is \"Couldn't open file /var/lib/aide/aide.db.gz for reading\", this is a finding.","fixText":"Install AIDE, initialize it, and perform a manual check.\n\nInstall AIDE:\n\n$ sudo dnf install aide\n\nInitialize AIDE:\n     \n$ sudo /usr/sbin/aide --init\n\nExample output:\n\nStart timestamp: 2023-06-05 10:09:04 -0600 (AIDE 0.16)\nAIDE initialized database at /var/lib/aide/aide.db.new.gz\n\nNumber of entries:      86833\n\n---------------------------------------------------\nThe attributes of the (uncompressed) database(s):\n---------------------------------------------------\n\n/var/lib/aide/aide.db.new.gz\n  MD5      : coZUtPHhoFoeD7+k54fUvQ==\n  SHA1     : DVpOEMWJwo0uPgrKZAygIUgSxeM=\n  SHA256   : EQiZH0XNEk001tcDmJa+5STFEjDb4MPE\n             TGdBJ/uvZKc=\n  SHA512   : 86KUqw++PZhoPK0SZvT3zuFq9yu9nnPP\n             toei0nENVELJ1LPurjoMlRig6q69VR8l\n             +44EwO9eYyy9nnbzQsfG1g==\n\nEnd timestamp: 2023-06-05 10:09:57 -0600 (run time: 0m 53s)\n\nThe new database must be renamed to be read by AIDE:\n\n$ sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz\n\nPerform a manual check:\n\n$ sudo /usr/sbin/aide --check\n\nExample output:\n\n2023-06-05 10:16:08 -0600 (AIDE 0.16)\nAIDE found NO differences between database and filesystem. Looks okay!!","ccis":["CCI-001744","CCI-002696"]},{"vulnId":"V-282580","ruleId":"SV-282580r1201642_rule","severity":"medium","ruleTitle":"TOSS 5 must routinely check the baseline configuration for unauthorized changes and notify the system administrator (SA) when anomalies in the operation of any security functions are discovered.","description":"Unauthorized changes to the baseline configuration could make the system vulnerable to various attacks or allow unauthorized access to the operating system. Changes to operating system configurations can have unintended side effects, some of which may be relevant to security.\n\nDetecting 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 information management officer (IMO)/information system security officer (ISSO) and SAs must be notified via email and/or monitoring system trap when there is an unauthorized modification of a configuration item.\n\nNotifications provided by information systems include messages to local computer consoles, and/or hardware indications, such as lights.\n\nThis capability must take into account operational requirements for availability for selecting an appropriate response. The organization may choose to shut down or restart the information system upon security function anomaly detection.\n\nSatisfies: SRG-OS-000363-GPOS-00150, SRG-OS-000445-GPOS-00199, SRG-OS-000205-GPOS-00083, SRG-OS-000447-GPOS-00201","checkContent":"Verify TOSS 5 routinely executes a file integrity scan for changes to the system baseline. The command used in the example will use a daily occurrence.\n\nCheck the cron directories for scripts controlling the execution and notification of results of the file integrity application. For example, if AIDE is installed on the system, use the following commands:\n\n$ ls -al /etc/cron.* | grep aide\n\n-rwxr-xr-x 1 root root 29 Nov 22 2015 aide\n\n$ grep aide /etc/crontab /var/spool/cron/root\n\n/etc/crontab: 30 04 * * * root usr/sbin/aide\n/var/spool/cron/root: 30 04 * * * root usr/sbin/aide\n\n$ sudo more /etc/cron.daily/aide\n\n#!/bin/bash\n/usr/sbin/aide --check | /bin/mail -s \"$HOSTNAME - Daily aide integrity check run\" root@sysname.mil\n\nIf the file integrity application does not exist, or a script file controlling the execution of the file integrity application does not exist, or the file integrity application does not notify designated personnel of changes, this is a finding.","fixText":"Configure the file integrity tool to run automatically on the system at least weekly and to notify designated personnel if baseline configurations are changed in an unauthorized manner. The AIDE tool can be configured to email designated personnel with the use of the cron system.\n \nThe following example output is generic. It will set cron to run AIDE daily and to send email at the completion of the analysis:\n\n$ sudo more /etc/cron.daily/aide\n \n#!/bin/bash\n/usr/sbin/aide --check | /bin/mail -s \"$HOSTNAME - Daily aide integrity check run\" root@sysname.mil","ccis":["CCI-001744","CCI-002696","CCI-001312","CCI-002702"]},{"vulnId":"V-282581","ruleId":"SV-282581r1200723_rule","severity":"medium","ruleTitle":"TOSS 5 SSH daemon must not allow Kerberos authentication.","description":"Kerberos authentication for SSH is often implemented using Generic Security Service Application Program Interface (GSSAPI). If Kerberos is enabled through SSH, the SSH daemon provides a means of access to the system's Kerberos implementation. Vulnerabilities in the system's Kerberos implementations may be subject to exploitation.","checkContent":"Verify the SSH daemon does not allow Kerberos authentication using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*kerberosauthentication'\n\nKerberosAuthentication no\n\nIf the value is returned as \"yes\", the returned line is commented out, no output is returned, and the use of Kerberos authentication has not been documented with the information system security officer (ISSO), this is a finding.","fixText":"Configure the SSH daemon to not allow Kerberos authentication.\n\nAdd the following line in \"/etc/ssh/sshd_config\" or uncomment the line and set the value to \"no\":\n\nKerberosAuthentication no\n\nRestart the SSH service for changes to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-001813"]},{"vulnId":"V-282582","ruleId":"SV-282582r1200726_rule","severity":"high","ruleTitle":"TOSS 5 must ensure cryptographic verification of vendor software packages.","description":"Cryptographic verification of vendor software packages ensures that all software packages are obtained from a valid source and protects against spoofing that could lead to installation of malware on the system. Red Hat cryptographically signs all software packages, which includes updates, with a GPG key to verify that they are valid.","checkContent":"Confirm Red Hat package-signing keys are installed on the system and verify their fingerprints match vendor values.\n\nNote: For TOSS 5 software packages, Red Hat uses GPG keys labeled \"release key 2\" and \"auxiliary key 3\". The keys are defined in key file \"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release\" by default.\n\nList Red Hat GPG keys installed on the system:\n\n$ sudo rpm -q --queryformat \"%{SUMMARY}\\n\" gpg-pubkey | grep -i \"red hat\"\n\nRed Hat, Inc. (release key 2) <security@redhat.com> public key\nRed Hat, Inc. (auxiliary key 3) <security@redhat.com> public key\n\nIf Red Hat GPG keys \"release key 2\" and \"auxiliary key 3\" are not installed, this is a finding.\n\nList key fingerprints of installed Red Hat GPG keys:\n\n$ sudo gpg -q --keyid-format short --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release\n\nIf key file \"/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release\" is missing, this is a finding.\n\nExample output:\n\npub   rsa4096/FD431D51 2009-10-22 [SC]\n      Key fingerprint = 567E 347A D004 4ADE 55BA  8A5F 199E 2F91 FD43 1D51\nuid                   Red Hat, Inc. (release key 2) <security@redhat.com>\npub   rsa4096/5A6340B3 2022-03-09 [SC]\n      Key fingerprint = 7E46 2425 8C40 6535 D56D  6F13 5054 E4A4 5A63 40B3\nuid                   Red Hat, Inc. (auxiliary key 3) <security@redhat.com>\n\nCompare key fingerprints of installed Red Hat GPG keys with fingerprints listed for TOSS 5 on Red Hat \"Product Signing Keys\" webpage at https://access.redhat.com/security/team/key.\n\nIf key fingerprints do not match, this is a finding.","fixText":"Install Red Hat package-signing keys on the system and verify their fingerprints match vendor values.\n\nInsert TOSS 5 installation disc or attach TOSS 5 installation image to the system. Mount the disc or image to make the contents accessible inside the system.\n\nAssuming the mounted location is \"/media/cdrom\", use the following command to copy Red Hat GPG key file onto the system:\n\n$ sudo cp /media/cdrom/RPM-GPG-KEY-redhat-release /etc/pki/rpm-gpg/\n\nImport Red Hat GPG keys from key file into system keyring:\n\n$ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release\n\nUsing the steps listed in the Check, confirm the newly imported keys show as installed on the system and verify their fingerprints match vendor values.","ccis":["CCI-003992"]},{"vulnId":"V-282583","ruleId":"SV-282583r1200729_rule","severity":"high","ruleTitle":"TOSS 5 must check the GPG signature of software packages originating from external software repositories before installation.","description":"Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor.\n\nAll software packages must be signed with a cryptographic key recognized and approved by the organization.\n\nVerifying the authenticity of software prior to installation validates the integrity of the software package received from a vendor. This verifies the software has not been tampered with and that it has been provided by a trusted vendor.","checkContent":"Verify dnf always checks the GPG signature of software packages originating from external software repositories before installation:\n\n$ grep gpgcheck /etc/dnf/dnf.conf\n\ngpgcheck=1\n\nIf \"gpgcheck\" is not set to \"1\", or if the option is missing or commented out, ask the system administrator how the GPG signatures of software packages are verified.\n\nIf there is no process to verify GPG signatures that is approved by the organization, this is a finding.","fixText":"Configure dnf to always check the GPG signature of software packages originating from external software repositories before installation.\n\nAdd or update the following line in the [main] section of the /etc/dnf/dnf.conf file:\n\ngpgcheck=1","ccis":["CCI-003992"]},{"vulnId":"V-282584","ruleId":"SV-282584r1200732_rule","severity":"high","ruleTitle":"TOSS 5 must check the GPG signature of locally installed software packages before installation.","description":"Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor.\n\nAll software packages must be signed with a cryptographic key recognized and approved by the organization.\n\nVerifying the authenticity of software prior to installation validates the integrity of the software package received from a vendor. This verifies the software has not been tampered with and that it has been provided by a trusted vendor.","checkContent":"Verify dnf always checks the GPG signature of locally installed software packages before installation:\n\n$ grep localpkg_gpgcheck /etc/dnf/dnf.conf \n\nlocalpkg_gpgcheck=1 \n\nIf \"localpkg_gpgcheck\" is not set to \"1\", or if the option is missing or commented out, ask the system administrator how the GPG signatures of local software packages are verified.\n\nIf there is no process to verify GPG signatures that is approved by the organization, this is a finding.","fixText":"Configure dnf to always check the GPG signature of local software packages before installation.\n\nAdd or update the following line in the [main] section of the /etc/dnf/dnf.conf :\n\nlocalpkg_gpgcheck=1","ccis":["CCI-003992"]},{"vulnId":"V-282585","ruleId":"SV-282585r1200735_rule","severity":"high","ruleTitle":"TOSS 5 must have GPG signature verification enabled for all software repositories.","description":"Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor.\n\nAll software packages must be signed with a cryptographic key recognized and approved by the organization.\n\nVerifying the authenticity of software prior to installation validates the integrity of the software package received from a vendor. This verifies the software has not been tampered with and that it has been provided by a trusted vendor.","checkContent":"Verify all software repositories defined in \"/etc/yum.repos.d/\" have been configured with \"gpgcheck\" enabled:\n\n$ grep gpgcheck /etc/yum.repos.d/*.repo | more\n\ngpgcheck = 1\n\nIf \"gpgcheck\" is not set to \"1\" for all returned lines, this is a finding.","fixText":"Configure all software repositories defined in \"/etc/yum.repos.d/\" to have \"gpgcheck\" enabled:\n\n$ sudo sed -i 's/gpgcheck\\s*=.*/gpgcheck=1/g' /etc/yum.repos.d/*","ccis":["CCI-003992"]},{"vulnId":"V-282586","ruleId":"SV-282586r1200738_rule","severity":"medium","ruleTitle":"TOSS 5 subscription-manager package must be installed.","description":"The Subscription Manager application manages software subscriptions and software repositories for installed software products on the local system. It communicates with backend servers, such as the Red Hat Customer Portal or an on-premise instance of Subscription Asset Manager, to register the local system and grant access to software resources determined by the subscription entitlement.","checkContent":"Verify the TOSS 5 \"subscription-manager\" package is installed using the following command:\n\n$ sudo dnf list --installed subscription-manager\n\nExample output:\n\nsubscription-manager.x86_64          1.29.26-3.el9_0\n\nIf the \"subscription-manager\" package is not installed, this is a finding.","fixText":"Install the \"subscription-manager\" package using the following command:\n \n$ sudo dnf install subscription-manager","ccis":["CCI-003992"]},{"vulnId":"V-282587","ruleId":"SV-282587r1200741_rule","severity":"medium","ruleTitle":"TOSS 5 must mount /var/tmp with the nosuid option.","description":"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 nonprivileged users to attain unauthorized administrative access.","checkContent":"Verify \"/var/tmp\" is mounted with the \"nosuid\" option:\n\n$ mount | grep /var/tmp\n\n/dev/mapper/rhel-var-tmp on /var/tmp type xfs (rw,nodev,nosuid,noexec,seclabel)\n\nIf the \"/var/tmp\" file system is mounted without the \"nosuid\" option, this is a finding.","fixText":"Modify \"/etc/fstab\" to use the \"nosuid\" option on the \"/var/tmp\" directory.","ccis":["CCI-001764"]},{"vulnId":"V-282588","ruleId":"SV-282588r1200744_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the graphical user interface autorun function unless required.","description":"Allowing autorun commands to execute may introduce malicious code to a system. Configuring this setting prevents users from executing autorun commands.","checkContent":"Verify TOSS 5 disables the graphical user interface autorun function using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface—the GNOME desktop environment. If the system does not have a graphical user interface installed, this requirement is not applicable.\n\n$ gsettings get org.gnome.desktop.media-handling autorun-never \n\ntrue\n\nIf \"autorun-never\" is set to \"false\" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the GNOME desktop to disable the autorun function on removable media.\n\nThe dconf settings can be edited in the /etc/dconf/db/* location.\n\nUpdate the [org/gnome/desktop/media-handling] section of the \"/etc/dconf/db/local.d/00-security-settings\" database file and add or update the following lines:\n\n[org/gnome/desktop/media-handling]\nautorun-never=true\n\nUpdate the dconf system databases:\n\n$ sudo dconf update","ccis":["CCI-001764"]},{"vulnId":"V-282589","ruleId":"SV-282589r1200747_rule","severity":"medium","ruleTitle":"TOSS 5 fapolicy module must be installed.","description":"The organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as allowlisting.\n\nUsing an allowlist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities. Verification of allowlisted software occurs prior to execution or at system startup.\n\nUser home directories/folders may contain information of a sensitive nature. Nonprivileged users should coordinate any sharing of information with a system administrator (SA) through shared resources.\n\nTOSS 5 ships with many optional packages. One such package is a file access policy daemon called \"fapolicyd\". \"fapolicyd\" is a userspace daemon that determines access rights to files based on attributes of the process and file. It can be used to either blocklist or allowlist processes or file access.\n\nProceed with caution when using this daemon. Improper configuration may render the system nonfunctional. The \"fapolicyd\" API is not namespace-aware and can cause issues when launching or running containers.\n\nSatisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000370-GPOS-00155","checkContent":"Verify the TOSS 5 \"fapolicyd\" package is installed using the following command:\n\n$ sudo dnf list --installed fapolicyd\n\nExample output:\n\nfapolicyd.x86_64          1.1-103.el9_0\n\nIf the \"fapolicyd\" package is not installed, this is a finding.","fixText":"Install the \"fapolicyd\" package using the following command:\n \n$ sudo dnf install fapolicyd","ccis":["CCI-001764","CCI-001774"]},{"vulnId":"V-282590","ruleId":"SV-282590r1200750_rule","severity":"medium","ruleTitle":"TOSS 5 must use the invoking user's password for privilege escalation when using sudo.","description":"If the \"rootpw\", \"targetpw\", or \"runaspw\" flags are defined and not disabled, by default the operating system will prompt the invoking user for the \"root\" user password.\n\nSatisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158","checkContent":"Verify the sudoers security policy is configured to use the invoking user's password for privilege escalation using the following command:\n\n$ sudo egrep -ir '(!rootpw|!targetpw|!runaspw)' /etc/sudoers /etc/sudoers.d/* | grep -v '#'\n\n/etc/sudoers:Defaults !targetpw\n/etc/sudoers:Defaults !rootpw\n/etc/sudoers:Defaults !runaspw\n\nIf no results are returned, this is a finding.\n\nIf results are returned from more than one file location, this is a finding.\n\nIf \"Defaults !targetpw\" is not defined, this is a finding.\n\nIf \"Defaults !rootpw\" is not defined, this is a finding.\n\nIf \"Defaults !runaspw\" is not defined, this is a finding.","fixText":"Define the following in the Defaults section of the \"/etc/sudoers\" file or a single configuration file in the \"/etc/sudoers.d/\" directory:\n\nDefaults !targetpw\nDefaults !rootpw\nDefaults !runaspw","ccis":["CCI-002038"]},{"vulnId":"V-282591","ruleId":"SV-282591r1200753_rule","severity":"medium","ruleTitle":"TOSS 5 must have the pcsc-lite package installed.","description":"The \"pcsc-lite\" package must be installed so it is available for multifactor authentication using smart cards.","checkContent":"Verify TOSS 5 has the \"pcsc-lite\" package installed using the following command:\n\n$ sudo dnf list --installed pcsc-lite\n\nExample output:\n\npcsc-lite.x86_64          1.9.4-1.el9\n\nIf the \"pcsc-lite\" package is not installed, this is a finding.","fixText":"Install the \"pcsc-lite\" package using the following command:\n \n$ sudo dnf install pcsc-lite","ccis":["CCI-004046"]},{"vulnId":"V-282592","ruleId":"SV-282592r1200756_rule","severity":"medium","ruleTitle":"TOSS 5 must have the opensc package installed.","description":"The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access.\n\nThe DOD has mandated the use of the common access card (CAC) to support identity management and personal authentication for systems covered under Homeland Security Presidential Directive (HSPD) 12, as well as making the CAC a primary component of layered protection for national security systems.\n\nSatisfies: SRG-OS-000375-GPOS-00160, SRG-OS-000376-GPOS-00161, SRG-OS-000377-GPOS-00162","checkContent":"Verify TOSS 5 has the \"opensc\" package installed using the following command:\n\n$ sudo dnf list --installed opensc\n\nExample output:\n\nopensc.x86_64          0.22.0-2.el9\n\nIf the \"opensc\" package is not installed, this is a finding.","fixText":"Install the \"opensc\" package using the following command:\n \n$ sudo dnf install opensc","ccis":["CCI-004046","CCI-001953","CCI-001954"]},{"vulnId":"V-282593","ruleId":"SV-282593r1200759_rule","severity":"medium","ruleTitle":"TOSS 5 must have the USBGuard package installed.","description":"The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the \"usbguard-rules.conf\" file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool.\n\nThe system administrator (SA) must work with the site information system security officer (ISSO) to determine a list of authorized peripherals and establish rules within the USBGuard software framework to allow only authorized devices.\n\nSatisfies: SRG-OS-000378-GPOS-00163, SRG-OS-000690-GPOS-00140","checkContent":"Verify USBGuard is installed on the operating system using the following command:\n\n$ sudo dnf list installed usbguard\n\nusbguard.x86_64          1.0.0-10.el9_1.2          @rhel-9-for-x86_64-appstream-rpms\n\nIf the USBGuard package is not installed, ask the SA to indicate how unauthorized peripherals are blocked.\n\nIf there is no evidence that unauthorized peripherals are blocked before establishing a connection, this is a finding.","fixText":"Install the usbguard package using the following command:\n\n$ sudo dnf install usbguard","ccis":["CCI-001958","CCI-003959"]},{"vulnId":"V-282594","ruleId":"SV-282594r1200762_rule","severity":"medium","ruleTitle":"TOSS 5 must have the USBGuard package enabled.","description":"The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the usbguard-rules.conf file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool.\n\nThe system administrator (SA) must work with the site information system security officer (ISSO) to determine a list of authorized peripherals and establish rules within the USBGuard software framework to allow only authorized devices.\n\nSatisfies: SRG-OS-000378-GPOS-00163, SRG-OS-000690-GPOS-00140","checkContent":"Verify TOSS 5 has USBGuard enabled using the following command:\n\n$ systemctl is-active usbguard\n\nactive\n\nIf usbguard is not active, ask the SA to indicate how unauthorized peripherals are blocked.\n\nIf there is no evidence that unauthorized peripherals are being blocked before establishing a connection, this is a finding.","fixText":"Enable the USBGuard service using the following command:\n\n$ sudo systemctl enable --now usbguard","ccis":["CCI-001958","CCI-003959"]},{"vulnId":"V-282595","ruleId":"SV-282595r1200765_rule","severity":"medium","ruleTitle":"TOSS 5 must block unauthorized peripherals before establishing a connection.","description":"The USBguard-daemon is the main component of the USBGuard software framework. It runs as a service in the background and enforces the USB device authorization policy for all USB devices. The policy is defined by a set of rules using a rule language described in the usbguard-rules.conf file. The policy and the authorization state of USB devices can be modified during runtime using the usbguard tool.\n\nThe system administrator (SA) must work with the site information system security officer (ISSO) to determine a list of authorized peripherals and establish rules within the USBGuard software framework to allow only authorized devices.","checkContent":"Verify the USBGuard has a policy configured using the following command:\n\n$ usbguard list-rules\n\nallow id 1d6b:0001 serial\n\nIf the command does not return results or an error is returned, ask the SA to indicate how unauthorized peripherals are being blocked.\n\nIf there is no evidence that unauthorized peripherals are being blocked before establishing a connection, this is a finding.\n\nIf the system is a virtual machine with no virtual or physical USB peripherals attached, this is not a finding.","fixText":"Configure the operating system to enable blocking of unauthorized peripherals using the following command:\n\nNote: This command must be run from a root shell and will create an allow list for any usb devices currently connect to the system.\n\n# usbguard generate-policy --no-hash > /etc/usbguard/rules.conf\n\nNote: Enabling and starting usbguard without properly configuring it for an individual system will immediately prevent any access over a usb device such as a keyboard or mouse.","ccis":["CCI-001958"]},{"vulnId":"V-282597","ruleId":"SV-282597r1200771_rule","severity":"medium","ruleTitle":"TOSS 5 must prohibit the use of cached authenticators after one day.","description":"If cached authentication information is out of date, the validity of the authentication information may be questionable.","checkContent":"Verify the System Security Services Daemon (SSSD) prohibits the use of cached authentications after one day.\n\nNote: If smart card authentication is not being used on the system, this requirement is not applicable.\n\nCheck that SSSD allows cached authentications using the following command:\n\n$ sudo grep cache_credentials /etc/sssd/sssd.conf\n\ncache_credentials = true\n\nIf \"cache_credentials\" is set to \"false\" or missing from the configuration file, this is not a finding and no further checks are required.\n\nIf \"cache_credentials\" is set to \"true\", check that SSSD prohibits the use of cached authentications after one day using the following command:\n\n$ sudo grep offline_credentials_expiration  /etc/sssd/sssd.conf\n\noffline_credentials_expiration = 1\n\nIf \"offline_credentials_expiration\" is not set to a value of \"1\", this is a finding.","fixText":"Configure the SSSD to prohibit the use of cached authentications after one day.\n\nAdd or change the following line in \"/etc/sssd/sssd.conf\" just below the line [pam]:\n\noffline_credentials_expiration = 1","ccis":["CCI-002007"]},{"vulnId":"V-282598","ruleId":"SV-282598r1200774_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/faillock.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nSatisfies: SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/var/log/faillock\" using the following command:\n\n$ sudo auditctl -l | grep /var/log/faillock\n\n-w /var/log/faillock -p wa -k logins\n\nIf the command does not return a line or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/var/log/faillock\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /var/log/faillock -p wa -k logins\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-002884","CCI-000172"]},{"vulnId":"V-282599","ruleId":"SV-282599r1201494_rule","severity":"medium","ruleTitle":"TOSS 5 must generate audit records for all account creations, modifications, disabling, and termination events that affect /var/log/tallylog.","description":"Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nSatisfies: SRG-OS-000392-GPOS-00172, SRG-OS-000477-GPOS-00222","checkContent":"Verify TOSS 5 generates audit records for all account creations, modifications, disabling, and termination events that affect \"/var/log/tallylog\" using the following command:\n\n$ sudo auditctl -l | grep /var/log/tallylog\n\n-w /var/log/tallylog -p wa -k logins\n\nIf the command does not return a line, or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/var/log/tallylog\".\n\nAdd or update the following file system rule to \"/etc/audit/rules.d/audit.rules\":\n\n-w /var/log/tallylog -p wa -k logins\n\nRestart the audit daemon for the changes to take effect.","ccis":["CCI-002884","CCI-000172"]},{"vulnId":"V-282601","ruleId":"SV-282601r1200783_rule","severity":"high","ruleTitle":"TOSS 5 must have the crypto-policies package installed.","description":"Centralized cryptographic policies simplify applying secure ciphers across an operating system and the applications that run on that operating system. Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data.","checkContent":"Verify the TOSS 5 \"crypto-policies\" package is installed using the following command:\n\n$ sudo dnf list --installed crypto-policies\n\nExample output:\n\ncrypto-policies.noarch          20220223-1.git5203b41.el9_0.1\n\nIf the \"crypto-policies\" package is not installed, this is a finding.","fixText":"Install the \"crypto-policies package\" using the following command:\n\n$ sudo dnf install crypto-policies","ccis":["CCI-002450"]},{"vulnId":"V-282602","ruleId":"SV-282602r1200786_rule","severity":"medium","ruleTitle":"TOSS 5 crypto policy must not be overridden.","description":"Centralized cryptographic policies simplify applying secure ciphers across an operating system and the applications that run on that operating system. Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data.","checkContent":"Verify TOSS 5 custom crypto policies are loaded correctly.\n\nList all of the crypto backends configured on the system.\n\n$ ls -l /etc/crypto-policies/back-ends/ \nlrwxrwxrwx. 1 root root 40 Oct  7 08:44 bind.config -> /usr/share/crypto-policies/FIPS/bind.txt\nlrwxrwxrwx. 1 root root 42 Oct  7 08:44 gnutls.config -> /usr/share/crypto-policies/FIPS/gnutls.txt\nlrwxrwxrwx. 1 root root 40 Oct  7 08:44 java.config -> /usr/share/crypto-policies/FIPS/java.txt\nlrwxrwxrwx. 1 root root 46 Oct  7 08:44 javasystem.config -> /usr/share/crypto-policies/FIPS/javasystem.txt\nlrwxrwxrwx. 1 root root 40 Oct  7 08:44 krb5.config -> /usr/share/crypto-policies/FIPS/krb5.txt\nlrwxrwxrwx. 1 root root 45 Oct  7 08:44 libreswan.config -> /usr/share/crypto-policies/FIPS/libreswan.txt\nlrwxrwxrwx. 1 root root 42 Oct  7 08:44 libssh.config -> /usr/share/crypto-policies/FIPS/libssh.txt\nlrwxrwxrwx. 1 root root 39 Oct  7 08:44 nss.config -> /usr/share/crypto-policies/FIPS/nss.txt\nlrwxrwxrwx. 1 root root 43 Oct  7 08:44 openssh.config -> /usr/share/crypto-policies/FIPS/openssh.txt\nlrwxrwxrwx. 1 root root 49 Oct  7 08:44 opensshserver.config -> /usr/share/crypto-policies/FIPS/opensshserver.txt\nlrwxrwxrwx. 1 root root 46 Oct  7 08:44 opensslcnf.config -> /usr/share/crypto-policies/FIPS/opensslcnf.txt\nlrwxrwxrwx. 1 root root 43 Oct  7 08:44 openssl.config -> /usr/share/crypto-policies/FIPS/openssl.txt\n\nIf the paths do not point the respective files under \"/usr/share/crypto-policies/FIPS\" path, this is a finding.","fixText":"Configure TOSS 5 to FIPS crypto policy.\n\n$ sudo ln -s /usr/share/crypto-policies/FIPS/<service>.txt /etc/crypto-policies/back-ends/<service>.conf\n\nReplace <service> with every service that is not set to FIPS.\n\nRestart the system for the changes to take effect.","ccis":["CCI-002450"]},{"vulnId":"V-282603","ruleId":"SV-282603r1200789_rule","severity":"medium","ruleTitle":"TOSS 5 must implement a systemwide encryption policy.","description":"Centralized cryptographic policies simplify applying secure ciphers across an operating system and the applications that run on that operating system. Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data.","checkContent":"Verify the TOSS 5 cryptography policy has been configured correctly with the following commands:\n\n$ sudo update-crypto-policies --show \n\nFIPS:OSPP\n\nIf the cryptography base profile is not set to \"FIPS\" and is not applied, this is a finding.\n\n$ sudo update-crypto-policies --check\n\nThe configured policy matches the generated policy\n\nIf the command does not return \"The configured policy matches the generated policy\", this is a finding.","fixText":"Configure TOSS 5 to implement FIPS mode with the following command:\n\n$ sudo update-crypto-policies --set FIPS:OSPP\n\nReboot the system for the changes to take effect.","ccis":["CCI-002450"]},{"vulnId":"V-282605","ruleId":"SV-282605r1200795_rule","severity":"medium","ruleTitle":"TOSS 5 must protect against or limit the effects of denial-of-service (DoS) attacks by ensuring rate-limiting measures on impacted network interfaces are implemented.","description":"DoS is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity.\n\nThis requirement addresses the configuration of TOSS 5 to mitigate the impact of DoS attacks that have occurred or are ongoing on system availability. For each system, known and potential DoS attacks must be identified and solutions for each type implemented. A variety of technologies exists to limit or, in some cases, eliminate the effects of DoS attacks (e.g., limiting processes or establishing memory partitions). Employing increased capacity and bandwidth, combined with service redundancy, may reduce the susceptibility to some DoS attacks.","checkContent":"Verify \"nftables\" is configured to allow rate limits on any connection to the system using the following command:\n\n$ sudo grep -i firewallbackend /etc/firewalld/firewalld.conf\n\n# FirewallBackend\nFirewallBackend=nftables\n\nIf the \"nftables\" is not set as the \"FirewallBackend\" default, this is a finding.","fixText":"Configure \"nftables\" to be the default \"firewallbackend\" for \"firewalld\" by adding or editing the following line in \"etc/firewalld/firewalld.conf\":\n\nFirewallBackend=nftables\n\nEstablish rate-limiting rules based on organization-defined types of DoS attacks on impacted network interfaces.","ccis":["CCI-002385"]},{"vulnId":"V-282606","ruleId":"SV-282606r1201360_rule","severity":"medium","ruleTitle":"All TOSS 5 networked systems must have SSH installed.","description":"Without protecting the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. \n\nThis requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. \n\nProtecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.\n\nSatisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPOS-00189, SRG-OS-000426-GPOS-00190","checkContent":"Verify TOSS 5 has the \"openssh-server\" package installed using the following command:\n\n$ sudo dnf list --installed openssh-server\n\nExample output:\n\nopenssh-server.x86_64          8.7p1-8.el9\n\nIf the \"openssh-server\" package is not installed, this is a finding.","fixText":"Install the \"openssh-server\" package using the following command:\n \n$ sudo dnf install openssh-server","ccis":["CCI-002418","CCI-002421","CCI-002420","CCI-002422"]},{"vulnId":"V-282607","ruleId":"SV-282607r1200801_rule","severity":"medium","ruleTitle":"All TOSS 5 networked systems must have and implement SSH to protect the confidentiality and integrity of transmitted and received information, as well as information during preparation for transmission.","description":"Without protecting the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. \n\nThis requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. \n\nProtecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.\n\nSatisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPOS-00189, SRG-OS-000426-GPOS-00190","checkContent":"Verify \"sshd\" is active using the following command:\n\n$ systemctl is-active sshd\n\nactive\n\nIf the \"sshd\" service is not active, this is a finding.","fixText":"Enable the \"sshd\" service using the following command:\n\n$ systemctl enable --now sshd","ccis":["CCI-002418","CCI-002421","CCI-002420","CCI-002422"]},{"vulnId":"V-282608","ruleId":"SV-282608r1200804_rule","severity":"medium","ruleTitle":"TOSS 5 must implement DOD or other applicable U.S. Government agency-approved encryption in the bind package.","description":"Without cryptographic integrity protections, information can be altered by unauthorized users without detection.\n\nCryptographic mechanisms used for protecting the integrity of information include, for example, signed hash functions using asymmetric cryptography enabling distribution of the public key to verify the hash information while maintaining the confidentiality of the secret key used to generate the hash.\n\nTOSS 5 incorporates systemwide crypto policies by default. The employed algorithms can be viewed in the /etc/crypto-policies/back-ends/ directory.\n\nSatisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000426-GPOS-00190","checkContent":"Verify BIND uses the system crypto policy using the following command:\n\nNote: If the \"bind\" package is not installed, this requirement is not applicable.\n\n$ sudo grep include /etc/named.conf \n\ninclude \"/etc/crypto-policies/back-ends/bind.config\";' \n\nIf BIND is installed and the BIND config file does not include the \"/etc/crypto-policies/back-ends/bind.config\" directive, or the line is commented out, this is a finding.","fixText":"Configure BIND to use the system crypto policy.\n\nAdd the following line to the \"options\" section in \"/etc/named.conf\":\n\ninclude \"/etc/crypto-policies/back-ends/bind.config\";","ccis":["CCI-002418","CCI-002422"]},{"vulnId":"V-282610","ruleId":"SV-282610r1200810_rule","severity":"medium","ruleTitle":"TOSS 5 must implement nonexecutable data to protect its memory from unauthorized code execution.","description":"ExecShield uses the segmentation feature on all x86 systems to prevent execution in memory higher than a certain address. It writes an address as a limit in the code segment descriptor, to control where code can be executed, on a per-process basis. When the kernel places a process's memory regions such as the stack and heap higher than this address, the hardware prevents execution in that address range. This is enabled by default on the latest Red Hat and Fedora systems if supported by the hardware.","checkContent":"Verify ExecShield is enabled on 64-bit TOSS 5 systems using the following command:\n\n$ sudo dmesg | grep '[NX|DX]*protection' \n\n[ 0.000000] NX (Execute Disable) protection: active\n\nIf \"dmesg\" does not show \"NX (Execute Disable) protection\" active, this is a finding.","fixText":"Update the GRUB 2 bootloader configuration.\n\nRun the following command:\n\n$ sudo grubby --update-kernel=ALL --remove-args=noexec","ccis":["CCI-002824"]},{"vulnId":"V-282611","ruleId":"SV-282611r1200813_rule","severity":"low","ruleTitle":"TOSS 5 must remove all software components after updated versions have been installed.","description":"Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by adversaries.","checkContent":"Verify TOSS 5 removes all software components after updated versions have been installed using the following command:\n\n$ grep clean /etc/dnf/dnf.conf \n\nclean_requirements_on_remove=1 \n\nIf \"clean_requirements_on_remove\" is not set to \"1\", this is a finding.","fixText":"Configure TOSS 5 to remove all software components after updated versions have been installed.\n\nEdit the file /etc/dnf/dnf.conf by adding or editing the following line:\n\nclean_requirements_on_remove=1","ccis":["CCI-002617"]},{"vulnId":"V-282613","ruleId":"SV-282613r1201304_rule","severity":"medium","ruleTitle":"TOSS 5 must enable the \"SELinux\" targeted policy.","description":"Setting the SELinux policy to \"targeted\" or a more specialized policy ensures the system will confine processes that are likely to be targeted for exploitation, such as network or system services.\n\nNote: During the development or debugging of SELinux modules, it is common to temporarily place nonproduction systems in \"permissive\" mode. In such temporary cases, SELinux policies should be developed, and once work is completed, the system should be reconfigured to \"targeted\".","checkContent":"Note: At lower classification levels (CUI, Secret) where vast amounts of data are processed and a performance impact is occurring, an authorizing official can consider this requirement not applicable.\n\nCheck that TOSS verifies correct operation of all security functions.\n\nDetermine if \"SELinux\" is active and is enforcing the targeted policy using the following command:\n\n$ sudo sestatus\n\nSELinux status: enabled\nSELinuxfs mount: /sys/fs/selinux\nSELinux root directory: /etc/selinux\nLoaded policy name: targeted\nCurrent mode: enforcing\nMode from config file: enforcing\nPolicy MLS status: enabled\nPolicy deny_unknown status: allowed\nMemory protection checking: actual (secure)\nMax kernel policy version: 33\n\nIf the \"Loaded policy name\" is not set to \"targeted\", this is a finding.\n\nVerify the \"/etc/selinux/config\" file is configured with the \"SELINUXTYPE\" of \"targeted\":\n\n$ sudo grep -i \"selinuxtype\" /etc/selinux/config | grep -v '^#'\nSELINUXTYPE = targeted\n\nIf no results are returned, or \"SELINUXTYPE\" is not set to \"targeted\", this is a finding.","fixText":"Configure the operating system to verify correct operation of all security functions.\n\nSet the \"SELinuxtype\" to the \"targeted\" policy by modifying the \"/etc/selinux/config\" file to have the following line:\n\nSELINUXTYPE=targeted\n\nRestart the system for the changes to take effect.","ccis":["CCI-002696"]},{"vulnId":"V-282615","ruleId":"SV-282615r1201495_rule","severity":"high","ruleTitle":"TOSS 5 crypto policy files must match files shipped with the operating system.","description":"The TOSS 5 package \"crypto-policies\" defines the cryptography policies for the system.\n\nIf the files are changed from those shipped with the operating system, it may be possible for TOSS 5 to use cryptographic functions that are not FIPS 140-3 approved.","checkContent":"Verify the TOSS 5 package \"crypto-policies\" has not been modified using the following command:\n\n$ rpm -V crypto-policies\n\nIf the command has any output, this is a finding.","fixText":"Reinstall the \"crypto-policies\" package to remove any modifications.\n\n$ sudo dnf reinstall crypto-policies","ccis":["CCI-002450"]},{"vulnId":"V-282616","ruleId":"SV-282616r1200828_rule","severity":"medium","ruleTitle":"TOSS 5 must have the rsyslog package installed.","description":"\"rsyslogd\" is a system utility providing support for message logging. Support for both internet and Unix domain sockets enables this utility to support both local and remote logging. Couple this utility with \"gnutls\" (which is a secure communications library implementing the SSL, TLS, and DTLS protocols), to create a method to securely encrypt and offload auditing.","checkContent":"Verify TOSS 5 has the \"rsyslogd\" package installed using the following command:\n\n$ sudo dnf list --installed rsyslog\n\nExample output:\n\nrsyslog.x86_64          8.2102.0-101.el9_0.1\n\nIf the \"rsyslogd\" package is not installed, this is a finding.","fixText":"Install the \"rsyslogd\" package using the following command:\n \n$ sudo dnf install rsyslogd","ccis":["CCI-001851"]},{"vulnId":"V-282617","ruleId":"SV-282617r1201621_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to forward audit records via TCP to a different system or media from the system being audited via rsyslog.","description":"Information stored in one location is vulnerable to accidental or incidental deletion or alteration.\n\nOffloading is a common process in information systems with limited audit storage capacity.\n\nTOSS 5 installation media provides \"rsyslogd\", a system utility providing support for message logging. Support for both internet and Unix domain sockets enables this utility to support both local and remote logging. Coupling this utility with \"gnutls\" (a secure communications library implementing the SSL, TLS, and DTLS protocols) creates a method to securely encrypt and offload auditing.\n\nRsyslog provides three ways to forward message: the traditional UDP transport, which is extremely lossy but standard; the plain TCP based transport, which loses messages only during certain situations but is widely available; and the RELP transport, which does not lose messages but is currently available only as part of the rsyslogd 3.15.0 and above.\n\nExamples of each configuration:\nUDP *.* @remotesystemname\nTCP *.* @@remotesystemname\nRELP *.* :omrelp:remotesystemname:2514\n\nNote that a port number was given as there is no standard port for RELP.","checkContent":"Verify TOSS 5 audit system offloads audit records onto a different system or media from the system being audited via rsyslog using TCP using the following command:\n\n$ sudo grep @@ /etc/rsyslog.conf /etc/rsyslog.d/*.conf\n\n/etc/rsyslog.conf:*.* @@[remoteloggingserver]:[port]\n\nIf a remote server is not configured, or the line is commented out, ask the system administrator (SA) to indicate how the audit logs are offloaded to a different system or media. \n\nIf there is no evidence that the audit logs are being offloaded to another system or media, this is a finding.","fixText":"Configure TOSS 5 to offload audit records onto a different system or media from the system being audited via TCP using rsyslog by specifying the remote logging server in \"/etc/rsyslog.conf\"\" or \"/etc/rsyslog.d/[customfile].conf\" with the name or IP address of the log aggregation server.\n\n*.* @@[remoteloggingserver]:[port]\"","ccis":["CCI-001851"]},{"vulnId":"V-282618","ruleId":"SV-282618r1200834_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent the use of dictionary words for passwords.","description":"Using a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If TOSS 5 allows the user to select passwords based on dictionary words, this increases the chances of password compromise by increasing the opportunity for successful guesses, and brute-force attacks.","checkContent":"Verify TOSS 5 prevents using dictionary words for passwords using the following command:\n\n$ sudo grep dictcheck /etc/security/pwquality.conf /etc/pwquality.conf.d/*.conf \n\n/etc/security/pwquality.conf:dictcheck=1 \n\nIf \"dictcheck\" does not have a value other than \"0\" or is commented out, this is a finding.","fixText":"Configure TOSS 5 to prevent the use of dictionary words for passwords.\n\nAdd or update the following line in the \"/etc/security/pwquality.conf\" file or a configuration file in the /etc/pwquality.conf.d/ directory to contain the \"dictcheck\" parameter:\n\ndictcheck=1","ccis":["CCI-000366"]},{"vulnId":"V-282619","ruleId":"SV-282619r1200837_rule","severity":"medium","ruleTitle":"TOSS 5 must enforce a delay of at least four seconds between logon prompts following a failed logon attempt.","description":"Increasing the time between a failed authentication attempt and reprompting to enter credentials helps to slow a single-threaded brute force attack.","checkContent":"Verify TOSS 5 enforces a delay of at least four seconds between console logon prompts following a failed logon attempt using the following command:\n\n$ grep -i fail_delay /etc/login.defs\n\nFAIL_DELAY 4\n\nIf the value of \"FAIL_DELAY\" is not set to \"4\" or greater or the line is commented out, this is a finding.","fixText":"Configure the TOSS 5 to enforce a delay of at least four seconds between logon prompts following a failed console logon attempt.\n\nModify the \"/etc/login.defs\" file to set the \"FAIL_DELAY\" parameter to 4 or greater:\n\nFAIL_DELAY 4","ccis":["CCI-000366"]},{"vulnId":"V-282620","ruleId":"SV-282620r1200840_rule","severity":"medium","ruleTitle":"TOSS 5 must disable virtual system calls.","description":"System calls are special routines in the Linux kernel which userspace applications ask to do privileged tasks. Invoking a system call is an expensive operation because the processor must interrupt the currently executing task, switch context to kernel mode, and then back to userspace after the system call completes. Virtual system calls map into user space a page that contains some variables and the implementation of some system calls. This allows the system calls to be executed in userspace to alleviate the context switching expense.\n\nVirtual system calls provide an opportunity of attack for a user who has control of the return instruction pointer. Disabling virtual system calls help to prevent return-oriented programming (ROP) attacks via buffer overflows and overruns. If the system intends to run containers based on RHEL 6 components, then virtual system calls must be enabled for the components to function properly.","checkContent":"Verify the current GRUB 2 configuration disables virtual system calls using the following command:\n\n$ sudo grubby --info=ALL | grep args | grep -v 'vsyscall=none'\n\nIf any output is returned and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Document the use of virtual system calls with the ISSO as an operational requirement or disable them using the following command:\n\n$ sudo grubby --update-kernel=ALL --args=\"vsyscall=none\"\n\nAdd or modify the following line in \"/etc/default/grub\" to ensure the configuration survives kernel updates:\n\nGRUB_CMDLINE_LINUX=\"vsyscall=none\"","ccis":["CCI-000366"]},{"vulnId":"V-282621","ruleId":"SV-282621r1200843_rule","severity":"medium","ruleTitle":"TOSS 5 must clear the page allocator to prevent use-after-free attacks.","description":"Poisoning writes an arbitrary value to freed pages, so any modification or reference to that page after being freed or before being initialized will be detected and prevented. This prevents many types of use-after-free vulnerabilities at little performance cost. Also prevents leak of data and detection of corrupted memory.","checkContent":"Verify GRUB 2 is configured to enable page poisoning to mitigate use-after-free vulnerabilities.\n\nCheck that the current GRUB 2 configuration has page poisoning enabled using the following command:\n\n$ sudo grubby --info=ALL | grep args | grep -v 'page_poison=1'\n\nIf any output is returned, this is a finding.","fixText":"Configure TOSS 5 to enable page poisoning with the following commands:\n\n$ sudo grubby --update-kernel=ALL --args=\"page_poison=1\"\n\nAdd or modify the following line in \"/etc/default/grub\" to ensure the configuration survives kernel updates:\n\nGRUB_CMDLINE_LINUX=\"page_poison=1\"","ccis":["CCI-000366"]},{"vulnId":"V-282622","ruleId":"SV-282622r1201309_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the kernel.core_pattern.","description":"A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems.","checkContent":"Verify TOSS 5 disables storing core dumps with the following commands:\n\n$ sudo sysctl kernel.core_pattern\n\nkernel.core_pattern = |/bin/false\n\nIf the returned line does not have a value of \"|/bin/false\", or a line is not returned and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure TOSS 5 to disable storing core dumps.\n\nAdd or edit the following line in a system configuration file in the \"/etc/sysctl.d/\" directory:\n\nkernel.core_pattern = |/bin/false\n\nReload the system configuration files for the changes to take effect.\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282623","ruleId":"SV-282623r1201600_rule","severity":"high","ruleTitle":"TOSS 5 must be a vendor-supported release.","description":"An 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.\n\nSatisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000830-GPOS-00300","checkContent":"Verify the version of TOSS 5 is vendor supported using the following command:\n\n$ cat /etc/toss-release \n\ntoss-release-5.1-1\n\nIf the installed version of TOSS 5 is not supported, this is a finding.","fixText":"Upgrade to a supported version of TOSS 5.","ccis":["CCI-000366","CCI-003376"]},{"vulnId":"V-282624","ruleId":"SV-282624r1200852_rule","severity":"medium","ruleTitle":"TOSS 5 vendor packaged system security patches and updates must be installed and up to date.","description":"Installing software updates is a fundamental mitigation against the exploitation of publicly known vulnerabilities. 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.","checkContent":"Verify TOSS 5 security patches and updates are installed and up to date. Updates are required in a frequency determined by organizational policy.\n\nCheck the TOSS release notes sent via email for security updates. It is important to note that updates provided by Red Hat/TOSS may not be present on the system if the underlying packages are not installed.\n\nCheck that the available package security updates have been installed on the system using the following command:\n\n$ dnf history list | more\n\n    ID | Command line | Date and time | Action(s) | Altered    \n-------------------------------------------------------------------------------    \n   70 | install aide | 2023-03-05 10:58 | Install | 1    \n   69 | update -y | 2023-03-04 14:34 | Update | 18 EE    \n   68 | install vlc | 2023-02-21 17:12 | Install | 21   \n   67 | update -y | 2023-02-21 17:04 | Update | 7 EE \n\nTypical update frequency may be overridden by Information Assurance Vulnerability Alert (IAVA) notifications from CYBERCOM.\n\nIf the system is not compliant with the organizational patching policy, this is a finding.","fixText":"Install TOSS 5 security patches and updates at the organizationally defined frequency. \n\nIf system updates are installed via a centralized repository that is configured on the system, install all updates using the following command:\n\n$ sudo dnf update","ccis":["CCI-000366"]},{"vulnId":"V-282625","ruleId":"SV-282625r1200855_rule","severity":"medium","ruleTitle":"The graphical display manager must not be the default target on TOSS 5 unless approved.","description":"Unnecessary service packages must not be installed to decrease the attack surface of the system. Graphical display managers have a long history of security vulnerabilities and must not be used unless approved and documented.","checkContent":"Verify TOSS 5 is configured to boot to the command line:\n\n$ systemctl get-default\n\nmulti-user.target\n\nIf the system default target is not set to \"multi-user.target\" and the information system security officer (ISSO) lacks a documented requirement for a graphical user interface, this is a finding.","fixText":"Document the requirement for a graphical user interface with the ISSO or set the default target to \"multi-user\" using the following command:\n\n$ sudo systemctl set-default multi-user.target","ccis":["CCI-000366"]},{"vulnId":"V-282626","ruleId":"SV-282626r1200858_rule","severity":"low","ruleTitle":"TOSS 5 must enable the hardware random number generator entropy gatherer service.","description":"The most important characteristic of a random number generator is its randomness, namely its ability to deliver random numbers that are impossible to predict. Entropy in computer security is associated with the unpredictability of a source of randomness. The random source with high entropy tends to achieve a uniform distribution of random values. Random number generators are one of the most important building blocks of cryptosystems.\n\nThe \"rngd\" service feeds random data from hardware device to kernel random device. Quality (nonpredictable) random number generation is important for several security functions (i.e., ciphers).","checkContent":"Verify TOSS 5 enabled the hardware random number generator entropy gatherer service using the following command:\n\nNote: For TOSS 5 systems running with kernel FIPS mode enabled as specified by TOSS-05-000470, this requirement is not applicable.\n\n$ systemctl is-active rngd\n\nactive\n\nIf the \"rngd\" service is not active, this is a finding.","fixText":"Install the \"rng-tools\" package using the following command:\n\n$ sudo dnf install rng-tools\n\nEnable the \"rngd\" service using the following command:\n\n$ sudo systemctl enable --now rngd","ccis":["CCI-000366"]},{"vulnId":"V-282627","ruleId":"SV-282627r1200861_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the ability of systemd to spawn an interactive boot process.","description":"Using interactive or recovery boot, the console user could disable auditing, firewalls, or other services, thereby weakening system security.","checkContent":"Verify GRUB 2 is configured to disable interactive boot.\n\nCheck that the current GRUB 2 configuration disables the ability of systemd to spawn an interactive boot process using the following command:\n\n$ sudo grubby --info=ALL | grep args | grep 'systemd.confirm_spawn'\n\nIf any output is returned, this is a finding.","fixText":"Configure TOSS 5 to allocate sufficient audit_backlog_limit to disable the ability of systemd to spawn an interactive boot process using the following command:\n\n$ sudo grubby --update-kernel=ALL --remove-args=\"systemd.confirm_spawn\"","ccis":["CCI-000366"]},{"vulnId":"V-282628","ruleId":"SV-282628r1200864_rule","severity":"medium","ruleTitle":"The TOSS 5 /boot/grub2/grub.cfg file must be group owned by root.","description":"The \"root\" group is a highly privileged group. Furthermore, the group owner of this file should not have any access privileges.","checkContent":"Verify the group ownership of the \"/boot/grub2/grub.cfg\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /boot/grub2/grub.cfg \n\nroot /boot/grub2/grub.cfg\n\nIf \"/boot/grub2/grub.cfg\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file /boot/grub2/grub.cfg to root using the following command:\n\n$ sudo chgrp root /boot/grub2/grub.cfg","ccis":["CCI-000366"]},{"vulnId":"V-282629","ruleId":"SV-282629r1200867_rule","severity":"medium","ruleTitle":"The TOSS 5 /boot/grub2/grub.cfg file must be owned by root.","description":"The \"/boot/grub2/grub.cfg\" file stores sensitive system configurations. Protecting this file is critical for system security.","checkContent":"Verify the ownership of the \"/boot/grub2/grub.cfg\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /boot/grub2/grub.cfg \n\nroot /boot/grub2/grub.cfg \n\nIf \"/boot/grub2/grub.cfg\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file \"/boot/grub2/grub.cfg\" to root using the following command:\n\n$ sudo chown root /boot/grub2/grub.cfg","ccis":["CCI-000366"]},{"vulnId":"V-282630","ruleId":"SV-282630r1200870_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent loading a new kernel for later execution.","description":"Changes to any software components can have significant effects on the overall security of the operating system. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor.\n\nDisabling \"kexec_load\" prevents an unsigned kernel image (that could be a windows kernel or modified vulnerable kernel) from being loaded. Kexec can be used subvert the entire secureboot process and should be avoided at all costs especially since it can load unsigned kernel images.","checkContent":"Verify TOSS 5 is configured to disable kernel image loading using the following command:\n\n$ sudo sysctl kernel.kexec_load_disabled\n\nkernel.kexec_load_disabled = 1\n\nIf \"kernel.kexec_load_disabled\" is not set to \"1\" or is missing, this is a finding.","fixText":"Add or edit the following line in a system configuration file in the \"/etc/sysctl.d/\" directory:\n\nkernel.kexec_load_disabled = 1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282631","ruleId":"SV-282631r1200873_rule","severity":"medium","ruleTitle":"TOSS 5 must disable core dump backtraces.","description":"A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers or system operators trying to debug problems.\n\nEnabling core dumps on production systems is not recommended; however, there may be overriding operational requirements to enable advanced debugging. Permitting temporary enablement of core dumps during such situations must be reviewed through local needs and policy.","checkContent":"Verify TOSS 5 disables core dump backtraces using the following command:\n\n$ grep -i process /etc/systemd/coredump.conf\n\nProcessSizeMax=0\n\nIf the \"ProcessSizeMax\" item is missing, commented out, or the value is anything other than \"0\" and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement for all domains that have the \"core\" item assigned, this is a finding.","fixText":"Configure TOSS 5 to disable core dump backtraces.\n\nAdd or modify the following line in /etc/systemd/coredump.conf:\n\nProcessSizeMax=0","ccis":["CCI-000366"]},{"vulnId":"V-282632","ruleId":"SV-282632r1200876_rule","severity":"medium","ruleTitle":"TOSS 5 must disable storing core dumps.","description":"A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers or system operators trying to debug problems. Enabling core dumps on production systems is not recommended; however, there may be overriding operational requirements to enable advanced debugging. Permitting temporary enablement of core dumps during such situations must be reviewed through local needs and policy.","checkContent":"Verify TOSS 5 disables storing core dumps for all users using the following command:\n\n$ grep -i storage /etc/systemd/coredump.conf\n\nStorage=none\n\nIf the \"Storage\" item is missing, commented out, or the value is anything other than \"none\" and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement for all domains that have the \"core\" item assigned, this is a finding.","fixText":"Configure TOSS 5 to disable storing core dumps for all users.\n\nAdd or modify the following line in /etc/systemd/coredump.conf:\n\nStorage=none","ccis":["CCI-000366"]},{"vulnId":"V-282633","ruleId":"SV-282633r1200879_rule","severity":"medium","ruleTitle":"TOSS 5 must disable acquiring, saving, and processing core dumps.","description":"A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems.","checkContent":"Verify TOSS 5 is not configured to acquire, save, or process core dumps using the following command:\n\n$ sudo systemctl status systemd-coredump.socket\n\nsystemd-coredump.socket\nLoaded: masked (Reason: Unit systemd-coredump.socket is masked.)\nActive: inactive (dead)\n\nIf the \"systemd-coredump.socket\" is loaded and not masked and the need for core dumps is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure the system to disable the systemd-coredump.socket using the following command:\n\n$ sudo systemctl mask --now systemd-coredump.socket\n\nCreated symlink /etc/systemd/system/systemd-coredump.socket -> /dev/null\n\nReload the daemon for this change to take effect.\n\n$ sudo systemctl daemon-reload","ccis":["CCI-000366"]},{"vulnId":"V-282634","ruleId":"SV-282634r1200882_rule","severity":"medium","ruleTitle":"TOSS 5 must not have the sendmail package installed.","description":"The \"sendmail \"software was not developed with security in mind, and its design prevents it from being effectively contained by SELinux. Postfix must be used instead.","checkContent":"Verify the \"sendmail\" package is not installed using the following command:\n\n$ sudo dnf list --installed sendmail\n\nError: No matching Packages to list\n\nIf the \"sendmail\" package is installed, this is a finding.","fixText":"Remove the \"sendmail\" package using the following command:\n\n$ sudo dnf remove sendmail","ccis":["CCI-000366"]},{"vulnId":"V-282635","ruleId":"SV-282635r1201602_rule","severity":"medium","ruleTitle":"TOSS 5 must not have the quagga package installed.","description":"Quagga is a network routing software suite providing implementations of Open Shortest Path First (OSPF), Routing Information Protocol (RIP), and Border Gateway Protocol (BGP) for Unix and Linux platforms.\n\nIf there is no need to make the router software available, removing it provides a safeguard against its activation.","checkContent":"Verify the \"quagga\" package is not installed using the following command:\n\n$ sudo dnf list --installed quagga\n\nError: No matching Packages to list\n\nIf the \"quagga\" package is installed and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Remove the \"quagga\" package using the following command:\n\n$ sudo dnf remove quagga","ccis":["CCI-000366"]},{"vulnId":"V-282636","ruleId":"SV-282636r1201310_rule","severity":"medium","ruleTitle":"TOSS 5 must have the gnutls-utils package installed.","description":"GnuTLS is a secure communications library implementing the SSL, TLS, and DTLS protocols and technologies around them. It provides a simple C language application programming interface (API) to access the secure communications protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP, and other required structures. This package contains command line TLS client and server and certificate manipulation tools.","checkContent":"Verify TOSS 5 has the \"gnutls-utils\" package installed using the following command:\n\n$ dnf list --installed gnutls-utils\n\nExample output:\n\ngnutls-utils.x86_64          3.7.3-9.el9\n\nIf the \"gnutls-utils\" package is not installed, this is a finding.","fixText":"Install the \"gnutls-utils\" package using the following command:\n \n$ sudo dnf install gnutls-utils","ccis":["CCI-000366"]},{"vulnId":"V-282637","ruleId":"SV-282637r1200891_rule","severity":"medium","ruleTitle":"TOSS 5 must have the nss-tools package installed.","description":"Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Installing the \"nss-tools\" package installs command line tools to manipulate the NSS certificate and key database.","checkContent":"Verify TOSS 5 has the \"nss-tools\" package installed using the following command:\n\n$ dnf list --installed nss-tools\n\nExample output:\n\nnss-tools.x86_64          3.71.0-7.el9\n\nIf the \"nss-tools\" package is not installed, this is a finding.","fixText":"Install the \"nss-tools\" package using the following command:\n \n$ sudo dnf install nss-tools","ccis":["CCI-000366"]},{"vulnId":"V-282638","ruleId":"SV-282638r1200894_rule","severity":"medium","ruleTitle":"TOSS 5 must have the rng-tools package installed.","description":"\"rng-tools\" provides hardware random number generator tools, such as those used in the formation of x509/PKI certificates.","checkContent":"Verify TOSS 5 has the \"rng-tools\" package installed using the following command:\n\n$ sudo dnf list --installed rng-tools\n\nExample output:\n\nrng-tools.x86_64          6.14-2.git.b2b7934e.el9\n\nIf the \"rng-tools\" package is not installed, this is a finding.","fixText":"Install the \"rng-tools\" package using the following command:\n \n$ sudo dnf install rng-tools","ccis":["CCI-000366"]},{"vulnId":"V-282639","ruleId":"SV-282639r1200897_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured so that the Network File System (NFS) is configured to use RPCSEC_GSS.","description":"When an NFS server is configured to use RPCSEC_SYS, a selected userid and groupid are used to handle requests from the remote user. The userid and groupid could mistakenly or maliciously be set incorrectly. The RPCSEC_GSS method of authentication uses certificates on the server and client systems to more securely authenticate the remote mount request.","checkContent":"Verify TOSS 5 has the \"sec\" option configured for all NFS mounts using the following command:\n\nNote: If no NFS mounts are configured, this requirement is not applicable.\n\n$ cat /etc/fstab | grep nfs\n\n192.168.22.2:/mnt/export /data nfs4 rw,nosuid,nodev,noexec,sync,soft,sec=krb5p:krb5i:krb5\n\nIf the system is mounting file systems via NFS and has the sec option without the \"krb5:krb5i:krb5p\" settings, the \"sec\" option has the \"sys\" setting, or the \"sec\" option is missing, this is a finding.","fixText":"Update the \"/etc/fstab\" file so the option \"sec\" is defined for each NFS mounted file system and the \"sec\" option does not have the \"sys\" setting. \n\nEnsure the \"sec\" option is defined as \"krb5p:krb5i:krb5\".","ccis":["CCI-000366"]},{"vulnId":"V-282640","ruleId":"SV-282640r1200900_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent special devices on file systems that are imported via Network File System (NFS).","description":"The \"nodev\" mount option causes the system to not interpret character or block special devices. Executing character or block special devices from untrusted file systems increases the opportunity for nonprivileged users to attain unauthorized administrative access.","checkContent":"Verify TOSS 5 has the \"nodev\" option configured for all NFS mounts using the following command:\n\nNote: If no NFS mounts are configured, this requirement is not applicable.\n\n$ cat /etc/fstab | grep nfs\n\n192.168.22.2:/mnt/export /data nfs4 rw,nosuid,nodev,noexec,sync,soft,sec=krb5:krb5i:krb5p\n\nIf the system is mounting file systems via NFS and the \"nodev\" option is missing, this is a finding.","fixText":"Update each NFS mounted file system to use the \"nodev\" option on file systems that are being imported via NFS.","ccis":["CCI-000366"]},{"vulnId":"V-282641","ruleId":"SV-282641r1200903_rule","severity":"medium","ruleTitle":"TOSS 5 cron configuration directories must have a mode of 0700 or less permissive.","description":"Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should have the correct access rights to prevent unauthorized changes.","checkContent":"Verify the permissions of the cron directories using the following command:\n\n$ find /etc/cron* -type d | xargs stat -c \"%a %n\"\n\n700 /etc/cron.d\n700 /etc/cron.daily\n700 /etc/cron.hourly\n700 /etc/cron.monthly\n700 /etc/cron.weekly\n\nIf any cron configuration directory is more permissive than \"700\", this is a finding.","fixText":"Configure any TOSS 5 cron configuration directory with a mode more permissive than \"0700\" as follows:\n\n$ sudo chmod 0700 [cron configuration directory]","ccis":["CCI-000366"]},{"vulnId":"V-282642","ruleId":"SV-282642r1200906_rule","severity":"medium","ruleTitle":"All TOSS 5 local initialization files must have mode 0740 or less permissive.","description":"Local initialization files are used to configure the user's shell environment upon logon. Maliciously modifying these files could compromise accounts upon logon.","checkContent":"Verify all local initialization files have a mode of \"0740\" or less permissive using the following command:\n\nNote: The example will be for the \"wadea\" user, who has a home directory of \"/home/wadea\".\n\n$ sudo ls -al /home/wadea/.[^.]* | more\n\n-rwxr---- 1 wadea users 896 Mar 10 2011 .profile\n-rwxr---- 1 wadea users 497 Jan 6 2007 .login\n-rwxr---- 1 wadea users 886 Jan 6 2007 .something\n\nIf any local initialization files have a mode more permissive than \"0740\", and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Set the mode of the local initialization files to \"0740\" using the following command:\n\nNote: The example will be for the wadea user, who has a home directory of \"/home/wadea\".\n\n$ sudo chmod 0740 /home/wadea/.<INIT_FILE>","ccis":["CCI-000366"]},{"vulnId":"V-282643","ruleId":"SV-282643r1200909_rule","severity":"medium","ruleTitle":"All TOSS 5 local interactive user home directories must have mode 0770 or less permissive.","description":"Excessive permissions on local interactive user home directories may allow unauthorized access to user files by other users.","checkContent":"Verify the assigned home directory of all local interactive users has a mode of \"0770\" or less permissive using the following command:\n\nNote: This may miss interactive users that have been assigned a privileged user identifier (UID). Evidence of interactive use may be obtained from a number of log files containing system logon information.\n\n$ sudo ls -ld $(awk -F: '($3>=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd)\n\ndrwxrwx--- 2 wadea admin 4096 Jun 5 12:41 wadea\n\nIf home directories referenced in \"/etc/passwd\" do not have a mode of \"0770\" or less permissive, this is a finding.","fixText":"Change the mode of interactive user's home directories to \"0770\". To change the mode of a local interactive user's home directory, use the following command:\n\nNote: The example will be for the user \"wadea\".\n\n$ sudo chmod 0770 /home/wadea","ccis":["CCI-000366"]},{"vulnId":"V-282644","ruleId":"SV-282644r1200912_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/group file must have mode 0644 or less permissive to prevent unauthorized access.","description":"The \"/etc/group\" file contains information regarding groups that are configured on the system. Protecting this file is important for system security.","checkContent":"Verify the \"/etc/group\" file has mode \"0644\" or less permissive using the following command:\n\n$ sudo stat -c \"%a %n\" /etc/group\n\n644 /etc/group\n\nIf a value of \"0644\" or less permissive is not returned, this is a finding.","fixText":"Change the mode of the file \"/etc/group\" to \"0644\" using the following command:\n\n$ sudo chmod 0644 /etc/group","ccis":["CCI-000366"]},{"vulnId":"V-282645","ruleId":"SV-282645r1200915_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/group- file must have mode 0644 or less permissive to prevent unauthorized access.","description":"The \"/etc/group-\" file is a backup file of \"/etc/group\" and thus contains information regarding groups configured on the system. Protecting this file is important for system security.","checkContent":"Verify the \"/etc/group-\" file has mode \"0644\" or less permissive using the following command:\n\n$ sudo stat -c \"%a %n\" /etc/group-\n\n644 /etc/group-\n\nIf a value of \"0644\" or less permissive is not returned, this is a finding.","fixText":"Change the mode of the file \"/etc/group-\" to \"0644\" using the following command:\n\n$ sudo chmod 0644 /etc/group-","ccis":["CCI-000366"]},{"vulnId":"V-282646","ruleId":"SV-282646r1200918_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/gshadow file must have mode 0000 or less permissive to prevent unauthorized access.","description":"The \"/etc/gshadow\" file contains group password hashes. Protecting this file is critical for system security.","checkContent":"Verify the \"/etc/gshadow\" file has mode \"0000\" using the following command:\n\n$ sudo stat -c \"%a %n\" /etc/gshadow\n\n0 /etc/gshadow\n\nIf a value of \"0\" is not returned, this is a finding.","fixText":"Change the mode of the file \"/etc/gshadow\" to \"0000\" using the following command:\n\n$ sudo chmod 0000 /etc/gshadow","ccis":["CCI-000366"]},{"vulnId":"V-282647","ruleId":"SV-282647r1200921_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/gshadow- file must have mode 0000 or less permissive to prevent unauthorized access.","description":"The \"/etc/gshadow-\" file is a backup of \"/etc/gshadow\" and contains group password hashes. Protecting this file is critical for system security.","checkContent":"Verify the \"/etc/gshadow-\" file has mode \"0000\" using the following command:\n\n$ sudo stat -c \"%a %n\" /etc/gshadow-\n\n0 /etc/gshadow-\n\nIf a value of \"0\" is not returned, this is a finding.","fixText":"Change the mode of the file \"/etc/gshadow-\" to \"0000\" using the following command:\n\n$ sudo chmod 0000 /etc/gshadow-","ccis":["CCI-000366"]},{"vulnId":"V-282648","ruleId":"SV-282648r1201583_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/passwd file must have mode 0644 or less permissive to prevent unauthorized access.","description":"If the \"/etc/passwd\" file is writable by a group owner or the world, it increases the risk of compromise. The file contains the list of accounts on the system and associated information, and protection of this file is critical for system security.","checkContent":"Verify the \"/etc/passwd\" file has mode \"0644\" or less permissive using the following command:\n\n$ sudo stat -c \"%a %n\" /etc/passwd\n\n644 /etc/passwd\n\nIf a value of \"0644\" or less permissive is not returned, this is a finding.","fixText":"Change the mode of the file \"/etc/passwd\" to \"0644\" using the following command:\n\n$ sudo chmod 0644 /etc/passwd","ccis":["CCI-000366"]},{"vulnId":"V-282649","ruleId":"SV-282649r1200927_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/passwd- file must have mode 0644 or less permissive to prevent unauthorized access.","description":"The \"/etc/passwd-\" file is a backup file of \"/etc/passwd\" and contains information about the users configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the \"/etc/passwd-\" file has mode \"0644\" or less permissive using the following command:\n\n$ sudo stat -c \"%a %n\" /etc/passwd-\n\n644 /etc/passwd-\n\nIf a value of \"0644\" or less permissive is not returned, this is a finding.","fixText":"Change the mode of the file \"/etc/passwd-\" to \"0644\" using the following command:\n\n$ sudo chmod 0644 /etc/passwd-","ccis":["CCI-000366"]},{"vulnId":"V-282650","ruleId":"SV-282650r1200930_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/shadow- file must have mode 0000 or less permissive to prevent unauthorized access.","description":"The \"/etc/shadow-\" file is a backup file of \"/etc/shadow\", and as such, contains the list of local system accounts and password hashes. Protecting this file is critical for system security.","checkContent":"Verify the \"/etc/shadow-\" file has mode \"0000\" using the following command:\n\n$ sudo stat -c \"%a %n\" /etc/shadow-\n\n0 /etc/shadow-\n\nIf a value of \"0\" is not returned, this is a finding.","fixText":"Change the mode of the file \"/etc/shadow-\" to \"0000\" using the following command:\n\n$ sudo chmod 0000 /etc/shadow-","ccis":["CCI-000366"]},{"vulnId":"V-282651","ruleId":"SV-282651r1200933_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/group file must be owned by root.","description":"The \"/etc/group\" file contains information regarding groups that are configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the ownership of the \"/etc/group\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /etc/group \n\nroot /etc/group \n\nIf \"/etc/group\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file \"/etc/group\" to \"root\" using the following command:\n\n$ sudo chown root /etc/group","ccis":["CCI-000366"]},{"vulnId":"V-282652","ruleId":"SV-282652r1200936_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/group file must be group-owned by root.","description":"The \"/etc/group\" file contains information regarding groups configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the group ownership of the \"/etc/group\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /etc/group \n\nroot /etc/group\n\nIf \"/etc/group\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file \"/etc/group\" to \"root\" using the following command:\n\n$ sudo chgrp root /etc/group","ccis":["CCI-000366"]},{"vulnId":"V-282653","ruleId":"SV-282653r1200939_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/group- file must be owned by root.","description":"The \"/etc/group-\" file is a backup file of \"/etc/group\", and as such, contains information regarding groups that are configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the ownership of the \"/etc/group-\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /etc/group- \n\nroot /etc/group- \n\nIf \"/etc/group-\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file /etc/group- to root using the following command:\n\n$ sudo chown root /etc/group-","ccis":["CCI-000366"]},{"vulnId":"V-282654","ruleId":"SV-282654r1200942_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/group- file must be group-owned by root.","description":"The \"/etc/group-\" file is a backup file of \"/etc/group\", and as such, contains information regarding groups that are configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the group ownership of the \"/etc/group-\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /etc/group- \n\nroot /etc/group-\n\nIf \"/etc/group-\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file /etc/group- to root using the following command:\n\n$ sudo chgrp root /etc/group-","ccis":["CCI-000366"]},{"vulnId":"V-282655","ruleId":"SV-282655r1200945_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/gshadow file must be owned by root.","description":"The \"/etc/gshadow\" file contains group password hashes. Protecting this file is critical for system security.","checkContent":"Verify the ownership of the \"/etc/gshadow\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /etc/gshadow \n\nroot /etc/gshadow \n\nIf \"/etc/gshadow\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file /etc/gshadow to root using the following command:\n\n$ sudo chown root /etc/gshadow","ccis":["CCI-000366"]},{"vulnId":"V-282656","ruleId":"SV-282656r1200948_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/gshadow file must be group-owned by root.","description":"The \"/etc/gshadow\" file contains group password hashes. Protecting this file is critical for system security.","checkContent":"Verify the group ownership of the \"/etc/gshadow\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /etc/gshadow \n\nroot /etc/gshadow\n\nIf \"/etc/gshadow\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file /etc/gshadow to root using the following command:\n\n$ sudo chgrp root /etc/gshadow","ccis":["CCI-000366"]},{"vulnId":"V-282657","ruleId":"SV-282657r1200951_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/gshadow- file must be owned by root.","description":"The \"/etc/gshadow-\" file is a backup of \"/etc/gshadow\", and as such, contains group password hashes. Protecting this file is critical for system security.","checkContent":"Verify the ownership of the \"/etc/gshadow-\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /etc/gshadow- \n\nroot /etc/gshadow- \n\nIf \"/etc/gshadow-\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file /etc/gshadow- to root using the following command:\n\n$ sudo chown root /etc/gshadow-","ccis":["CCI-000366"]},{"vulnId":"V-282658","ruleId":"SV-282658r1200954_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/gshadow- file must be group-owned by root.","description":"The \"/etc/gshadow-\" file is a backup of \"/etc/gshadow\", and as such, contains group password hashes. Protecting this file is critical for system security.","checkContent":"Verify the group ownership of the \"/etc/gshadow-\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /etc/gshadow- \n\nroot /etc/gshadow-\n\nIf \"/etc/gshadow-\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file /etc/gshadow- to root using the following command:\n\n$ sudo chgrp root /etc/gshadow-","ccis":["CCI-000366"]},{"vulnId":"V-282659","ruleId":"SV-282659r1200957_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/passwd file must be owned by root.","description":"The \"/etc/passwd\" file contains information about the users that are configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the ownership of the \"/etc/passwd\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /etc/passwd\n\nroot /etc/passwd\n\nIf \"/etc/passwd\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file /etc/passwd to root using the following command:\n\n$ sudo chown root /etc/passwd","ccis":["CCI-000366"]},{"vulnId":"V-282660","ruleId":"SV-282660r1200960_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/passwd file must be group-owned by root.","description":"The \"/etc/passwd\" file contains information about the users that are configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the group ownership of the \"/etc/passwd\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /etc/passwd \n\nroot /etc/passwd\n\nIf \"/etc/passwd\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file /etc/passwd to root using the following command:\n\n$ sudo chgrp root /etc/passwd","ccis":["CCI-000366"]},{"vulnId":"V-282661","ruleId":"SV-282661r1200963_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/passwd- file must be owned by root.","description":"The \"/etc/passwd-\" file is a backup file of \"/etc/passwd\", and as such, contains information about the users that are configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the ownership of the \"/etc/passwd-\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /etc/passwd- \n\nroot /etc/passwd- \n\nIf \"/etc/passwd-\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file /etc/passwd- to root using the following command:\n\n$ sudo chown root /etc/passwd-","ccis":["CCI-000366"]},{"vulnId":"V-282662","ruleId":"SV-282662r1200966_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/passwd- file must be group-owned by root.","description":"The \"/etc/passwd-\" file is a backup file of \"/etc/passwd\", and as such, contains information about the users that are configured on the system. Protecting this file is critical for system security.","checkContent":"Verify the group ownership of the \"/etc/passwd-\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /etc/passwd-\n\nroot /etc/passwd-\n\nIf \"/etc/passwd-\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file /etc/passwd- to root using the following command:\n\n$ sudo chgrp root /etc/passwd-","ccis":["CCI-000366"]},{"vulnId":"V-282663","ruleId":"SV-282663r1200969_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/shadow file must be owned by root.","description":"The \"/etc/shadow\" file contains the list of local system accounts and stores password hashes. Protecting this file is critical for system security. Failure to give ownership of this file to root provides the designated owner with access to sensitive information, which could weaken the system security posture.","checkContent":"Verify the ownership of the \"/etc/shadow\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /etc/shadow\n\nroot /etc/shadow\n\nIf \"/etc/shadow\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file /etc/shadow to root using the following command:\n\n$ sudo chown root /etc/shadow","ccis":["CCI-000366"]},{"vulnId":"V-282664","ruleId":"SV-282664r1200972_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/shadow file must be group-owned by root.","description":"The \"/etc/shadow\" file stores password hashes. Protecting this file is critical for system security.","checkContent":"Verify the group ownership of the \"/etc/shadow\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /etc/shadow \n\nroot /etc/shadow\n\nIf \"/etc/shadow\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file /etc/shadow to root using the following command:\n\n$ sudo chgrp root /etc/shadow","ccis":["CCI-000366"]},{"vulnId":"V-282665","ruleId":"SV-282665r1200975_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/shadow- file must be owned by root.","description":"The \"/etc/shadow-\" file is a backup file of \"/etc/shadow\", and as such, contains the list of local system accounts and password hashes. Protecting this file is critical for system security.","checkContent":"Verify the ownership of the \"/etc/shadow-\" file using the following command:\n\n$ sudo stat -c \"%U %n\" /etc/shadow- \n\nroot /etc/shadow- \n\nIf \"/etc/shadow-\" file does not have an owner of \"root\", this is a finding.","fixText":"Change the owner of the file /etc/shadow- to root using the following command:\n\n$ sudo chown root /etc/shadow-","ccis":["CCI-000366"]},{"vulnId":"V-282666","ruleId":"SV-282666r1200978_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/shadow- file must be group-owned by root.","description":"The \"/etc/shadow-\" file is a backup file of \"/etc/shadow\", and as such, contains the list of local system accounts and password hashes. Protecting this file is critical for system security.","checkContent":"Verify the group ownership of the \"/etc/shadow-\" file using the following command:\n\n$ sudo stat -c \"%G %n\" /etc/shadow-\n\nroot /etc/shadow-\n\nIf \"/etc/shadow-\" file does not have a group owner of \"root\", this is a finding.","fixText":"Change the group of the file /etc/shadow- to root using the following command:\n\n$ sudo chgrp root /etc/shadow-","ccis":["CCI-000366"]},{"vulnId":"V-282667","ruleId":"SV-282667r1200981_rule","severity":"medium","ruleTitle":"The TOSS 5 cron configuration files directory must be owned by root.","description":"Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations; therefore, service configuration files must be owned by the correct group to prevent unauthorized changes.","checkContent":"Verify the ownership of all cron configuration files with the command:\n\n$ stat -c \"%U %n\" /etc/cron*\n\nroot /etc/cron.d\nroot /etc/cron.daily\nroot /etc/cron.deny\nroot /etc/cron.hourly\nroot /etc/cron.monthly\nroot /etc/crontab\nroot /etc/cron.weekly\n\nIf any crontab is not owned by root, this is a finding.","fixText":"Configure any cron configuration not owned by root using the following command:\n\n$ sudo chown root [cron config file]","ccis":["CCI-000366"]},{"vulnId":"V-282668","ruleId":"SV-282668r1200984_rule","severity":"medium","ruleTitle":"The TOSS 5 cron configuration files directory must be group-owned by root.","description":"Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations; therefore, service configuration files should be owned by the correct group to prevent unauthorized changes.","checkContent":"Verify the group ownership of all cron configuration files using the following command:\n\n$ stat -c \"%G %n\" /etc/cron*\n\nroot /etc/cron.d\nroot /etc/cron.daily\nroot /etc/cron.deny\nroot /etc/cron.hourly\nroot /etc/cron.monthly\nroot /etc/crontab\nroot /etc/cron.weekly\n\nIf any crontab is not group owned by root, this is a finding.","fixText":"Configure any cron configuration not group-owned by root using the following command:\n\n$ sudo chgrp root [cron config file]","ccis":["CCI-000366"]},{"vulnId":"V-282669","ruleId":"SV-282669r1200987_rule","severity":"medium","ruleTitle":"All TOSS 5 world-writable directories must be owned by root, sys, bin, or an application user.","description":"If a world-writable directory is not owned by root, sys, bin, or an application user identifier (UID), unauthorized users may be able to modify files created by others.\n\nThe 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.","checkContent":"Verify world writable directories are owned by root, a system account, or an application account. The following command will discover and print world-writable directories that are not owned by root. Run it once for each local partition [PART]:\n\n$ sudo find  PART  -xdev -type d -perm -0002 -uid +0 -print \n\nIf there is output, this is a finding.","fixText":"Configure all public directories to be owned by root or a system account to prevent unauthorized and unintended information transferred via shared system resources.\n\nSet the owner of all public directories as root or a system account using the command, replace \"[Public Directory]\" with any directory path not owned by root or a system account:\n\n$ sudo chown root [Public Directory]","ccis":["CCI-000366"]},{"vulnId":"V-282670","ruleId":"SV-282670r1200990_rule","severity":"medium","ruleTitle":"All TOSS 5 local files and directories must have a valid group owner.","description":"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.","checkContent":"Verify all local files and directories on TOSS 5 have a valid group using the following command:\n\n$ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nogroup\n\nIf any files on the system do not have an assigned group, this is a finding.","fixText":"Either remove all files and directories from TOSS 5 that do not have a valid group, or assign a valid group to all files and directories on the system with the \"chgrp\" command:\n\n$ sudo chgrp <group> <file>","ccis":["CCI-000366"]},{"vulnId":"V-282671","ruleId":"SV-282671r1200993_rule","severity":"medium","ruleTitle":"All TOSS 5 local files and directories must have a valid owner.","description":"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.","checkContent":"Verify all local files and directories on TOSS 5 have a valid owner using the following command:\n\n$ df --local -P | awk {'if (NR!=1) print $6'} | sudo xargs -I '{}' find '{}' -xdev -nouser\n\nIf any files on the system do not have an assigned owner, this is a finding.","fixText":"Either remove all files and directories from the system that do not have a valid user, or assign a valid user to all unowned files and directories on TOSS 5 with the \"chown\" command:\n\n$ sudo chown <user> <file>","ccis":["CCI-000366"]},{"vulnId":"V-282672","ruleId":"SV-282672r1200996_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured so that all system device files are correctly labeled to prevent unauthorized modification.","description":"If an unauthorized or modified device is allowed to exist on the system, there is the possibility the system may perform unintended or unauthorized operations.","checkContent":"Verify all system device files are correctly labeled to prevent unauthorized modification.\n\nList all device files on the system that are incorrectly labeled with the following commands:\n\nNote: Device files are normally found under \"/dev\", but applications may place device files in other directories and may necessitate a search of the entire system.\n\n# find /dev -context *:device_t:* \\( -type c -o -type b \\) -printf \"%p %Z\\n\"\n\n# find /dev -context *:unlabeled_t:* \\( -type c -o -type b \\) -printf \"%p %Z\\n\"\n\nNote: There are device files, such as \"/dev/vmci\", that are used when the operating system is a host virtual machine. They will not be owned by a user on the system and require the \"device_t\" label to operate. These device files are not a finding.\n\nIf there is output from either of these commands, other than already noted, this is a finding.","fixText":"Restore the SELinux policy for the affected device file from the system policy database using the following command:\n\n$ sudo restorecon -v <device_path>\n\nSubstituting \"<device_path>\" with the path to the affected device file (from the output of the previous commands). An example device file path would be \"/dev/ttyUSB0\". If the output of the above command does not indicate that the device was relabeled to a more specific SELinux type label, then the SELinux policy of the system must be updated with more specific policy for the device class specified. If a package was used to install support for a device class, that package could be reinstalled using the following command:\n\n$ sudo dnf reinstall <package_name>\n\nIf a package was not used to install the SELinux policy for a given device class, then it must be generated manually and provide specific type labels.","ccis":["CCI-000366"]},{"vulnId":"V-282673","ruleId":"SV-282673r1201585_rule","severity":"medium","ruleTitle":"TOSS 5 /etc/crontab file must have mode 0600.","description":"Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations; therefore, service configuration files must have the correct access rights to prevent unauthorized changes.","checkContent":"Verify the permissions of /etc/crontab using the following command:\n\n$ stat -c \"%a %n\" /etc/crontab\n\n0600\n\nIf /etc/crontab does not have a mode of \"0600\", this is a finding.","fixText":"Configure the TOSS 5 file /etc/crontab with mode \"600\".\n\n$ sudo chmod 0600 /etc/crontab","ccis":["CCI-000366"]},{"vulnId":"V-282674","ruleId":"SV-282674r1201002_rule","severity":"medium","ruleTitle":"The TOSS 5 /etc/shadow file must have mode 0000 to prevent unauthorized access.","description":"The \"/etc/shadow\" file contains the list of local system accounts and stores password hashes. Protecting this file is critical for system security. Failure to give ownership of this file to root provides the designated owner with access to sensitive information, which could weaken the system security posture.","checkContent":"Verify the \"/etc/shadow\" file has mode \"0000\" using the following command:\n\n$ sudo stat -c \"%a %n\" /etc/shadow\n\n0 /etc/shadow\n\nIf a value of \"0\" is not returned, this is a finding.","fixText":"Change the mode of the file \"/etc/shadow\" to \"0000\" using the following command:\n\n$ sudo chmod 0000 /etc/shadow","ccis":["CCI-000366"]},{"vulnId":"V-282675","ruleId":"SV-282675r1201005_rule","severity":"medium","ruleTitle":"A TOSS 5 firewall must employ a deny-all, allow-by-exception policy for allowing connections to other systems.","description":"Failure to restrict network connectivity only to authorized systems permits inbound connections from malicious systems. It also permits outbound connections that may facilitate exfiltration of DOD data.\n\nTOSS 5 incorporates the \"firewalld\" daemon, which allows for many different configurations. One of these configurations is zones. Zones can be used to a deny-all, allow-by-exception approach. The default \"drop\" zone will drop all incoming network packets unless it is explicitly allowed by the configuration file or is related to an outgoing network connection.","checkContent":"Verify the TOSS 5 \"firewalld\" is configured to employ a deny-all, allow-by-exception policy for allowing connections to other systems with the following commands:\n\n$ sudo  firewall-cmd --state\n\nrunning\n\n$ sudo firewall-cmd --get-active-zones\n\npublic\n   interfaces: ens33\n\n$ sudo firewall-cmd --info-zone=public | grep target\n\n   target: DROP\n\n$ sudo firewall-cmd --permanent --info-zone=public | grep target\n\n   target: DROP\n\nIf no zones are active on the TOSS 5 interfaces or if runtime and permanent targets are set to a different option other than \"DROP\", this is a finding.","fixText":"Configure the \"firewalld\" daemon to employ a deny-all, allow-by-exception with the following commands:\n\nStart by adding the exceptions that are required for mission functionality to the \"drop\" zone. If SSH access on port 22 is needed, for example, run the following: \"sudo firewall-cmd --permanent --add-service=ssh --zone=drop\"\n\nReload the firewall rules to update the runtime configuration from the \"--permanent\" changes made above:\n$ sudo firewall-cmd --reload\n\nSet the default zone to the drop zone:\n$ sudo firewall-cmd --set-default-zone=drop\nNote: This is a runtime and permanent change.\n\nAdd any interfaces to the newly modified \"drop\" zone:\n$ sudo firewall-cmd --permanent --zone=drop --change-interface=ens33\n\nReload the firewall rules for changes to take effect:\n$ sudo firewall-cmd --reload","ccis":["CCI-000366"]},{"vulnId":"V-282676","ruleId":"SV-282676r1201008_rule","severity":"medium","ruleTitle":"TOSS 5 network interfaces must not be in promiscuous mode.","description":"Network interfaces in promiscuous mode allow for the capture of all network traffic visible to the system. If unauthorized individuals can access these applications, it may allow them to collect information such as logon IDs, passwords, and key exchanges between systems.\n\nIf the system is being used to perform a network troubleshooting function, the use of these tools must be documented with the information systems security officer (ISSO) and restricted to only authorized personnel.","checkContent":"Verify network interfaces are not in promiscuous mode using the following command:\n\n$ ip link | grep -i promisc\n\nIf 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.","fixText":"Configure network interfaces to turn off promiscuous mode unless approved by the ISSO and documented.\n\nSet the promiscuous mode of an interface to off using the following command:\n\n$ sudo ip link set dev <devicename> multicast off promisc off","ccis":["CCI-000366"]},{"vulnId":"V-282677","ruleId":"SV-282677r1201330_rule","severity":"medium","ruleTitle":"TOSS 5 must enable hardening for the Berkeley Packet Filter (BPF) just-in-time (JIT) compiler.","description":"When hardened, the extended BPF JIT compiler will randomize any kernel addresses in the BPF programs and maps and will not expose the JIT addresses in \"/proc/kallsyms\".","checkContent":"Verify TOSS 5 enables hardening for the BPF JIT with the following commands:\n\n$ sudo sysctl net.core.bpf_jit_harden\n\nnet.core.bpf_jit_harden = 2\n\nIf the returned line does not have a value of \"2\", or a line is not returned, this is a finding.\n\nCheck that the configuration files are present to enable this kernel parameter.\n\n$ sudo /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F net.core.bpf_jit_harden | tail -1\nnet.core.bpf_jit_harden = 2\n\nIf the network parameter \"net.core.bpf_jit_harden\" is not equal to \"2\" or nothing is returned, this is a finding.","fixText":"Configure TOSS 5 to enable hardening for the BPF JIT compiler by adding the following line to a file, in the \"/etc/sysctl.d\" directory:\n\nnet.core.bpf_jit_harden = 2\n\nReload the system configuration files for the changes to take effect.\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282678","ruleId":"SV-282678r1201587_rule","severity":"medium","ruleTitle":"TOSS 5 systems using DNS resolution must have at least two name servers configured.","description":"To provide availability for name resolution services, multiple redundant name servers are mandated. A failure in name resolution could lead to the failure of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.","checkContent":"Verify the name servers used by the system using the following command:\n\n$ grep nameserver /etc/resolv.conf\n\nnameserver 192.168.1.2\nnameserver 192.168.1.3\n\nIf less than two lines are returned that are not commented out, this is a finding.","fixText":"Configure TOSS 5 to use two or more name servers for DNS resolution based on the DNS mode of the system.\n\nIf the NetworkManager DNS mode is set to \"none\", then add the following lines to \"/etc/resolv.conf\":\n\nnameserver [name server 1]\nnameserver [name server 2]\n\nReplace [name server 1] and [name server 2] with the IPs of two different DNS resolvers.\n\nIf the NetworkManager DNS mode is set to \"default\" then add two DNS servers to a NetworkManager connection using the following commands:\n\n$ sudo nmcli connection modify [connection name] ipv4.dns [name server 1]\n$ sudo nmcli connection modify [connection name] ipv4.dns [name server 2]\n\nReplace [name server 1] and [name server 2] with the IPs of two different DNS resolvers. Replace [connection name] with a valid NetworkManager connection name on the system. Replace ipv4 with ipv6 if IPv6 DNS servers are used.","ccis":["CCI-000366"]},{"vulnId":"V-282679","ruleId":"SV-282679r1201334_rule","severity":"medium","ruleTitle":"TOSS 5 must configure a DNS processing mode set in Network Manager.","description":"In order to ensure that DNS resolver settings are respected, a DNS mode in Network Manager must be configured.","checkContent":"Verify TOSS 5 has a DNS mode configured in Network Manager.\n\n$ NetworkManager --print-config\n[main]\ndns=none\n\nIf the dns key under main does not exist or is not set to \"none\" or \"default\", this is a finding.","fixText":"Configure NetworkManager in TOSS 5 to use a DNS mode.\n\nIn \"/etc/NetworkManager/NetworkManager.conf\" add the following line in the \"[main]\" section:\n\ndns = none\n\nReload NetworkManager for the change to take effect.\n\n$ sudo systemctl reload NetworkManager","ccis":["CCI-000366"]},{"vulnId":"V-282680","ruleId":"SV-282680r1201020_rule","severity":"medium","ruleTitle":"TOSS 5 must not have unauthorized IP tunnels configured.","description":"IP tunneling mechanisms can be used to bypass network filtering. If tunneling is required, it must be documented with the information system security officer (ISSO).","checkContent":"Verify TOSS 5 does not have unauthorized IP tunnels configured.\n\nDetermine if the \"IPsec\" service is active using the following command:\n\n$ systemctl status ipsec\n\nipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec\nLoaded: loaded (/usr/lib/systemd/system/ipsec.service; disabled)\nActive: inactive (dead)\n\nIf the \"IPsec\" service is active, check for configured IPsec connections (\"conn\"), using the following command:\n\n$ grep -rni conn /etc/ipsec.conf /etc/ipsec.d/ \n\nVerify any returned results are documented with the ISSO.\n\nIf the IPsec tunnels are active and not approved, this is a finding.","fixText":"Remove all unapproved tunnels from the system or document them with the ISSO.","ccis":["CCI-000366"]},{"vulnId":"V-282681","ruleId":"SV-282681r1201023_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured to prevent unrestricted mail relaying.","description":"If unrestricted mail relaying is permitted, unauthorized senders could use this host as a mail relay for the purpose of sending spam or other unauthorized activity.","checkContent":"Verify TOSS 5 is configured to prevent unrestricted mail relaying using the following command:\n\n$ postconf -n smtpd_client_restrictions \n\nsmtpd_client_restrictions = permit_mynetworks,reject \n\nIf the \"smtpd_client_restrictions\" parameter contains any entries other than \"permit_mynetworks\" and \"reject\", and the additional entries have not been documented with the information system security officer (ISSO), this is a finding.","fixText":"Modify the postfix configuration file to restrict client connections to the local network using the following command:\n\n$ sudo postconf -e 'smtpd_client_restrictions = permit_mynetworks,reject'","ccis":["CCI-000366"]},{"vulnId":"V-282682","ruleId":"SV-282682r1201337_rule","severity":"high","ruleTitle":"If the Trivial File Transfer Protocol (TFTP) server is required, TOSS 5 TFTP daemon must be configured to operate in secure mode.","description":"Restricting TFTP to a specific directory prevents remote users from copying, transferring, or overwriting system files. Using the \"-s\" option causes the TFTP service to only serve files from the given directory.","checkContent":"Note: If TFTP is not required, it should not be installed. If TFTP is not installed, this is not applicable.\n \nDetermine if TFTP server is installed using the following command:\n \n$ sudo dnf list installed | grep tftp-server \ntftp-server.x86_64 x.x-x.el8\n \nVerify the TFTP daemon, if tftp.server is installed, is configured to operate in secure mode using the following command:\n \n$ grep -i execstart /usr/lib/systemd/system/tftp.service\nExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot\n \nIf TFTP is installed and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.\n\nNote: The \"-s\" option ensures that the TFTP server only serves files from the specified directory, which is a security measure to prevent unauthorized access to other parts of the file system.","fixText":"Configure the TFTP daemon to operate in secure mode using the following command:\n\n$ sudo systemctl edit tftp.service\n \nIn the editor, enter:\n\n[Service]\nExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot\n \nAfter making changes, reload the systemd daemon and restart the TFTP service:\n\n$ sudo systemctl daemon-reload\n$ sudo systemctl restart tftp.service","ccis":["CCI-000366"]},{"vulnId":"V-282683","ruleId":"SV-282683r1201340_rule","severity":"medium","ruleTitle":"The TOSS 5 libreswan package must be installed.","description":"Providing the ability for remote users or systems to initiate a secure VPN connection protects information when it is transmitted over a wide area network.","checkContent":"Verify the TOSS 5 \"libreswan\" service package is installed.\n\nCheck that the \"libreswan\" service package is installed using the following command:\n\n$ sudo dnf list --installed libreswan\n\nExample output:\n\nlibreswan.x86_64          4.6-3.el9\n\nIf the \"libreswan\" package is not installed, this is a finding.","fixText":"Install the \"libreswan\" service (if it is not already installed) using the following command:\n\n$ sudo dnf install libreswan","ccis":["CCI-000366"]},{"vulnId":"V-282684","ruleId":"SV-282684r1201032_rule","severity":"high","ruleTitle":"There must be no .shosts files on TOSS 5.","description":"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.","checkContent":"Verify there are no \".shosts\" files on TOSS 5 using the following command:\n\n$ sudo find / -name .shosts\n\nIf a \".shosts\" file is found, this is a finding.","fixText":"Remove any found \".shosts\" files from the system.\n\n$ sudo rm /[path]/[to]/[file]/.shosts","ccis":["CCI-000366"]},{"vulnId":"V-282685","ruleId":"SV-282685r1201035_rule","severity":"medium","ruleTitle":"TOSS 5 must ignore Internet Protocol version 4 (IPv4) Internet Control Message Protocol (ICMP) redirect messages.","description":"ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.\n\nThis feature of the IPv4 protocol has few legitimate uses. It should be disabled unless absolutely required.","checkContent":"Verify TOSS 5 will not accept IPv4 ICMP redirect messages using the following command:\n\n$ sudo sysctl net.ipv4.conf.all.accept_redirects\n\nnet.ipv4.conf.all.accept_redirects = 0\n\nIf the returned line does not have a value of \"0\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to ignore IPv4 ICMP redirect messages.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.all.accept_redirects = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282686","ruleId":"SV-282686r1201038_rule","severity":"medium","ruleTitle":"TOSS 5 must not forward Internet Protocol version 4 (IPv4) source-routed packets.","description":"Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when IPv4 forwarding is enabled and the system is functioning as a router.\n\nAccepting source-routed packets in the IPv4 protocol has few legitimate uses. It must be disabled unless it is absolutely required.","checkContent":"Verify TOSS 5 will not accept IPv4 source-routed packets using the following command:\n\n$ sudo sysctl net.ipv4.conf.all.accept_source_route\n\nnet.ipv4.conf.all.accept_source_route = 0\n\nIf \"net.ipv4.conf.all.accept_source_route\" is not set to \"0\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to ignore IPv4 source-routed packets.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.all.accept_source_route = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282687","ruleId":"SV-282687r1201041_rule","severity":"medium","ruleTitle":"TOSS 5 must log IPv4 packets with impossible addresses.","description":"The presence of \"martian\" packets (which have impossible addresses) as well as spoofed packets, source-routed packets, and redirects could be a sign of nefarious network activity. Logging these packets enables this activity to be detected.","checkContent":"Verify TOSS 5 logs IPv4 martian packets using the following command:\n\n$ sudo sysctl net.ipv4.conf.all.log_martians\n\nnet.ipv4.conf.all.log_martians = 1\n\nIf \"net.ipv4.conf.all.log_martians\" is not set to \"1\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to log martian packets on IPv4 interfaces.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.all.log_martians=1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282688","ruleId":"SV-282688r1201044_rule","severity":"medium","ruleTitle":"TOSS 5 must log IPv4 packets with impossible addresses by default.","description":"The presence of \"martian\" packets (which have impossible addresses) as well as spoofed packets, source-routed packets, and redirects could be a sign of nefarious network activity. Logging these packets enables this activity to be detected.","checkContent":"Verify TOSS 5 logs IPv4 martian packets by default using the following command:\n\n$ sudo sysctl net.ipv4.conf.default.log_martians\n\nnet.ipv4.conf.default.log_martians = 1\n\nIf \"net.ipv4.conf.default.log_martians\" is not set to \"1\" , or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to log martian packets on IPv4 interfaces by default.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.default.log_martians=1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282689","ruleId":"SV-282689r1201344_rule","severity":"medium","ruleTitle":"TOSS 5 must use reverse path filtering on all IPv4 interfaces.","description":"Enabling reverse path filtering drops packets with source addresses that should not have been able to be received on the interface on which they were received. It must not be used on systems that are routers for complicated networks but is helpful for end hosts and routers serving small networks.","checkContent":"Verify TOSS 5 uses reverse path filtering on all IPv4 interfaces using the following command:\n\n$ sudo sysctl net.ipv4.conf.all.rp_filter\n\nnet.ipv4.conf.all.rp_filter = 1\n\nIf the returned line does not have a value of \"1\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to use reverse path filtering on all IPv4 interfaces. \n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.all.rp_filter = 1\n\nReload the system configuration files for the changes to take effect.\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282690","ruleId":"SV-282690r1201050_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent IPv4 Internet Control Message Protocol (ICMP) redirect messages from being accepted.","description":"ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.\n\nThis feature of the IPv4 protocol has few legitimate uses. It must be disabled unless absolutely required.","checkContent":"Verify TOSS 5 will not accept IPv4 ICMP redirect messages using the following command:\n\n$ sudo sysctl net.ipv4.conf.default.accept_redirects\n\nnet.ipv4.conf.default.accept_redirects = 0\n\nIf the returned line does not have a value of \"0\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to prevent IPv4 ICMP redirect messages from being accepted.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.default.accept_redirects = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282691","ruleId":"SV-282691r1201053_rule","severity":"medium","ruleTitle":"TOSS 5 must not forward IPv4 source-routed packets by default.","description":"Source-routed packets allow the source of the packet to suggest routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures.\n\nAccepting source-routed packets in the IPv4 protocol has few legitimate uses. It must be disabled unless it is absolutely required, such as when IPv4 forwarding is enabled and the system is legitimately functioning as a router.","checkContent":"Verify TOSS 5 does not accept IPv4 source-routed packets by default using the following command:\n\n$ sudo sysctl net.ipv4.conf.default.accept_source_route\n\nnet.ipv4.conf.default.accept_source_route = 0\n\nIf the returned line does not have a value of \"0\", a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to not forward IPv4 source-routed packets by default.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.default.accept_source_route = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282692","ruleId":"SV-282692r1201056_rule","severity":"medium","ruleTitle":"TOSS 5 must use a reverse-path filter for IPv4 network traffic when possible by default.","description":"Enabling reverse path filtering drops packets with source addresses that should not have been able to be received on the interface on which they were received. It must not be used on systems that are routers for complicated networks but is helpful for end hosts and routers serving small networks.","checkContent":"Verify TOSS 5 uses reverse path filtering on IPv4 interfaces using the following command:\n\n$ sudo sysctl net.ipv4.conf.default.rp_filter\n\nnet.ipv4.conf.default.rp_filter = 1\n\nIf the returned line does not have a value of \"1\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to use reverse path filtering on IPv4 interfaces by default.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.default.rp_filter = 1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282693","ruleId":"SV-282693r1201059_rule","severity":"medium","ruleTitle":"TOSS 5 must not respond to Internet Control Message Protocol (ICMP) echoes sent to a broadcast address.","description":"Responding to broadcast (ICMP) echoes facilitates network mapping and provides a vector for amplification attacks.\n\nIgnoring ICMP echo requests (pings) sent to broadcast or multicast addresses makes the system slightly more difficult to enumerate on the network.","checkContent":"Verify TOSS 5 does not respond to ICMP echoes sent to a broadcast address using the following command:\n\n$ sudo sysctl net.ipv4.icmp_echo_ignore_broadcasts\n\nnet.ipv4.icmp_echo_ignore_broadcasts = 1\n\nIf the returned line does not have a value of \"1\", or a line is not returned, this is a finding.\n\nCheck that the configuration files are present to enable this network parameter.\n\n$ sudo /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|$)' | grep -F net.ipv4.icmp_echo_ignore_broadcasts | tail -1\n\nnet.ipv4.icmp_echo_ignore_broadcasts = 1\n\nIf \"net.ipv4.icmp_echo_ignore_broadcasts\" is not set to \"1\" or is missing, this is a finding.","fixText":"Configure TOSS 5 to not respond to IPv4 ICMP echoes sent to a broadcast address.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.icmp_echo_ignore_broadcasts = 1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282694","ruleId":"SV-282694r1201062_rule","severity":"medium","ruleTitle":"TOSS 5 must limit the number of bogus Internet Control Message Protocol (ICMP) response errors logs.","description":"Some routers will send responses to broadcast frames that violate RFC-1122, which fills up a log file system with many useless error messages. An attacker may take advantage of this and attempt to flood the logs with bogus error logs. Ignoring bogus ICMP error responses reduces log size, although some activity would not be logged.","checkContent":"Query the runtime status of the net.ipv4.icmp_ignore_bogus_error_responses kernel parameter using the following command:\n\n$ sudo sysctl net.ipv4.icmp_ignore_bogus_error_responses \n\nnet.ipv4.icmp_ignore_bogus_error_responses = 1\n\nIf \"net.ipv4.icmp_ignore_bogus_error_responses\" is not set to \"1\", or a line is not returned, this is a finding.\n\nCheck that the configuration files are present to enable this network parameter.\n\n$ sudo /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F net.ipv4.icmp_ignore_bogus_error_response | tail -1\n\nnet.ipv4.icmp_ignore_bogus_error_response = 1\n\nIf \"net.ipv4.icmp_ignore_bogus_error_response\" is not set to \"1\" or is missing, this is a finding.","fixText":"Configure TOSS 5 to not log bogus ICMP errors: \n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.icmp_ignore_bogus_error_responses = 1\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282695","ruleId":"SV-282695r1201065_rule","severity":"medium","ruleTitle":"TOSS 5 must not send Internet Control Message Protocol (ICMP) redirects.","description":"ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages contain information from the system's route table possibly revealing portions of the network topology.\n\nThe ability to send ICMP redirects is only appropriate for systems acting as routers.","checkContent":"Verify TOSS 5 does not IPv4 ICMP redirect messages using the following command:\n\n$ sudo sysctl net.ipv4.conf.all.send_redirects\n\nnet.ipv4.conf.all.send_redirects = 0\n\nIf the returned line does not have a value of \"0\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to not allow interfaces to perform IPv4 ICMP redirects.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.all.send_redirects = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282696","ruleId":"SV-282696r1201346_rule","severity":"medium","ruleTitle":"TOSS 5 must not allow interfaces to perform Internet Control Message Protocol (ICMP) redirects by default.","description":"ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages contain information from the system's route table possibly revealing portions of the network topology.\n\nThe ability to send ICMP redirects is only appropriate for systems acting as routers.","checkContent":"Verify TOSS 5 does not allow interfaces to perform Internet Protocol version 4 (IPv4) ICMP redirects by default.\n\nCheck the value of the \"default send_redirects\" variables using the following command:\n\n$ sudo sysctl net.ipv4.conf.default.send_redirects\n\nnet.ipv4.conf.default.send_redirects=0\n\nIf the returned line does not have a value of \"0\", or a line is not returned, this is a finding.\n\nCheck that the configuration files are present to enable this network parameter.\n\n$ sudo /usr/lib/systemd/systemd-sysctl --cat-config | egrep -v '^(#|;)' | grep -F net.ipv4.conf.default.send_redirects | tail -1\n\nnet.ipv4.conf.default.send_redirects = 0\n\nIf \"net.ipv4.conf.default.send_redirects\" is not set to \"0\" and is not documented with the information system security officer (ISSO) as an operational requirement or is missing, this is a finding.","fixText":"Configure TOSS 5 to not allow interfaces to perform IPv4 ICMP redirects by default.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.default.send_redirects = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282697","ruleId":"SV-282697r1201349_rule","severity":"medium","ruleTitle":"TOSS 5 must not enable Internet Protocol version 4 (IPv4) packet forwarding unless the system is a router.","description":"Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If this capability is used when not required, system network information may be unnecessarily transmitted across the network.","checkContent":"Verify TOSS 5 is not performing IPv4 packet forwarding unless the system is a router using the following command:\n\n$ sudo sysctl net.ipv4.conf.all.forwarding\n\nnet.ipv4.conf.all.forwarding = 0\n\nIf the IPv4 forwarding value is not \"0\" and is not documented with the information system security officer (ISSO) as an operational requirement is missing, this is a finding.","fixText":"Configure TOSS 5 to not allow IPv4 packet forwarding unless the system is a router.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv4.conf.all.forwarding = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282698","ruleId":"SV-282698r1201350_rule","severity":"medium","ruleTitle":"TOSS 5 must not accept router advertisements on all Internet Protocol version 6 (IPv6) interfaces.","description":"An illicit router advertisement message could result in a man-in-the-middle attack.","checkContent":"Verify TOSS 5 does not accept router advertisements on all IPv6 interfaces, unless the system is a router.\n\nNote: If IPv6 is disabled on the system, this requirement is not applicable.\n\nDetermine if router advertisements are not accepted by using the following command:\n\n$ sudo sysctl net.ipv6.conf.all.accept_ra\n\nnet.ipv6.conf.all.accept_ra = 0\n\nIf the \"accept_ra\" value is not \"0\" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure TOSS 5 to not accept router advertisements on all IPv6 interfaces unless the system is a router.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv6.conf.all.accept_ra = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282699","ruleId":"SV-282699r1201351_rule","severity":"medium","ruleTitle":"TOSS 5 must ignore Internet Protocol version 6 (IPv6) Internet Control Message Protocol (ICMP) redirect messages.","description":"An illicit ICMP redirect message could result in a man-in-the-middle attack.","checkContent":"Verify TOSS 5 ignores IPv6 ICMP redirect messages.\n\nNote: If IPv6 is disabled on the system, this requirement is not applicable.\n\nCheck the value of the \"accept_redirects\" variables using the following command:\n\n$ sysctl net.ipv6.conf.all.accept_redirects\n\nnet.ipv6.conf.all.accept_redirects = 0\n\nIf the returned line does not have a value of \"0\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to ignore IPv6 ICMP redirect messages.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv6.conf.all.accept_redirects = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282700","ruleId":"SV-282700r1201352_rule","severity":"medium","ruleTitle":"TOSS 5 must not forward Internet Protocol version 6 (IPv6) source-routed packets.","description":"Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when forwarding is enabled and the system is functioning as a router.","checkContent":"Verify TOSS 5 does not accept IPv6 source-routed packets.\n\nNote: If IPv6 is disabled on the system, this requirement is not applicable.\n\nCheck the value of the accept source route variable using the following command:\n\n$ sudo sysctl net.ipv6.conf.all.accept_source_route\n\nnet.ipv6.conf.all.accept_source_route = 0\n\nIf the returned line does not have a value of \"0\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to not forward IPv6 source-routed packets.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv6.conf.all.accept_source_route = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282701","ruleId":"SV-282701r1201355_rule","severity":"medium","ruleTitle":"TOSS 5 must not enable Internet Protocol version 6 (IPv6) packet forwarding unless the system is a router.","description":"IP forwarding permits the kernel to forward packets from one network interface to another. The ability to forward packets between two networks is only appropriate for systems acting as routers.","checkContent":"Verify TOSS 5 is not performing IPv6 packet forwarding unless the system is a router.\n\nNote: If IPv6 is disabled on the system, this requirement is not applicable.\n\nCheck that IPv6 forwarding is disabled using the following commands:\n\n$ sudo sysctl net.ipv6.conf.all.forwarding\n\nnet.ipv6.conf.all.forwarding = 0\n\nIf the IPv6 forwarding value is not \"0\" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure TOSS 5 to not allow IPv6 packet forwarding unless the system is a router.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv6.conf.all.forwarding = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282702","ruleId":"SV-282702r1201356_rule","severity":"medium","ruleTitle":"TOSS 5 must not accept router advertisements on all Internet Protocol version 6 (IPv6) interfaces by default.","description":"An illicit router advertisement message could result in a man-in-the-middle attack.","checkContent":"Verify TOSS 5 does not accept router advertisements on all IPv6 interfaces by default, unless the system is a router.\n\nNote: If IPv6 is disabled on the system, this requirement is not applicable.\n\nDetermine if router advertisements are not accepted by default by using the following command:\n\n$ sudo sysctl net.ipv6.conf.default.accept_ra\n\nnet.ipv6.conf.default.accept_ra = 0\n\nIf the \"accept_ra\" value is not \"0\" and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure TOSS 5 to not accept router advertisements on all IPv6 interfaces by default unless the system is a router.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv6.conf.default.accept_ra = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282703","ruleId":"SV-282703r1201358_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent Internet Protocol version 6 (IPv6) Internet Control Message Protocol (ICMP) redirect messages from being accepted.","description":"ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages modify the host's route table and are unauthenticated. An illicit ICMP redirect message could result in a man-in-the-middle attack.","checkContent":"Verify TOSS 5 will not accept IPv6 ICMP redirect messages.\n\nNote: If IPv6 is disabled on the system, this requirement is not applicable.\n\nCheck the value of the default \"accept_redirects\" variables using the following command:\n\n$ sudo sysctl net.ipv6.conf.default.accept_redirects\n\nnet.ipv6.conf.default.accept_redirects = 0\n\nIf the returned line does not have a value of \"0\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to prevent IPv6 ICMP redirect messages from being accepted.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv6.conf.default.accept_redirects = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282704","ruleId":"SV-282704r1201359_rule","severity":"medium","ruleTitle":"TOSS 5 must not forward Internet Protocol version 6 (IPv6) source-routed packets by default.","description":"Source-routed packets allow the source of the packet to suggest that routers forward the packet along a different path than configured on the router, which can be used to bypass network security measures. This requirement applies only to the forwarding of source-routed traffic, such as when forwarding is enabled and the system is functioning as a router.\n\nAccepting source-routed packets in the IPv6 protocol has few legitimate uses. It must be disabled unless it is absolutely required.","checkContent":"Verify TOSS 5 does not accept IPv6 source-routed packets by default.\n\nNote: If IPv6 is disabled on the system, this requirement is not applicable.\n\nCheck the value of the accept source route variable using the following command:\n\n$ sudo sysctl net.ipv6.conf.default.accept_source_route\n\nnet.ipv6.conf.default.accept_source_route = 0\n\nIf the returned line does not have a value of \"0\", or a line is not returned, this is a finding.","fixText":"Configure TOSS 5 to not forward IPv6 source-routed packets by default.\n\nAdd or edit the following line in a single system configuration file, in the \"/etc/sysctl.d/\" directory:\n\nnet.ipv6.conf.default.accept_source_route = 0\n\nLoad settings from all system configuration files using the following command:\n\n$ sudo sysctl --system","ccis":["CCI-000366"]},{"vulnId":"V-282705","ruleId":"SV-282705r1201362_rule","severity":"medium","ruleTitle":"TOSS 5 must have the openssh-clients package installed.","description":"This package includes utilities to make encrypted connections and transfer files securely to SSH servers.","checkContent":"Verify TOSS 5 has the \"openssh-clients\" package installed using the following command:\n\n$ sudo dnf list --installed openssh-clients\n\nExample output:\n\nopenssh-clients.x86_64          8.7p1-8.el9\n\nIf the \"openssh-clients\" package is not installed, this is a finding.","fixText":"Install the openssh-clients package using the following command:\n\n$ sudo dnf install openssh-clients","ccis":["CCI-000366"]},{"vulnId":"V-282706","ruleId":"SV-282706r1201098_rule","severity":"medium","ruleTitle":"The TOSS 5 SSH server configuration file must be group-owned by root.","description":"Service configuration files enable or disable features of their respective services, which if configured incorrectly, can lead to insecure and vulnerable configurations. Therefore, service configuration files must be owned by the correct group to prevent unauthorized changes.","checkContent":"Verify the group ownership of the \"/etc/ssh/sshd_config\" file using the following command:\n\n$ ls -al /etc/ssh/sshd_config\n\nrw-------. 1 root root 3669 Feb 22 11:34 /etc/ssh/sshd_config\n\nIf the \"/etc/ssh/sshd_config\" file does not have a group owner of \"root\", this is a finding.","fixText":"Configure the \"/etc/ssh/sshd_config\" file to be group-owned by root using the following command:\n\n$ sudo chgrp root /etc/ssh/sshd_config","ccis":["CCI-000366"]},{"vulnId":"V-282707","ruleId":"SV-282707r1201101_rule","severity":"medium","ruleTitle":"The TOSS 5 SSH server configuration file must be owned by root.","description":"Service configuration files enable or disable features of their respective services, which if configured incorrectly, can lead to insecure and vulnerable configurations. Therefore, service configuration files must be owned by the correct group to prevent unauthorized changes.","checkContent":"Verify the ownership of the \"/etc/ssh/sshd_config\" file using the following command:\n\n$ ls -al /etc/ssh/sshd_config\n\nrw-------. 1 root root 3669 Feb 22 11:34 /etc/ssh/sshd_config\n\nIf the \"/etc/ssh/sshd_config\" file does not have an owner of \"root\", this is a finding.","fixText":"Configure the \"/etc/ssh/sshd_config\" file to be owned by root using the following command:\n\n$ sudo chown root /etc/ssh/sshd_config","ccis":["CCI-000366"]},{"vulnId":"V-282708","ruleId":"SV-282708r1201104_rule","severity":"medium","ruleTitle":"The TOSS 5 SSH server configuration file must have mode 0600 or less permissive.","description":"Service configuration files enable or disable features of their respective services that if configured incorrectly can lead to insecure and vulnerable configurations. Therefore, service configuration files should be owned by the correct group to prevent unauthorized changes.","checkContent":"Verify the permissions of the \"/etc/ssh/sshd_config\" file using the following command:\n\n$ ls -al /etc/ssh/sshd_config\n\nrw-------. 1 root root 3669 Feb 22 11:34 /etc/ssh/sshd_config\n\nIf the \"/etc/ssh/sshd_config\" permissions are not \"0600\", this is a finding.","fixText":"Configure the \"/etc/ssh/sshd_config\" permissions to be \"0600\" using the following command:\n\n$ sudo chmod 0600 /etc/ssh/sshd_config","ccis":["CCI-000366"]},{"vulnId":"V-282709","ruleId":"SV-282709r1201369_rule","severity":"medium","ruleTitle":"TOSS 5 SSH private host key files must have mode 0640 or less permissive.","description":"If an unauthorized user obtains the private SSH host key file, the host could be impersonated.","checkContent":"Verify the SSH private host key files have a mode of \"0640\" or less permissive using the following command:\n\n$ ls -l /etc/ssh/*_key\n\n640 /etc/ssh/ssh_host_dsa_key\n640 /etc/ssh/ssh_host_ecdsa_key\n640 /etc/ssh/ssh_host_ed25519_key\n640 /etc/ssh/ssh_host_rsa_key\n\nIf any private host key file has a mode more permissive than \"0640\", this is a finding.","fixText":"Configure the mode of SSH private host key files under \"/etc/ssh\" to \"0640\" using the following command:\n\n$ sudo chmod 0640 /etc/ssh/ssh_host*key\n\nRestart the SSH daemon for the changes to take effect.\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000366"]},{"vulnId":"V-282710","ruleId":"SV-282710r1201371_rule","severity":"medium","ruleTitle":"TOSS 5 SSH public host key files must have mode 0644 or less permissive.","description":"If a public host key file is modified by an unauthorized user, the SSH service may be compromised.","checkContent":"Verify the SSH public host key files have a mode of \"0644\" or less permissive using the following command:\n\nNote: SSH public key files may be found in other directories on the system depending on the installation.\n\n$ sudo stat -c \"%a %n\" /etc/ssh/*.pub\n\n644 /etc/ssh/ssh_host_dsa_key.pub\n644 /etc/ssh/ssh_host_ecdsa_key.pub\n644 /etc/ssh/ssh_host_ed25519_key.pub\n644 /etc/ssh/ssh_host_rsa_key.pub\n\nIf any key.pub file has a mode more permissive than \"0644\", this is a finding.","fixText":"Change the mode of public host key files under \"/etc/ssh\" to \"0644\" using the following command:\n\n$ sudo chmod 0644 /etc/ssh/*key.pub\n\nRestart the SSH daemon for the changes to take effect.\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000366"]},{"vulnId":"V-282711","ruleId":"SV-282711r1201373_rule","severity":"medium","ruleTitle":"The TOSS 5 SSH daemon must not allow rhosts authentication.","description":"SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.","checkContent":"Verify the SSH daemon does not allow rhosts authentication using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*ignorerhosts'\n\nIgnoreRhosts yes\n\nIf the value is returned as \"no\", the returned line is commented out, or no output is returned, this is a finding.","fixText":"Configure the SSH daemon to not allow rhosts authentication.\n\nAdd the following line in \"/etc/ssh/sshd_config\" or uncomment the line and set the value to \"yes\":\n\nIgnoreRhosts yes\n\nRestart the SSH service for changes to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000366"]},{"vulnId":"V-282712","ruleId":"SV-282712r1201589_rule","severity":"medium","ruleTitle":"The TOSS 5 SSH daemon must not allow known hosts authentication.","description":"Configuring the IgnoreUserKnownHosts setting for the SSH daemon provides additional assurance that remote login via SSH will require a password, even in the event of misconfiguration elsewhere.","checkContent":"Verify the SSH daemon does not allow known hosts authentication using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*ignoreuserknownhosts'\n\nIgnoreUserKnownHosts yes\n\nIf the value is returned as \"no\", the returned line is commented out, or no output is returned, this is a finding.","fixText":"Configure the SSH daemon to not allow known hosts authentication.\n\nAdd the following line in \"/etc/ssh/sshd_config\" or uncomment the line and set the value to \"yes\":\n\nIgnoreUserKnownHosts yes\n\nRestart the SSH service for changes to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000366"]},{"vulnId":"V-282713","ruleId":"SV-282713r1201377_rule","severity":"medium","ruleTitle":"The TOSS 5 SSH daemon must perform strict mode checking of home directory configuration files.","description":"If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user.","checkContent":"Verify the SSH daemon performs strict mode checking of home directory configuration files using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*strictmodes'\n\nStrictModes yes\n\nIf the \"StrictModes\" keyword is set to \"no\", the returned line is commented out, or no output is returned, this is a finding.","fixText":"Configure the SSH daemon to perform strict mode checking of home directory configuration files.\n\nAdd the following line in \"/etc/ssh/sshd_config\" or uncomment the line and set the value to \"yes\":\n\nStrictModes yes\n\nRestart the SSH service for changes to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000366"]},{"vulnId":"V-282714","ruleId":"SV-282714r1201379_rule","severity":"medium","ruleTitle":"The TOSS 5 SSH daemon must display the date and time of the last successful account logon upon an SSH logon.","description":"Providing users feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use.","checkContent":"Verify the SSH daemon provides users with feedback on when account accesses last occurred using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*printlastlog'\n\nPrintLastLog yes\n\nIf the \"PrintLastLog\" keyword is set to \"no\", the returned line is commented out, or no output is returned, this is a finding.","fixText":"Configure the SSH daemon to provide users with feedback on when account accesses last occurred.\n\nAdd the following line in \"/etc/ssh/sshd_config\" or uncomment the line and set the value to \"yes\":\n\nPrintLastLog yes\n\nRestart the SSH service for changes to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000366"]},{"vulnId":"V-282715","ruleId":"SV-282715r1201125_rule","severity":"medium","ruleTitle":"The TOSS 5 effective dconf policy must match the policy keyfiles.","description":"Unlike text-based keyfiles, the binary database is impossible to check through most automated and all manual means; therefore, to evaluate dconf configuration, both have to be true at the same time—configuration files have to be compliant, and the database needs to be more recent than those keyfiles, which gives confidence that it reflects them.","checkContent":"Check the last modification time of the local databases, comparing it to the last modification time of the related keyfiles. The following command will check every dconf database and compare its modification time to the related system keyfiles:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface, the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is not applicable.\n\n$ function dconf_needs_update { for db in $(find /etc/dconf/db -maxdepth 1 -type f); do db_mtime=$(stat -c %Y \"$db\"); keyfile_mtime=$(stat -c %Y \"$db\".d/* | sort -n | tail -1); if [ -n \"$db_mtime\" ] && [ -n \"$keyfile_mtime\" ] && [ \"$db_mtime\" -lt \"$keyfile_mtime\" ]; then echo \"$db needs update\"; return 1; fi; done; }; dconf_needs_update\n\nIf the command has any output, then a dconf database needs to be updated, and this is a finding.","fixText":"Update the dconf databases using the following command:\n\n$ sudo dconf update","ccis":["CCI-000366"]},{"vulnId":"V-282716","ruleId":"SV-282716r1201128_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the ability of a user to restart the system from the login screen.","description":"A user who is at the console can reboot the system at the login screen. If restart or shutdown buttons are pressed at the login screen, this can create the risk of short-term loss of availability of systems due to reboot.","checkContent":"Verify TOSS 5 disables a user's ability to restart the system using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is not applicable.\n\n$ grep -R disable-restart-buttons /etc/dconf/db/*\n\n/etc/dconf/db/distro.d/20-authselect:disable-restart-buttons='true'\n\nIf the \"disable-restart-button\" setting is not set to \"true\", is missing or commented out from the dconf database files, this is a finding.","fixText":"Configure TOSS 5 to disable a user's ability to restart the system.\n\nAdd or update the [org/gnome/settings-daemon/] section of the /etc/dconf/db/local.d/00-security-settings\" database file and add or update the following lines:\n\n[org/gnome/login-screen]\ndisable-restart-buttons='true'\n\nThen update the dconf system databases:\n\n$ sudo dconf update","ccis":["CCI-000366"]},{"vulnId":"V-282717","ruleId":"SV-282717r1201644_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the disable-restart-buttons setting for the graphical user interface.","description":"A user who is at the console can reboot the system at the login screen. If restart or shutdown buttons are pressed at the login screen, this can create the risk of short-term loss of availability of systems due to reboot.","checkContent":"Verify TOSS 5 prevents a user from overriding the disable-restart-buttons setting for graphical user interfaces. \n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface, the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is not applicable.\n\nDetermine which profile the system database is using the following command:\n\n$ sudo grep system-db /etc/dconf/profile/user\n\nsystem-db:local\n\nCheck that graphical settings are locked from nonprivileged user modification using the following command:\n\nNote: The example below is using the database \"local\" for the system, so the path is \"/etc/dconf/db/local.d\". This path must be modified if a database other than \"local\" is being used.\n\n$ grep disable-restart-buttons /etc/dconf/db/local.d/locks/* \n\n/org/gnome/login-screen/disable-restart-buttons\n\nIf the command does not return at least the example result, this is a finding.","fixText":"Configure TOSS 5 to prevent a user from overriding the disable-restart-buttons setting for graphical user interfaces. \n\nCreate a database to contain the systemwide graphical user logon settings (if it does not already exist) using the following command:\n\n$ sudo touch /etc/dconf/db/local.d/locks/session\n\nAdd the following line to prevent nonprivileged users from modifying it:\n\n/org/gnome/login-screen/disable-restart-buttons\n\nRun the following command to update the database:\n\n$ sudo dconf update","ccis":["CCI-000366"]},{"vulnId":"V-282718","ruleId":"SV-282718r1201134_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the ability of a user to accidentally press Ctrl-Alt-Del and cause a system to shut down or reboot.","description":"A locally logged-in user who presses Ctrl-Alt-Del, when at the console, can reboot the system. If accidentally pressed, as could happen in the case of mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot.","checkContent":"Verify TOSS 5 is configured to ignore the Ctrl-Alt-Del sequence in the GNOME desktop using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface, the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is not applicable.\n\n$ gsettings get org.gnome.settings-daemon.plugins.media-keys logout \n\n\"['']\"\n\nIf the GNOME desktop is configured to shut down when Ctrl-Alt-Del is pressed, this is a finding.","fixText":"Configure TOSS 5 to ignore the Ctrl-Alt-Del sequence in the GNOME desktop.\n\nAdd or update the [org/gnome/settings-daemon/plugins/media-keys] section of the /etc/dconf/db/local.d/00-security-settings database file and add or update the following lines:\n\n[org/gnome/settings-daemon/plugins/media-keys]\nlogout=['']\n\nRun the following command to update the database:\n\n$ sudo dconf update","ccis":["CCI-000366"]},{"vulnId":"V-282719","ruleId":"SV-282719r1201137_rule","severity":"medium","ruleTitle":"TOSS 5 must prevent a user from overriding the Ctrl-Alt-Del sequence settings for the graphical user interface.","description":"A locally logged-in user who presses Ctrl-Alt-Del, when at the console, can reboot the system. If accidentally pressed, as could happen in the case of mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot.","checkContent":"Verify users cannot enable the Ctrl-Alt-Del sequence in the GNOME desktop using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface, the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is not applicable.\n\n$ grep logout /etc/dconf/db/local.d/locks/* \n\n/org/gnome/settings-daemon/plugins/media-keys/logout\n\nIf the output is not \"/org/gnome/settings-daemon/plugins/media-keys/logout\", the line is commented out, or the line is missing, this is a finding.","fixText":"Configure TOSS 5 to disallow the user changing the Ctrl-Alt-Del sequence in the GNOME desktop.\n\nCreate a database to container systemwide graphical user logon settings (if it does not already exist) using the following command:\n\n$ sudo touch /etc/dconf/db/local.d/locks/session\n\nAdd the following line to the session locks file to prevent nonprivileged users from modifying the Ctrl-Alt-Del setting:\n\n/org/gnome/settings-daemon/plugins/media-keys/logout\n\nRun the following command to update the database:\n\n$ sudo dconf update","ccis":["CCI-000366"]},{"vulnId":"V-282720","ruleId":"SV-282720r1201591_rule","severity":"medium","ruleTitle":"TOSS 5 must disable the user list at logon for graphical user interfaces.","description":"Leaving the user list enabled is a security risk since it allows anyone with physical access to the system to enumerate known user accounts without authenticated access to the system.","checkContent":"Verify TOSS 5 disables the user logon list for graphical user interfaces using the following command:\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface, the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is not applicable.\n\n$ sudo gsettings get org.gnome.login-screen disable-user-list\ntrue\n\nIf the setting is \"false\", this is a finding.","fixText":"Configure TOSS 5 to disable the user list at logon for graphical user interfaces.\n\nCreate a database to contain the systemwide screensaver settings (if it does not already exist) using the following command:\n\nNote: The example below is using the database \"local\" for the system, so if the system is using another database in \"/etc/dconf/profile/user\", the file should be created under the appropriate subdirectory.\n\n$ sudo touch /etc/dconf/db/local.d/02-login-screen\n\n[org/gnome/login-screen]\ndisable-user-list=true\n\nUpdate the system databases:\n\n$ sudo dconf update","ccis":["CCI-000366"]},{"vulnId":"V-282721","ruleId":"SV-282721r1201143_rule","severity":"medium","ruleTitle":"All TOSS 5 local interactive user accounts must be assigned a home directory upon creation.","description":"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.","checkContent":"Verify all local interactive users on TOSS 5 are assigned a home directory upon creation using the following command:\n\n$ grep -i create_home /etc/login.defs\n\nCREATE_HOME yes\n\nIf the value for \"CREATE_HOME\" parameter is not set to \"yes\", the line is missing, or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to assign home directories to all new local interactive users by setting the \"CREATE_HOME\" parameter in \"/etc/login.defs\" to \"yes\" as follows.\n\nCREATE_HOME yes","ccis":["CCI-000366"]},{"vulnId":"V-282722","ruleId":"SV-282722r1201146_rule","severity":"medium","ruleTitle":"TOSS 5 must set the umask value to 077 for all local interactive user accounts.","description":"The umask controls the default access mode assigned to newly created files. A umask of 077 limits new files to mode 600 or less permissive. Although umask can be represented as a four-digit number, the first digit representing special access modes is typically ignored or required to be \"0\". This requirement applies to the globally configured system defaults and the local interactive user defaults for each account on the system.","checkContent":"Verify the default umask for all local interactive users is \"077\".\n\nIdentify the locations of all local interactive user home directories in the \"/etc/passwd\" file.\n\nCheck all local interactive user initialization files for interactive users using the following command.\n\nNote: The example is for a system that is configured to create users home directories in the \"/home\" directory.\n\n# grep -ri umask /home/\n\n/home/wadea/.bash_history:grep -i umask /etc/bashrc /etc/csh.cshrc /etc/profile\n/home/wadea/.bash_history:grep -i umask /etc/login.defs\n\nIf any local interactive user initialization files are found to have a umask statement that sets a value less restrictive than \"077\", this is a finding.","fixText":"Remove the umask statement from all local interactive user's initialization files. \n\nIf the account is for an application, the requirement for a umask less restrictive than \"077\" can be documented with the information system security officer, but the user agreement for access to the account must specify that the local interactive user must log on to their account first and then switch the user to the application account with the correct option to gain the account's environment variables.","ccis":["CCI-000366"]},{"vulnId":"V-282723","ruleId":"SV-282723r1201149_rule","severity":"medium","ruleTitle":"TOSS 5 system accounts must not have an interactive login shell.","description":"Ensuring shells are not given to system accounts upon login makes it more difficult for attackers to make use of system accounts.","checkContent":"Verify system accounts must not have an interactive login shell using the following command:\n\n$ awk -F: '($3<1000){print $1 \":\" $3 \":\" $7}' /etc/passwd\n\nroot:0:/bin/bash\nbin:1:/sbin/nologin\ndaemon:2:/sbin/nologin\nadm:3:/sbin/nologin\nlp:4:/sbin/nologin\n\nIdentify the system accounts from this listing that do not have a nologin or similar noninteractive shell.\n\nIf any system account (other than the root account) has a login shell and it is not documented with the information system security officer (ISSO), this is a finding.","fixText":"Configure TOSS 5 so that all noninteractive accounts on the system do not have an interactive shell assigned to them.\n\nIf the system account needs a shell assigned for mission operations, document the need with the information system security officer (ISSO).\n\nRun the following command to disable the interactive shell for a specific noninteractive user account:\n\nReplace <user> with the user that has a login shell.\n\n$ sudo usermod --shell /sbin/nologin <user>\n\nDo not perform the steps in this section on the root account. Doing so will cause the system to become inaccessible.","ccis":["CCI-000366"]},{"vulnId":"V-282724","ruleId":"SV-282724r1201152_rule","severity":"medium","ruleTitle":"Executable search paths within the initialization files of all local interactive TOSS 5 users must only contain paths that resolve to the system default or the users home directory.","description":"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.\n\nThis 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).","checkContent":"Verify all local interactive user initialization file executable search path statements do not contain statements that will reference a working directory other than user home directories with the following commands:\n\n$ sudo grep -i path= /home/*/.*\n\n/home/[localinteractiveuser]/.bash_profile:PATH=$PATH:$HOME/.local/bin:$HOME/bin\n\nIf any local interactive user initialization files have executable search path statements that include directories outside of their home directory and is not documented with the ISSO as an operational requirement, this is a finding.","fixText":"Edit the local interactive user initialization files to change any PATH variable statements that reference directories other than their home directory.\n\nIf a local interactive user requires path variables to reference a directory owned by the application, it must be documented with the ISSO.","ccis":["CCI-000366"]},{"vulnId":"V-282725","ruleId":"SV-282725r1201593_rule","severity":"medium","ruleTitle":"All TOSS 5 local interactive users must have a home directory assigned in the /etc/passwd file.","description":"If local interactive users are not assigned a valid home directory, there is no place to store and control the files they should own.","checkContent":"Verify interactive users on the system have a home directory assigned using the following command:\n \n$ sudo awk -F: '($3>=1000)&&($7 !~ /nologin/){print $1, $3, $6}' /etc/passwd\n\nsmithk:x:1000:1000:smithk:/home/smithk:/bin/bash\nscsaustin:x:1001:1001:scsaustin:/home/scsaustin:/bin/bash\ndjohnson:x:1002:1002:djohnson:/home/djohnson:/bin/bash\n\nInspect the output and verify that all interactive users (normally users with a user identifier [UID] greater than 1000) have a home directory defined.\n\nIf users home directory is not defined, this is a finding.","fixText":"Create and assign home directories to all local interactive users on TOSS 5 that currently do not have a home directory assigned.","ccis":["CCI-000366"]},{"vulnId":"V-282726","ruleId":"SV-282726r1201158_rule","severity":"medium","ruleTitle":"All TOSS 5 local interactive user home directories defined in the /etc/passwd file must exist.","description":"If a local interactive user has a home directory defined that does not exist, the user may be given access to the / directory as the current working directory upon logon. This could create a denial of service because the user would not be able to access their logon configuration files, and it may give them visibility to system files they normally would not be able to access.","checkContent":"Verify the assigned home directories of all interactive users on the system exist using the following command:\n\n$ sudo pwck -r \n\nuser 'mailnull': directory 'var/spool/mqueue' does not exist\n\nThe output should not return any interactive users.\n\nIf the user's home directory does not exist, this is a finding.","fixText":"Create home directories to all local interactive users that currently do not have a home directory assigned. Use the following commands to create the user home directory assigned in \"/etc/ passwd\":\n\nNote: The example will be for the user \"wadea\", who has a home directory of \"/home/wadea\", a user identifier (UID) of \"wadea\", and a Group Identifier (GID) of \"users assigned\" in \"/etc/passwd\".\n\n$ sudo mkdir /home/wadea \n$ sudo chown wadea /home/wadea\n$ sudo chgrp users /home/wadea\n$ sudo chmod 0750 /home/wadea","ccis":["CCI-000366"]},{"vulnId":"V-282727","ruleId":"SV-282727r1201161_rule","severity":"medium","ruleTitle":"All TOSS 5 local interactive user home directories must be group-owned by the home directory owner's primary group.","description":"If the Group Identifier (GID) of a local interactive user's home directory is not the same as the primary GID of the user, this would allow unauthorized access to the user's files, and users that share the same group may not be able to access files that they legitimately should.","checkContent":"Verify the assigned home directory of all local interactive users is group owned by that user's primary GID using the following command.\n\nNote: This may miss local interactive users that have been assigned a privileged user identifier (UID). Evidence of interactive use may be obtained from a number of log files containing system logon information. The returned directory \"/home/wadea\" is used as an example.\n\n$ sudo ls -ld $(awk -F: '($3>=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd)\n\ndrwxr-x--- 2 wadea admin 4096 Jun 5 12:41 wadea\n\nCheck the user's primary group using the following command:\n\n$ sudo grep $(grep wadea /etc/passwd | awk -F: â€˜{print $4}') /etc/group\n\nadmin:x:250:wadea,jonesj,jacksons\n\nIf the user home directory referenced in \"/etc/passwd\" is not group-owned by that user's primary GID, this is a finding.","fixText":"Change the group owner of a local interactive user's home directory to the group found in \"/etc/passwd\". To change the group owner of a local interactive user's home directory, use the following command:\n\nNote: The example will be for the user \"wadea\", who has a home directory of \"/home/wadea\", and has a primary group of users.\n\n$ sudo chgrp users /home/wadea","ccis":["CCI-000366"]},{"vulnId":"V-282728","ruleId":"SV-282728r1201164_rule","severity":"medium","ruleTitle":"TOSS 5 must not have unauthorized accounts.","description":"Accounts providing no operational purpose provide additional opportunities for system compromise. Unnecessary accounts include user accounts for individuals not requiring access to the system and application accounts for applications not installed on the system.","checkContent":"Verify there are no unauthorized interactive user accounts using the following command:\n\n$ less /etc/passwd  \n\nroot:x:0:0:root:/root:/bin/bash\n...\ngames:x:12:100:games:/usr/games:/sbin/nologin\nscsaustin:x:1001:1001:scsaustin:/home/scsaustin:/bin/bash\ndjohnson:x:1002:1002:djohnson:/home/djohnson:/bin/bash\n\nInteractive user account, generally will have a user identifier (UID) of 1000 or greater, a home directory in a specific partition, and an interactive shell.\n\nObtain the list of interactive user accounts authorized to be on the system from the system administrator (SA) or information system security officer (ISSO) and compare it to the list of local interactive user accounts on the system.\n\nIf there are unauthorized local user accounts on the system, this is a finding.","fixText":"Remove unauthorized local interactive user accounts with the following command where <unauthorized_user> is the unauthorized account:\n\n$ sudo userdel  <unauthorized_user>","ccis":["CCI-000366"]},{"vulnId":"V-282729","ruleId":"SV-282729r1201167_rule","severity":"high","ruleTitle":"The root account must be the only account with unrestricted access to TOSS 5 system.","description":"An account has root authority if it has a user identifier (UID) of \"0\". Multiple accounts with a UID of \"0\" afford more opportunity for potential intruders to guess a password for a privileged account. Properly configuring sudo is recommended to afford multiple system administrators (SAs) access to root privileges in an accountable manner.","checkContent":"Verify only the \"root\" account has a UID \"0\" assignment using the following command:\n\n$ awk -F: '$3 == 0 {print $1}' /etc/passwd\n\nroot\n\nIf any accounts other than \"root\" have a UID of \"0\", this is a finding.","fixText":"Change the UID of any account on the system, other than root, that has a UID of \"0\". \n\nIf 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.","ccis":["CCI-000366"]},{"vulnId":"V-282730","ruleId":"SV-282730r1201170_rule","severity":"medium","ruleTitle":"Local TOSS 5 initialization files must not execute world-writable programs.","description":"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.","checkContent":"Verify local initialization files do not execute world-writable programs using the following command.\n\nNote: The example will be for a system that is configured to create user home directories in the \"/home\" directory.\n\n$ sudo find /home -perm -002 -type f -name \".[^.]*\" -exec ls -ld {} \\; \n\nIf any local initialization files are found to reference world-writable files, this is a finding.","fixText":"Set the mode on files being executed by the local initialization files using the following command:\n\n$ sudo chmod 0755 <file>","ccis":["CCI-000366"]},{"vulnId":"V-282731","ruleId":"SV-282731r1201173_rule","severity":"low","ruleTitle":"TOSS 5 must display the date and time of the last successful account logon upon user logon.","description":"Users must be aware of activity that occurs regarding their account. Providing users with information regarding the number of unsuccessful attempts that were made to login to their account allows the user to determine if any unauthorized activity has occurred and gives them an opportunity to notify administrators.","checkContent":"Verify users are provided with feedback on when account accesses last occurred using the following command:\n\n$ sudo grep pam_lastlog /etc/pam.d/postlogin\n\nsession required pam_lastlog.so showfailed\n\nIf \"pam_lastlog\" is missing from \"/etc/pam.d/postlogin\" file, or the silent option is present, this is a finding.","fixText":"Configure TOSS 5 to provide users with feedback on when account accesses last occurred by setting the required configuration options in \"/etc/pam.d/postlogin\". \n\nAdd the following line to the top of \"/etc/pam.d/postlogin\":\n\nsession required pam_lastlog.so showfailed","ccis":["CCI-000366"]},{"vulnId":"V-282732","ruleId":"SV-282732r1201176_rule","severity":"medium","ruleTitle":"TOSS 5 must have policycoreutils package installed.","description":"If security functions are not verified, they may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters.\n\n\"policycoreutils\" contains the policy core utilities that are required for basic operation of an SELinux-enabled system. These utilities include \"load_policy\" to load SELinux policies, \"setfile\" to label filesystems, \"newrole\" to switch roles, and \"run_init\" to run \"/etc/init.d\" scripts in the proper context.","checkContent":"Verify the TOSS 5 \"policycoreutils\" package is installed using the following command:\n\n$ sudo dnf list --installed policycoreutils\n\nExample output:\n\npolicycoreutils.x86_64          3.3-6.el9_0                                                 \n\nIf the \"policycoreutils\" package is not installed, this is a finding.","fixText":"Install the \"policycoreutils\" package using the following command:\n \n$ sudo dnf install policycoreutils","ccis":["CCI-000366"]},{"vulnId":"V-282733","ruleId":"SV-282733r1201179_rule","severity":"medium","ruleTitle":"TOSS 5 policycoreutils-python-utils package must be installed.","description":"The \"policycoreutils-python-utils\" package is required to operate and manage an SELinux environment and its policies. It provides utilities such as \"semanage\", \"audit2allow\", \"audit2why\", \"chcat\", and \"sandbox\".","checkContent":"Verify the TOSS 5 \"policycoreutils-python-utils\" service package is installed using the following command:\n\n$ sudo dnf list --installed policycoreutils-python-utils\n\nExample output:\n\npolicycoreutils-python-utils.noarch          3.3-6.el9_0\n\nIf the \"policycoreutils-python-utils\" package is not installed, this is a finding.","fixText":"Install the \"policycoreutils-python-utils\" service package using the following command:\n\n$ sudo dnf install policycoreutils-python-utils","ccis":["CCI-000366"]},{"vulnId":"V-282734","ruleId":"SV-282734r1201182_rule","severity":"medium","ruleTitle":"TOSS 5 must require reauthentication when using the sudo command.","description":"Without reauthentication, users may access resources or perform tasks for which they do not have authorization. \n\nWhen operating systems provide the capability to escalate a functional capability, it is critical that the organization requires the user to reauthenticate when using the \"sudo\" command.\n\nIf the value is set to an integer less than \"0\", the user's time stamp will not expire and the user will not have to reauthenticate for privileged actions until the user's session is terminated.","checkContent":"Verify TOSS 5 requires reauthentication when using the \"sudo\" command to elevate privileges using the following command:\n\n$ sudo grep -ir 'timestamp_timeout' /etc/sudoers /etc/sudoers.d/*\n\n/etc/sudoers:Defaults timestamp_timeout=0\n\nIf results are returned from more than one file location, this is a finding.\n\nIf \"timestamp_timeout\" is set to a negative number, is commented out, or no results are returned, this is a finding.","fixText":"Configure TOSS 5 to reauthenticate \"sudo\" commands after the specified timeout.\n\nAdd the following line to \"/etc/sudoers\":\n\nDefaults timestamp_timeout=0","ccis":["CCI-000366"]},{"vulnId":"V-282735","ruleId":"SV-282735r1201185_rule","severity":"medium","ruleTitle":"TOSS 5 must require users to reauthenticate for privilege escalation.","description":"Without reauthentication, users may access resources or perform tasks for which they do not have authorization.\n\nWhen operating systems provide the capability to escalate a functional capability, it is critical that the user reauthenticate.","checkContent":"Verify \"/etc/sudoers\" has no occurrences of \"!authenticate\" using the following command:\n\n$ sudo grep -ir '!authenticate' /etc/sudoers /etc/sudoers.d/*\n\nIf any occurrences of \"!authenticate\" are returned, this is a finding.","fixText":"Configure TOSS 5 to not allow users to execute privileged actions without authenticating.\n\nRemove any occurrence of \"!authenticate\" found in \"/etc/sudoers\" file or files in the \"/etc/sudoers.d\" directory:\n\n$ sudo sed -i '/\\!authenticate/ s/^/# /g' /etc/sudoers /etc/sudoers.d/*","ccis":["CCI-000366"]},{"vulnId":"V-282736","ruleId":"SV-282736r1201188_rule","severity":"medium","ruleTitle":"TOSS 5 must restrict privilege elevation to authorized personnel.","description":"If the \"sudoers\" file is not configured correctly, any user defined on the system can initiate privileged actions on the target system.","checkContent":"Verify TOSS 5 restricts privilege elevation to authorized personnel using the following command:\n\n$ sudo sh -c 'grep -iw ALL /etc/sudoers /etc/sudoers.d/*'\n\nIf the either of the following entries are returned, this is a finding:\n\nALL     ALL=(ALL) ALL\nALL     ALL=(ALL:ALL) ALL","fixText":"Remove the following entries from the /etc/sudoers file or configuration file under /etc/sudoers.d/:\n\nALL     ALL=(ALL) ALL\nALL     ALL=(ALL:ALL) ALL","ccis":["CCI-000366"]},{"vulnId":"V-282737","ruleId":"SV-282737r1201191_rule","severity":"high","ruleTitle":"TOSS 5 must not allow blank or null passwords.","description":"If an account has an empty password, anyone could log in and run commands with the privileges of that account. Accounts with empty passwords should never be used in operational environments.","checkContent":"Verify null passwords cannot be used by running the following command:\n\n$ sudo grep -i nullok /etc/pam.d/system-auth /etc/pam.d/password-auth\n\nIf an output is produced, this is a finding.","fixText":"Remove any instances of the \"nullok\" option in the \"/etc/pam.d/password-auth\" and \"/etc/pam.d/system-auth\" files to prevent logons with empty passwords.\n\nNote: Manual changes to the listed file may be overwritten by the \"authselect\" program.","ccis":["CCI-000366"]},{"vulnId":"V-282738","ruleId":"SV-282738r1201194_rule","severity":"high","ruleTitle":"TOSS 5 must ensure the password complexity module is enabled in the system-auth file.","description":"Enabling PAM password complexity permits enforcement of strong passwords and consequently makes the system less prone to dictionary attacks.","checkContent":"Verify TOSS 5 uses \"pwquality\" to enforce the password complexity rules in the \"system-auth\" file using the following command:\n\n$ cat /etc/pam.d/system-auth | grep pam_pwquality\n\npassword required pam_pwquality.so \n\nIf the command does not return a line containing the value \"pam_pwquality.so\", or the line is commented out, this is a finding.","fixText":"Configure TOSS 5 to use \"pwquality\" to enforce password complexity rules.\n\nAdd the following line to the \"/etc/pam.d/system-auth\" file(or modify the line to have the required value):\n\npassword required pam_pwquality.so","ccis":["CCI-000366"]},{"vulnId":"V-282739","ruleId":"SV-282739r1201595_rule","severity":"medium","ruleTitle":"TOSS 5 must require users to provide a password for privilege escalation.","description":"Without reauthentication, users may access resources or perform tasks for which they do not have authorization.\n\nWhen operating systems provide the capability to escalate a functional capability, it is critical that the user reauthenticate.","checkContent":"Verify \"/etc/sudoers\" has no occurrences of \"NOPASSWD\" using the following command:\n\n$ sudo grep -ri nopasswd /etc/sudoers /etc/sudoers.d/*\n\nIf any occurrences of \"NOPASSWD\" are returned and this is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.","fixText":"Configure TOSS 5 to not allow users to execute privileged actions without authenticating with a password.\n\nRemove any occurrence of \"NOPASSWD\" found in \"/etc/sudoers\" file or files in the \"/etc/sudoers.d\" directory.\n\n$ sudo sed -i '/NOPASSWD/ s/^/# /g' /etc/sudoers /etc/sudoers.d/*","ccis":["CCI-000366"]},{"vulnId":"V-282740","ruleId":"SV-282740r1201200_rule","severity":"medium","ruleTitle":"TOSS 5 must not be configured to bypass password requirements for privilege escalation.","description":"Without reauthentication, users may access resources or perform tasks for which they do not have authorization. When operating systems provide the capability to escalate a functional capability, it is critical that the user reauthenticate.","checkContent":"Verify TOSS 5 is not configured to bypass password requirements for privilege escalation using the following command:\n\n$ sudo grep pam_succeed_if /etc/pam.d/sudo \n\nIf any occurrences of \" pam_succeed_if \" are returned, this is a finding.","fixText":"Configure TOSS 5 to require users to supply a password for privilege escalation.\n\nRemove any occurrences of \" pam_succeed_if \" in the \"/etc/pam.d/sudo\" file.","ccis":["CCI-000366"]},{"vulnId":"V-282741","ruleId":"SV-282741r1201203_rule","severity":"medium","ruleTitle":"TOSS 5 must not have accounts configured with blank or null passwords.","description":"If an account has an empty password, anyone could log in and run commands with the privileges of that account. Accounts with empty passwords should never be used in operational environments.","checkContent":"Verify null or blank passwords cannot be used using the following command:\n\n$ sudo awk -F: '!$2 {print $1}' /etc/shadow\n\nIf the command returns any results, this is a finding.","fixText":"Configure all accounts on TOSS 5 to have a password or lock the account using the following commands:\n\nPerform a password reset:\n\n$ sudo passwd [username] \n\nTo lock an account:\n\n$ sudo passwd -l [username]","ccis":["CCI-000366"]},{"vulnId":"V-282742","ruleId":"SV-282742r1201206_rule","severity":"medium","ruleTitle":"TOSS 5 must use a file integrity tool that is configured to use FIPS 140-3-approved cryptographic hashes for validating file contents and directories.","description":"TOSS 5 installation media ships with an optional file integrity tool called Advanced Intrusion Detection Environment (AIDE). AIDE is highly configurable at install time. This requirement assumes the \"aide.conf\" file is under the \"/etc\" directory.\n\nFile integrity tools use cryptographic hashes for verifying file contents and directories have not been altered. These hashes must be 140-3-approved cryptographic hashes.\n\nSatisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000550-GPOS-00100","checkContent":"Verify AIDE is configured to use FIPS 140-3 file hashing using the following command:\n\n$ grep sha512 /etc/aide.conf \n\nAll=p+i+n+u+g+s+m+S+sha512+acl+xattrs+selinux\n\nIf the \"sha512\" rule is not being used on all uncommented selection lines in the \"/etc/aide.conf\" file, or another file integrity tool is not using 140-3-approved cryptographic hashes for validating file contents and directories, this is a finding.","fixText":"Configure the file integrity tool to use FIPS 140-3 cryptographic hashes for validating file and directory contents. \n\nIf AIDE is installed, ensure the \"sha512\" rule is present on all uncommented file and directory selection lists. Exclude any log files or files expected to change frequently to reduce unnecessary notifications.","ccis":["CCI-000366","CCI-002450"]},{"vulnId":"V-282743","ruleId":"SV-282743r1201209_rule","severity":"low","ruleTitle":"TOSS 5 must be configured so that the file integrity tool verifies Access Control Lists (ACLs).","description":"TOSS 5 installation media ships with an optional file integrity tool called Advanced Intrusion Detection Environment (AIDE). AIDE is highly configurable at install time. This requirement assumes the \"aide.conf\" file is under the \"/etc\" directory.\n\nACLs can provide permissions beyond those permitted through the file mode and must be verified by the file integrity tools.","checkContent":"Confirm AIDE is verifying ACLs using the following command:\n\n$ grep acl /etc/aide.conf \n\nAll= p+i+n+u+g+s+m+S+sha512+acl+xattrs+selinux\n\nIf the \"acl\" rule is not being used on all uncommented selection lines in the \"/etc/aide.conf\" file, or ACLs are not being checked by another file integrity tool, this is a finding.","fixText":"Configure the file integrity tool to check file and directory ACLs. \n\nIf AIDE is installed, ensure the \"acl\" rule is present on all uncommented file and directory selection lists.","ccis":["CCI-000366"]},{"vulnId":"V-282744","ruleId":"SV-282744r1201212_rule","severity":"low","ruleTitle":"TOSS 5 must be configured so the file integrity tool verifies extended attributes.","description":"TOSS 5 installation media ships with an optional file integrity tool called Advanced Intrusion Detection Environment (AIDE). AIDE is highly configurable at install time. This requirement assumes the \"aide.conf\" file is under the \"/etc\" directory.\n\nExtended attributes in file systems are used to contain arbitrary data and file metadata with security implications.","checkContent":"Verify AIDE is configured to verify extended attributes using the following command:\n\n$ grep xattrs /etc/aide.conf \n\nAll= p+i+n+u+g+s+m+S+sha512+acl+xattrs+selinux\n\nIf the \"xattrs\" rule is not being used on all uncommented selection lines in the \"/etc/aide.conf\" file, or extended attributes are not being checked by another file integrity tool, this is a finding.","fixText":"Configure the file integrity tool to check file and directory extended attributes. \n\nIf AIDE is installed, ensure the \"xattrs\" rule is present on all uncommented file and directory selection lists.","ccis":["CCI-000366"]},{"vulnId":"V-282745","ruleId":"SV-282745r1201645_rule","severity":"medium","ruleTitle":"TOSS 5 must have the packages required for encrypting off-loaded audit logs installed.","description":"The \"rsyslog-gnutls\" package provides Transport Layer Security (TLS) support for the rsyslog daemon, which enables secure remote logging.","checkContent":"Verify TOSS 5 has the \"rsyslog-gnutls\" package installed using the following command:\n\n$ sudo dnf list --installed rsyslog-gnutls\n\nExample output:\n\nrsyslog-gnutls.x86_64          8.2102.0-101.el9_0.1\n\nIf the \"rsyslog-gnutls\" package is not installed, this is a finding.","fixText":"Install the \"rsyslog-gnutls\" package using the following command:\n \n$ sudo dnf install rsyslog-gnutls","ccis":["CCI-000366"]},{"vulnId":"V-282746","ruleId":"SV-282746r1201218_rule","severity":"medium","ruleTitle":"The rsyslog service on TOSS 5 must be active.","description":"The \"rsyslog\" service must be running to provide logging services, which are essential to system administration.","checkContent":"Verify \"rsyslog\" is active using the following command:\n\n$ systemctl is-active rsyslog \n\nactive\n\nIf the \"rsyslog\" service is not active, this is a finding.","fixText":"To enable the rsyslog service, run the following command:\n\n$ sudo systemctl enable --now rsyslog","ccis":["CCI-000366"]},{"vulnId":"V-282747","ruleId":"SV-282747r1201386_rule","severity":"medium","ruleTitle":"TOSS 5 must be configured so the rsyslog daemon does not accept log messages from other servers unless the server is being used for log aggregation.","description":"Unintentionally running an rsyslog server that accepts remote messages puts the system at increased risk. Malicious rsyslog messages sent to the server could exploit vulnerabilities in the server software itself, could introduce misleading information into the system's logs, or could fill the system's storage, leading to a denial of service.\n\nIf the system is intended to be a log aggregation server, its use must be documented with the information system security officer (ISSO).","checkContent":"Verify TOSS 5 is not configured to receive remote logs using rsyslog with the following commands:\n\n$ grep -i modload /etc/rsyslog.conf /etc/rsyslog.d/*\n$ModLoad imtcp\n$ModLoad imrelp\n\n$ grep -i serverrun /etc/rsyslog.conf /etc/rsyslog.d/*\n$InputTCPServerRun 514\n$InputRELPServerRun 514\n\nNote: An error about no files or directories may be returned. This is not a finding.\n\nIf any lines are returned by the command, then rsyslog is configured to receive remote messages, and this is a finding.","fixText":"Configure TOSS 5 to not receive remote logs using rsyslog.\n\nRemove the lines in \"/etc/rsyslog.conf\" and any files in the \"/etc/rsyslog.d\" directory that match any of the following:\n\n$ModLoad imtcp\n$ModLoad imudp\n$ModLoad imrelp\n$InputTCPServerRun [0-9]*\n$UDPServerRun [0-9]*\n$InputRELPServerRun [0-9]*\n\nRestart the rsyslog daemon for the changes to take effect.\n\n$ sudo systemctl restart rsyslog.service","ccis":["CCI-000366"]},{"vulnId":"V-282748","ruleId":"SV-282748r1201388_rule","severity":"medium","ruleTitle":"TOSS 5 must use cron logging.","description":"Cron logging can be used to trace the successful or unsuccessful execution of cron jobs. It can also be used to spot intrusions into the use of the cron facility by unauthorized and malicious users.","checkContent":"Verify \"rsyslog\" is configured to log cron events using the following command:\n\nNote: If another logging package is used, substitute the utility configuration file for \"/etc/rsyslog.conf\" or \"/etc/rsyslog.d/*.conf\" files.\n\n$ sudo grep -s cron /etc/rsyslog.conf /etc/rsyslog.d/*.conf\n\n/etc/rsyslog.conf:*.info;mail.none;authpriv.none;cron.none                          /var/log/messages\n/etc/rsyslog.conf:cron.*                                                           /var/log/cron             \n\nIf the command does not return a response, check for cron logging all facilities using the following command:\n\n$ sudo grep -s /var/log/messages /etc/rsyslog.conf /etc/rsyslog.d/*.conf\n\n/etc/rsyslog.conf:*.info;mail.none;authpriv.none;cron.none                          /var/log/messages\n\nIf \"rsyslog\" is not logging messages for the cron facility or all facilities, this is a finding.","fixText":"Configure \"rsyslog\" to log all cron messages by adding or updating the following line to \"/etc/rsyslog.conf\" or a configuration file in the /etc/rsyslog.d/ directory:\n\ncron.* /var/log/cron\n\nRestart the rsyslog daemon for the changes to take effect.\n\n$ sudo systemctl restart rsyslog.service","ccis":["CCI-000366"]},{"vulnId":"V-282749","ruleId":"SV-282749r1201227_rule","severity":"medium","ruleTitle":"The TOSS 5 audit system must take appropriate action when an error writing to the audit storage volume occurs.","description":"It is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode.","checkContent":"Verify TOSS 5 takes the appropriate action when an audit processing failure occurs using the following command:\n\n$ sudo grep disk_error_action /etc/audit/auditd.conf\n\ndisk_error_action = HALT\n\nIf the value of the \"disk_error_action\" option is not \"SYSLOG\", \"SINGLE\", or \"HALT\", or the line is commented out, ask the system administrator (SA) to indicate how the system takes appropriate action when an audit process failure occurs. If there is no evidence of appropriate action, this is a finding.","fixText":"Configure TOSS 5 to shut down by default upon audit failure (unless availability is an overriding concern).\n\nAdd or update the following line (depending on the configuration, \"disk_error_action\" can be set to \"SYSLOG\" or \"SINGLE\") in \"/etc/audit/auditd.conf\" file:\n\ndisk_error_action = HALT\n\nIf availability has been determined to be more important, and this decision is documented with the information system security officer (ISSO), configure the operating system to notify the SA and ISSO in the event of an audit processing failure by setting the \"disk_error_action\" to \"SYSLOG\".","ccis":["CCI-000366"]},{"vulnId":"V-282750","ruleId":"SV-282750r1201230_rule","severity":"medium","ruleTitle":"The TOSS 5 audit system must take appropriate action when the audit storage volume is full.","description":"It is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode.","checkContent":"Verify TOSS 5 takes the appropriate action when the audit storage volume is full using the following command:\n\n$ sudo grep disk_full_action /etc/audit/auditd.conf\n\ndisk_full_action = HALT\n\nIf the value of the \"disk_full_action\" option is not \"SYSLOG\", \"SINGLE\", or \"HALT\", or the line is commented out, ask the system administrator (SA) to indicate how the system takes appropriate action when an audit storage volume is full. If there is no evidence of appropriate action, this is a finding.","fixText":"Configure TOSS 5 to shut down by default upon audit failure (unless availability is an overriding concern).\n\nAdd or update the following line (depending on the configuration, \"disk_full_action\" can be set to \"SYSLOG\" or \"SINGLE\") in \"/etc/audit/auditd.conf\" file:\n\ndisk_full_action = HALT\n\nIf availability has been determined to be more important, and this decision is documented with the information system security officer (ISSO), configure the operating system to notify the SA and ISSO in the event of an audit processing failure by setting the \"disk_full_action\" to \"SYSLOG\".","ccis":["CCI-000366"]},{"vulnId":"V-282751","ruleId":"SV-282751r1201233_rule","severity":"medium","ruleTitle":"The TOSS 5 audit system must take appropriate action when the audit files have reached maximum size.","description":"It is critical that when the operating system is at risk of failing to process audit logs as required, it takes action to mitigate the failure. Audit processing failures include software/hardware errors; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon the nature of the failure mode.","checkContent":"Verify TOSS 5 takes the appropriate action when the audit files have reached maximum size using the following command:\n\n$ sudo grep max_log_file_action /etc/audit/auditd.conf\n\nmax_log_file_action = ROTATE\n\nIf the value of the \"max_log_file_action\" option is not \"ROTATE\", \"SINGLE\", or the line is commented out, ask the system administrator (SA)to indicate how the system takes appropriate action when an audit storage volume is full. If there is no evidence of appropriate action, this is a finding.","fixText":"Configure TOSS 5 to rotate the audit log when it reaches maximum size.\n\nAdd or update the following line in \"/etc/audit/auditd.conf\" file:\n\nmax_log_file_action = ROTATE","ccis":["CCI-000366"]},{"vulnId":"V-282752","ruleId":"SV-282752r1201236_rule","severity":"medium","ruleTitle":"TOSS 5 must write audit records to disk.","description":"Audit data should be synchronously written to disk to ensure log integrity. This setting ensures all audit event data is written to disk.","checkContent":"If the system is configured to immediately offload audit records to an external system, this requirement is not applicable.\n\nVerify the audit system is configured to write logs to the disk using the following command:\n\n$ sudo grep write_logs /etc/audit/auditd.conf \n\nwrite_logs = yes \n \nIf \"write_logs\" does not have a value of \"yes\", the line is commented out, or the line is missing, this is a finding.","fixText":"Configure the audit system to write log files to the disk.\n\nEdit the \"/etc/audit/auditd.conf\" file and add or update the \"write_logs\" option to \"yes\":\n\nwrite_logs = yes \n\nRestart the audit daemon for changes to take effect.","ccis":["CCI-000366"]},{"vulnId":"V-282753","ruleId":"SV-282753r1201612_rule","severity":"medium","ruleTitle":"TOSS 5 must define default permissions for the bash shell.","description":"The \"umask \"controls the default access mode assigned to newly created files. A umask of 077 limits new files to mode 600 or less permissive. Although \"umask\" can be represented as a four-digit number, the first digit representing special access modes is typically ignored or required to be \"0\". This requirement applies to the globally configured system defaults and the local interactive user defaults for each account on the system.","checkContent":"Verify the \"umask\" setting is configured correctly in the \"/etc/bashrc\" file using the following command:\n\nNote: If the value of the \"umask\" parameter is set to \"000\" \"/etc/bashrc\" file, the severity is raised to a CAT I.\n\n$ grep umask /etc/bashrc \n\numask 077\numask 077  \n\nIf the value for the \"umask\" parameter is not \"077\", or the \"umask\" parameter is missing or is commented out, this is a finding.","fixText":"Configure TOSS 5 to define default permissions for all authenticated users using the bash shell.\n\nAdd or edit the lines for the \"umask\" parameter in the \"/etc/bashrc\" file to \"077\":\n\numask 077","ccis":["CCI-000366"]},{"vulnId":"V-282754","ruleId":"SV-282754r1201614_rule","severity":"medium","ruleTitle":"TOSS 5 must define default permissions for the c shell.","description":"The \"umask\" controls the default access mode assigned to newly created files. A umask of 077 limits new files to mode 600 or less permissive. Although \"umask \"can be represented as a four-digit number, the first digit representing special access modes is typically ignored or required to be \"0\". This requirement applies to the globally configured system defaults and the local interactive user defaults for each account on the system.","checkContent":"Verify the \"umask\" setting is configured correctly in the \"/etc/csh.cshrc\" file using the following command:\n\nNote: If the value of the \"umask\" parameter is set to \"000\" \"/etc/csh.cshrc\" file, the severity is raised to a CAT I.\n\n$ grep umask /etc/csh.cshrc \n\numask 077\numask 077  \n\nIf the value for the \"umask\" parameter is not \"077\", or the \"umask\" parameter is missing or is commented out, this is a finding.","fixText":"Configure TOSS 5 to define default permissions for all authenticated users using the c shell.\n\nAdd or edit the lines for the \"umask\" parameter in the \"/etc/csh.cshrc\" file to \"077\":\n\numask 077","ccis":["CCI-000366"]},{"vulnId":"V-282755","ruleId":"SV-282755r1201616_rule","severity":"medium","ruleTitle":"TOSS 5 must define default permissions for all authenticated users in such a way that the user can only read and modify their own files.","description":"Setting the most restrictive default permissions ensures that when new accounts are created, they do not have unnecessary access.","checkContent":"Note: If the value of the \"UMASK\" parameter is set to \"000\" in \"/etc/login.defs\" file, the severity is raised to a CAT I.\n\nVerify TOSS 5 defines default permissions for all authenticated users in such a way that the user can only read and modify their own files using the following command:\n\n# grep -i umask /etc/login.defs\n\nUMASK 077\n\nIf the value for the \"UMASK\" parameter is not \"077\", or the \"UMASK\" parameter is missing or is commented out, this is a finding.","fixText":"Configure TOSS 5 to define default permissions for all authenticated users in such a way that the user can only read and modify their own files.\n\nAdd or edit the lines for the \"UMASK\" parameter in the \"/etc/login.defs\" file to \"077\":\n\nUMASK 077","ccis":["CCI-000366"]},{"vulnId":"V-282756","ruleId":"SV-282756r1201618_rule","severity":"medium","ruleTitle":"TOSS 5 must define default permissions for the system default profile.","description":"The \"umask\" controls the default access mode assigned to newly created files. A umask of 077 limits new files to mode 600 or less permissive. Although \"umask \"can be represented as a four-digit number, the first digit representing special access modes is typically ignored or required to be \"0\". This requirement applies to the globally configured system defaults and the local interactive user defaults for each account on the system.","checkContent":"Note: If the value of the \"umask\" parameter is set to \"000\" \"/etc/profile\" file, the severity is raised to a CAT I.\n\nVerify the \"umask\" setting is configured correctly in the \"/etc/profile\" file using the following command:\n\n$ grep umask /etc/profile \n\numask 077\n\nIf the value for the \"umask\" parameter is not \"077\", or the \"umask\" parameter is missing or is commented out, this is a finding.","fixText":"Configure TOSS 5 to define default permissions for all authenticated users in such a way that the user can only read and modify their own files.\n\nAdd or edit the lines for the \"umask\" parameter in the \"/etc/profile\" file to \"077\":\n\numask 077","ccis":["CCI-000366"]},{"vulnId":"V-282757","ruleId":"SV-282757r1201251_rule","severity":"high","ruleTitle":"TOSS 5 must not allow an unattended or automatic logon to the system.","description":"Failure to restrict system access to authenticated users negatively impacts operating system security.","checkContent":"Verify TOSS does not allow an unattended or automatic logon to the system via a graphical user interface.\n\nNote: This requirement assumes the use of the TOSS default graphical user interface, Gnome Shell. If the system does not have any graphical user interface installed, this requirement is not applicable.\n\nCheck for the value of the \"AutomaticLoginEnable\" in the \"/etc/gdm/custom.conf\" file using the following command:\n\n$ sudo grep -i automaticloginenable /etc/gdm/custom.conf\nAutomaticLoginEnable=false\n\nAutomatic logon as an authorized user allows access to any user with physical access to the operating system.\n\nIf the value of \"AutomaticLoginEnable\" is missing or is not set to \"false\", this is a finding.","fixText":"Configure TOSS to not allow an unattended or automatic logon to the system via a graphical user interface.\n\nAdd or edit the line for the \"AutomaticLoginEnable\" parameter in the [daemon] section of the \"/etc/gdm/custom.conf\" file to \"false\":\n\n[daemon]\nAutomaticLoginEnable=false","ccis":["CCI-000366"]},{"vulnId":"V-282758","ruleId":"SV-282758r1201254_rule","severity":"medium","ruleTitle":"TOSS 5 must not allow users to override SSH environment variables.","description":"SSH environment options potentially allow users to bypass access restriction in some configurations.","checkContent":"Verify unattended or automatic logon via SSH is disabled using the following command:\n\n$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\\r' | tr '\\n' ' ' | xargs sudo grep -iH '^\\s*permituserenvironment'\n\nPermitUserEnvironment no\n\nIf \"PermitUserEnvironment\" is set to \"yes\", is missing completely, or is commented out, this is a finding.","fixText":"Configure the TOSS 5 SSH daemon to not allow unattended or automatic logon to the system.\n\nAdd or edit the following line in the \"/etc/ssh/sshd_config\" file:\n\nPermitUserEnvironment no\n\nRestart the SSH daemon for the setting to take effect:\n\n$ sudo systemctl restart sshd.service","ccis":["CCI-000366"]},{"vulnId":"V-282759","ruleId":"SV-282759r1201257_rule","severity":"high","ruleTitle":"TOSS 5 must not allow unattended or automatic logon via the graphical user interface.","description":"Failure to restrict system access to authenticated users negatively impacts operating system security.","checkContent":"Verify TOSS 5 does not allow an unattended or automatic logon to the system via a graphical user interface.\n\nNote: This requirement assumes the use of the TOSS 5 default graphical user interface, the GNOME desktop environment. If the system does not have any graphical user interface installed, this requirement is not applicable.\n\nCheck for the value of the \"AutomaticLoginEnable\" in the \"/etc/gdm/custom.conf\" file using the following command:\n\n$ grep -i automaticlogin /etc/gdm/custom.conf\n\n[daemon]\nAutomaticLoginEnable=false\n\nIf the value of \"AutomaticLoginEnable\" is not set to \"false\", this is a finding.","fixText":"Configure the GNOME desktop display manager to disable automatic login.\n\nSet \"AutomaticLoginEnable\" to \"false\" in the [daemon] section in \"/etc/gdm/custom.conf\". For example:\n\n[daemon]\nAutomaticLoginEnable=false","ccis":["CCI-000366"]},{"vulnId":"V-282760","ruleId":"SV-282760r1201260_rule","severity":"medium","ruleTitle":"All TOSS local interactive user home directories must have mode 0770 or less permissive.","description":"Users' home directories/folders may contain information of a sensitive nature. Nonprivileged users should coordinate any information sharing with a system administrator (SA) through shared resources.","checkContent":"Verify TOSS 5 limits the ability of nonprivileged users to grant other users direct access to the contents of their home directories/folders.\n\nEnsure the user permissions on all user home directories is set to 770 permissions using the following command:\n\n$ find $(awk -F: '($3>=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd) -maxdepth 0 -not -perm 770 -ls  2> /dev/null\n\nIf there is any output, this is a finding.","fixText":"Change the mode of interactive user's home directories to \"0770.\" using the following command:\n\nNote: The example will be for the user \"smithj.\"\n\n$ sudo chmod 0770 /home/smithj","ccis":["CCI-000366"]},{"vulnId":"V-282764","ruleId":"SV-282764r1201597_rule","severity":"medium","ruleTitle":"TOSS 5 must, for password-based authentication, verify when users create or update passwords the passwords are not found on the list of commonly-used, expected, or compromised passwords in IA-5 (1) (a).","description":"Password-based authentication applies to passwords regardless of whether they are used in single-factor or multifactor authentication. Long passwords or passphrases are preferable over shorter passwords. Enforced composition rules provide marginal security benefits while decreasing usability. However, organizations may choose to establish certain rules for password generation (e.g., minimum character length for long passwords) under certain circumstances and can enforce this requirement in IA-5(1)(h). Account recovery can occur, for example, in situations when a password is forgotten. Cryptographically protected passwords include salted one-way cryptographic hashes of passwords. The list of commonly used, compromised, or expected passwords includes passwords obtained from previous breach corpuses, dictionary words, and repetitive or sequential characters. The list includes context-specific words, such as the name of the service, username, and derivatives thereof.","checkContent":"Verify TOSS 5 is configured not allow users create or update passwords with passwords that are found on the list of commonly-used, expected, or compromised passwords using the following command:\n\n$ sudo grep pam_pwquality /etc/pam.d/system-auth\n\nor\n\n$ sudo grep pam_pwquality /etc/pam.d/password-auth\n\npassword    requisite                                    pam_pwquality.so local_users_only\n\nIf the parameter \"pam_pwquality\" is not set and required in at least  one of the pam stacks, this is a finding.","fixText":"Configure TOSS 5 to verify when users create or update passwords, the passwords are not found on a list of commonly-used, expected, or compromised passwords by adding the following to the /etc/pam.d/password-auth and /etc/pam.d/system-auth files:\n\npassword    requisite                                    pam_pwquality.so local_users_only","ccis":["CCI-004061"]},{"vulnId":"V-282768","ruleId":"SV-282768r1201307_rule","severity":"medium","ruleTitle":"TOSS 5 must accept only external credentials that are NIST compliant.","description":"Acceptance of only NIST-compliant external authenticators applies to organizational systems that are accessible to the public (e.g., public-facing websites). External authenticators are issued by nonfederal government entities and are compliant with [SP 800-63B]. Approved external authenticators meet or exceed the minimum federal governmentwide technical, security, privacy, and organizational maturity requirements. Meeting or exceeding federal requirements allows federal government relying parties to trust external authenticators in connection with an authentication transaction at a specified authenticator assurance level.","checkContent":"Sites must document external authenticators being used and that they are NIST compliant.\n\nThe following command will verify that Kerberos is functional and produce the list of signing hosts:\n\n$ sudo klist -ekt /etc/krb5.keytab\n\nIf external authenticators are being use that are not documented and are not NIST compliant, this is a finding.","fixText":"Document all NIST-compliant external authenticators in use.","ccis":["CCI-004083"]},{"vulnId":"V-282770","ruleId":"SV-282770r1201607_rule","severity":"medium","ruleTitle":"TOSS 5 must include only approved trust anchors in trust stores or certificate stores managed by the organization.","description":"Public key infrastructure (PKI) certificates are certificates with visibility external to organizational systems and certificates related to the internal operations of systems, such as application-specific time services. In cryptographic systems with a hierarchical structure, a trust anchor is an authoritative source (i.e., a certificate authority) for which trust is assumed and not derived. A root certificate for a PKI system is an example of a trust anchor. A trust store or certificate store maintains a list of trusted root certificates.","checkContent":"Verify TOSS 5 only uses trusted certificates using the following command:\n\n $ sudo trust list --filter=blocklist\n\n    type: certificate\n    label: Explicitly Distrust DigiNotar Root CA\n    trust: distrusted\n    category: authority\n\nIf the \"label\" field is not configured with \"Explicitly Distrust DigiNotar Root CA\", if any other labels are present, the line is commented out, or the line is missing, this is a finding.","fixText":"Configure TOSS 5 to include only approved trust anchors in trust stores or certificate stores by adding certificates using the following command:\n\n$ sudo cp /path/to/new-ca-cert.pem /etc/pki/ca-trust/source/anchors/\n\n$ sudo /bin/update-ca-trust","ccis":["CCI-004909"]},{"vulnId":"V-282771","ruleId":"SV-282771r1201293_rule","severity":"medium","ruleTitle":"TOSS 5 must provide protected storage for cryptographic keys with organization-defined safeguards and/or hardware protected key store.","description":"A Trusted Platform Module (TPM) is an example of a hardware-protected data store that can be used to protect cryptographic keys.","checkContent":"Verify TOSS 5 is using the TPM 2.0 hardware with the following command (if TPM 2.0 hardware is available):\n\n$sudo tpm2_pcrread\n\n<multiple SHA keys>\n\nIf the command returns a status of \"ERROR\", and TPM 2.0 hardware is available, this is a finding.","fixText":"Configure TOSS 5 to provide protected storage for cryptographic keys by enabling TPM hardware, if available.","ccis":["CCI-004910"]},{"vulnId":"V-282772","ruleId":"SV-282772r1201296_rule","severity":"medium","ruleTitle":"TOSS 5 must securely compare internal information system clocks at least every 24 hours.","description":"Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate.\n\nSynchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network.\n\nDepending on the infrastructure being used the \"pool\" directive may not be supported.\n\nAuthoritative time sources include the United States Naval Observatory (USNO) time servers, a time server designated for the appropriate DOD network (NIPRNet/SIPRNet), and/or the Global Positioning System (GPS).","checkContent":"Verify TOSS 5 is securely comparing internal information system clocks at least every 24 hours with an NTP server with the following commands:\n\n$ sudo grep maxpoll /etc/chrony.conf\n\nserver 0.us.pool.ntp.mil iburst maxpoll 16\n\nIf the \"maxpoll\" option is set to a number greater than 16 or the line is commented out, this is a finding.\n\nVerify the \"chrony.conf\" file is configured to an authoritative DOD or other U.S. Government time source using the following command:\n\n$ sudo grep -i server /etc/chrony.conf\nserver 0.us.pool.ntp.mil \n\nIf the parameter \"server\" is not set or is not set to an authoritative DOD or other U.S. Government time source, this is a finding.","fixText":"Configure TOSS 5 to securely compare internal information system clocks at least every 24 hours with an appropriate NTP server by adding/modifying the following line in the \"/etc/chrony.conf file\":\n\nserver [ntp.server.name] iburst maxpoll 16","ccis":["CCI-004922"]}]}