RHEL 9 must implement DOD-approved TLS encryption in the GnuTLS package.

STIG ID: RHEL-09-672030  |  SRG: SRG-OS-000250-GPOS-00093 | Severity: high |  CCI: CCI-001453,CCI-002418

Vulnerability Discussion

Without cryptographic integrity protections, information can be altered by unauthorized users without detection.

Transport 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.

Cryptographic 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.

Satisfies: SRG-OS-000250-GPOS-00093, SRG-OS-000423-GPOS-00187

Check

Verify if GnuTLS uses defined DOD-approved TLS Crypto Policy with the following command:

$ update-crypto-policies --show
FIPS

If the system wide crypto policy is not set to "FIPS", this is a finding.

Fix

Configure the RHEL 9 GnuTLS library to use only NIST-approved encryption with the following steps to enable FIPS mode:

$ sudo fips-mode-setup --enable

A reboot is required for the changes to take effect.