{"description": "Limit the key exchange algorithms to those  which are FIPS-approved.\nAdd or modify the following line in <tt>/etc/ssh/sshd_config</tt>\n<pre>KexAlgorithms ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256</pre>\nThis rule ensures that only the key exchange algorithms mentioned\nabove (or their subset) are configured for use, keeping the given\norder of algorithms.", "rationale": "FIPS-approved key exchange algorithms are required to be used.\nThe system will attempt to use the first algorithm presented by the client that matches\nthe server list. Listing the values \"strongest to weakest\" is a method to ensure the use\nof the strongest algorithm available to secure the SSH connection.", "severity": "medium", "references": {"nist": ["AC-17(2)"], "srg": ["SRG-OS-000250-GPOS-00093"], "stigid": ["UBTU-22-255060"], "stigref": ["SV-260533r958408_rule"]}, "control_references": {"stigid": ["UBTU-22-255060"]}, "components": [], "identifiers": {}, "ocil_clause": "KexAlgorithms option is commented out, contains non-approved algorithms, or the FIPS-approved algorithms are not in the exact order", "ocil": "Only FIPS-approved key exchange algorithms must be used. To verify that only FIPS-approved\nkey exchange algorithms are in use, run the following command:\n<pre>$ sudo grep -i kexalgorithms /etc/ssh/sshd_config</pre>\nThe output should contain only following algorithms (or a subset) in the exact order:\n<pre>KexAlgorithms ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256</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. See <b>\n<a xmlns='http://www.w3.org/1999/xhtml' href='https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf'>https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf</a></b>\nTo meet this requirements, the system has to have cryptographic software\nprovided by a vendor that has undergone this certification. This means\nproviding documentation, test results, design information, and independent\nthird party 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": {}, "platform": null, "platforms": [], "sce_metadata": {}, "inherited_platforms": ["system_with_kernel"], "cpe_platform_names": [], "inherited_cpe_platform_names": ["system_with_kernel"], "bash_conditional": null, "fixes": {}, "title": "Use Only FIPS 140-2 Validated Key Exchange Algorithms", "definition_location": "/aptdata/openscap/scap-security-guide/linux_os/guide/services/ssh/ssh_server/sshd_use_approved_kex_ordered_stig/rule.yml", "template": null}