{"description": "Crypto Policies provide a centralized control over crypto algorithms usage of many packages.\nOpenSSH is supported by system crypto policy, but the OpenSSH configuration may be\nset up incorrectly.\n\nTo check that Crypto Policies settings for ciphers are configured correctly, ensure that\n<tt>/etc/crypto-policies/back-ends/openssh.config</tt> contains the following\nline and is not commented out:\n<pre>Ciphers <sub idref=\"sshd_approved_ciphers\" /></pre>", "rationale": "Overriding the system crypto policy makes the behavior of the OpenSSH client\nviolate expectations, and makes system configuration more fragmented. By\nspecifying a cipher list with the order of ciphers being in a \u201cstrongest to\nweakest\u201d orientation, the system will automatically attempt to use the\nstrongest cipher for securing SSH connections.", "severity": "high", "references": {"nist": ["AC-17(2)"], "srg": ["SRG-OS-000033-GPOS-00014", "SRG-OS-000125-GPOS-00065", "SRG-OS-000250-GPOS-00093", "SRG-OS-000393-GPOS-00173", "SRG-OS-000394-GPOS-00174", "SRG-OS-000423-GPOS-00187"]}, "control_references": {}, "components": [], "identifiers": {}, "ocil_clause": "Crypto Policy for OpenSSH client is not configured correctly", "ocil": "To verify if the OpenSSH client uses defined Cipher suite in the Crypto Policy, run:\n<pre>$ grep -i ciphers /etc/crypto-policies/back-ends/openssh.config</pre>\nand verify that the line matches:\n<pre>Ciphers <sub idref=\"sshd_approved_ciphers\" /></pre>", "oval_external_content": null, "fixtext": "", "checktext": "", "vuldiscussion": "", "srg_requirement": "", "warnings": [{"general": "The system needs to be rebooted for these changes to take effect."}, {"regulatory": "System Crypto Modules must be provided by a vendor that undergoes\nFIPS-140 certifications.\nFIPS-140 is applicable to all Federal agencies that use\ncryptographic-based security systems to protect sensitive information\nin computer and telecommunication systems (including voice systems) as\ndefined in Section 5131 of the Information Technology Management Reform\nAct of 1996, Public Law 104-106. This standard shall be used in\ndesigning and implementing cryptographic modules that Federal\ndepartments and agencies operate or are operated for them under\ncontract.\nTo meet this, the system has to have cryptographic software provided by\na vendor that has undergone this certification. This means providing\ndocumentation, test results, design information, and independent third\nparty review by an accredited lab. While open source software is\ncapable of meeting this, it does not meet FIPS-140 unless the vendor\nsubmits to this process."}], "conflicts": [], "requires": [], "policy_specific_content": {"stig": {"srg_requirement": "The Ubuntu 22.04 SSH client must be configured to use only DOD-approved encryption ciphers employing FIPS 140-3 validated cryptographic hash algorithms to protect the confidentiality of SSH client connections.", "vuldiscussion": "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\nUbuntu 22.04 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/openssh.config file. ", "checktext": "Verify the SSH client is configured to use only ciphers employing FIPS 140-3 approved algorithms.\n\nTo verify the ciphers in the systemwide SSH configuration file, use the following command:\n\n$ grep -i Ciphers /etc/crypto-policies/back-ends/openssh.config\n\nCiphers aes256-gcm@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,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr\", or they are missing or commented out, this is a finding.", "fixtext": "Configure the Ubuntu 22.04 SSH client to use only ciphers employing FIPS 140-3 approved algorithms.\n\nReinstall crypto-policies with the following command:\n\n$ sudo dnf -y reinstall crypto-policies\n\nSet the crypto-policy to FIPS with the following command:\n\n$ sudo update-crypto-policies --set FIPS\n\nSetting system policy to FIPS\n\nNote: Systemwide crypto policies are applied on application startup. It is recommended to restart the system for the change of policies to fully take place. "}}, "platform": null, "platforms": [], "sce_metadata": {}, "inherited_platforms": [], "cpe_platform_names": [], "inherited_cpe_platform_names": [], "bash_conditional": null, "fixes": {}, "title": "Configure SSH Client to Use FIPS 140 Validated Ciphers: openssh.config", "definition_location": "/aptdata/openscap/scap-security-guide/linux_os/guide/system/software/integrity/crypto/harden_sshd_ciphers_openssh_conf_crypto_policy/rule.yml", "template": null}