Chapter 2. Installing the system in FIPS mode (2024)

download

PDF

To enable the cryptographic module self-checks mandated by the Federal Information Processing Standard (FIPS) 140-3, you must operate RHEL 8 in FIPS mode. Starting the installation in FIPS mode is the recommended method if you aim for FIPS compliance.

2.1.Federal Information Processing Standards 140 and FIPS mode

The Federal Information Processing Standards (FIPS) Publication 140 is a series of computer security standards developed by the National Institute of Standards and Technology (NIST) to ensure the quality of cryptographic modules. The FIPS 140 standard ensures that cryptographic tools implement their algorithms correctly. Runtime cryptographic algorithm and integrity self-tests are some of the mechanisms to ensure a system uses cryptography that meets the requirements of the standard.

To ensure that your RHEL system generates and uses all cryptographic keys only with FIPS-approved algorithms, you must switch RHEL to FIPS mode.

You can enable FIPS mode by using one of the following methods:

If you aim for FIPS compliance, start the installation in FIPS mode. This avoids cryptographic key material regeneration and reevaluation of the compliance of the resulting system associated with converting already deployed systems.

To operate a FIPS-compliant system, create all cryptographic key material in FIPS mode. Furthermore, the cryptographic key material must never leave the FIPS environment unless it is securely wrapped and never unwrapped in non-FIPS environments.

Switching the system to FIPS mode by using the fips-mode-setup tool does not guarantee compliance with the FIPS 140 standard. Re-generating all cryptographic keys after setting the system to FIPS mode may not be possible. For example, in the case of an existing IdM realm with users' cryptographic keys you cannot re-generate all the keys. If you cannot start the installation in FIPS mode, always enable FIPS mode as the first step after the installation, before you make any post-installation configuration steps or install any workloads.

The fips-mode-setup tool also uses the FIPS system-wide cryptographic policy internally. But on top of what the update-crypto-policies --set FIPS command does, fips-mode-setup ensures the installation of the FIPS dracut module by using the fips-finish-install tool, it also adds the fips=1 boot option to the kernel command line and regenerates the initial RAM disk.

Furthermore, enforcement of restrictions required in FIPS mode depends on the contents of the /proc/sys/crypto/fips_enabled file. If the file contains 1, RHEL core cryptographic components switch to mode, in which they use only FIPS-approved implementations of cryptographic algorithms. If /proc/sys/crypto/fips_enabled contains 0, the cryptographic components do not enable their FIPS mode.

The FIPS system-wide cryptographic policy helps to configure higher-level restrictions. Therefore, communication protocols supporting cryptographic agility do not announce ciphers that the system refuses when selected. For example, the ChaCha20 algorithm is not FIPS-approved, and the FIPS cryptographic policy ensures that TLS servers and clients do not announce the TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS cipher suite, because any attempt to use such a cipher fails.

If you operate RHEL in FIPS mode and use an application providing its own FIPS-mode-related configuration options, ignore these options and the corresponding application guidance. The system running in FIPS mode and the system-wide cryptographic policies enforce only FIPS-compliant cryptography. For example, the Node.js configuration option --enable-fips is ignored if the system runs in FIPS mode. If you use the --enable-fips option on a system not running in FIPS mode, you do not meet the FIPS-140 compliance requirements.

Note

Even though the RHEL 8.6 (and newer) kernel in FIPS mode is designed to be compliant with FIPS 140-3, it is not yet certified by the National Institute of Standards and Technology (NIST) Cryptographic Module Validation Program (CMVP). The latest certified kernel module is the updated RHEL 8.5 kernel after the RHSA-2021:4356 advisory update. That certification applies to the FIPS 140-2 standard. You cannot choose whether a cryptographic module conforms to FIPS 140-2 or 140-3. The FIPS 140-2 and FIPS 140-3 section in the Compliance Activities and Government Standards Knowledgebase article provides an overview of the validation status of cryptographic modules for selected RHEL minor releases.

2.2.Installing the system with FIPS mode enabled

To enable the cryptographic module self-checks mandated by the Federal Information Processing Standard (FIPS) 140, enable FIPS mode during the system installation.

Important

Only enabling FIPS mode during the RHEL installation ensures that the system generates all keys with FIPS-approved algorithms and continuous monitoring tests in place.

Warning

After you complete the setup of FIPS mode, you cannot switch off FIPS mode without putting the system into an inconsistent state. If your scenario requires this change, the only correct way is a complete re-installation of the system.

Procedure

  1. Add the fips=1 option to the kernel command line during the system installation.
  2. During the software selection stage, do not install any third-party software.
  3. After the installation, the system starts in FIPS mode automatically.

Verification

  • After the system starts, check that FIPS mode is enabled:

    $ fips-mode-setup --checkFIPS mode is enabled.

Additional resources

  • Editing boot options section in the Performing an advanced RHEL installation document

2.3.Additional resources

  • Switching the system to FIPS mode
  • Enabling FIPS mode in a container
  • List of RHEL 8 applications using cryptography that is not compliant with FIPS 140-2

Chapter 2. Installing the system in FIPS mode (2024)

FAQs

How do I get my computer out of FIPS mode? ›

In Security Settings, expand Local Policies, and then click Security Options. Under Policy in the right pane, double-click System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing, and then click Disabled.

What is FIPS mode? ›

FIPS (Federal Information Processing Standards) are a set of standards that describe document processing, encryption algorithms and other information technology standards for use within U.S. non-military government agencies and by U.S. government contractors and vendors who work with the agencies.

How to bypass FIPS mode? ›

About exiting FIPS mode

For the device to exit FIPS mode, you can use one of the following reboot methods: Automatic reboot—The system automatically creates a default non-FIPS configuration file named non-fips-startup. cfg, specifies the file as the startup configuration file, and reboots to enter non-FIPS mode.

How to install FIPS? ›

Set up FIPS mode
  1. Obtain and install OpenSSL. yum install openssl.
  2. Set CN to FQDN . Enter the command ping -a IP_ADDR to get the FQDN of the server.
  3. Set subjectAltName with the DNS and IP address of the web server.

How do I turn off FIPS? ›

Enabling or Disabling FIPS Mode via Group Policy Editor:
  1. Press Windows Key+R to open the Run dialog.
  2. Type “gpedit. ...
  3. Navigate to “Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options” in the Group Policy Editor.

How do I change FIPS mode? ›

NOTE: When enabling FIPS mode on the device, review all the warning messages that are displayed on the SMS.
  1. On the SMS, select Devices > All Devices > device, and then click Device Configuration.
  2. Select FIPS Settings.
  3. Select FIPS Mode Enabled.
  4. Click OK.

How do I know if FIPS mode is enabled? ›

Open up your registry editor and navigate to HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled. If the Enabled value is 0 then FIPS is not enabled. If the Enabled value is 1 then FIPS is enabled.

What does FIPS do for Windows? ›

The Federal Information Processing Standard (FIPS) Publication 140 is a U.S. government standard that defines the minimum-security requirements for cryptographic modules in IT products. This topic introduces FIPS 140 validation for the Windows cryptographic modules.

Should I turn on FIPS? ›

You shouldn't enable this setting unless you're using a government computer and are forced to. If you do enable this setting, some consumer applications may actually ask you to disable FIPS mode so they can function properly.

What causes a FIPS error? ›

Someone installing an EMG patch that is not FIPS certified can cause an error state. Failure of boot time integrity checks can cause an error state.

How do I enable FIPS mode on Windows Server? ›

To set the Windows server mode to FIPS, perform the following steps:
  1. Open the Run application, and enter the regedit command to open the Windows registry key. Enable the FIPS algorithm policy key. ...
  2. Verify that FIPS mode is enabled. Open the Run application and enter the gpedit. ...
  3. Select Enabled.
  4. Restart the OS.

How do I enable FIPS transfer mode? ›

To activate FIPS Mode:
  1. From the Tools menu, select Options. The Program Options dialog opens.
  2. In the left pane, select FIPS.
  3. Select the Operate cryptographic module in FIPS 140-2 mode option. ...
  4. Restart (close, then re-open) the WS_FTP application.

What is FIPS System? ›

The Federal Information Processing Standards (FIPS) of the United States are a set of publicly announced standards that the National Institute of Standards and Technology (NIST) has developed for use in computer situs of non-military United States government agencies and contractors.

Why we're not recommending FIPS mode? ›

The non-FIPS versions have been available much longer (and so are used more widely) and are usually much faster. If FIPS mode is enabled, the non-FIPS algorithms throw an error and the application fails. So basically, if FIPS mode is enabled, most applications using cryptographic functionality fail.

What is FIPS connection? ›

The Federal Information Processing Standard (FIPS) Publication 140-3 is a US and Canadian government standard that specifies the security requirements for cryptographic modules that protect sensitive information.

What is FIPS computer? ›

The Federal Information Processing Standards (FIPS) of the United States are a set of publicly announced standards that the National Institute of Standards and Technology (NIST) has developed for use in computer systems of non-military United States government agencies and contractors.

How do I disable FIPS Bitlocker? ›

Expand Computer Configuration, expand Windows Settings, expand Security Settings, expand Local Policies, and then click Security Options. In the details pane, double-click System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing, click Disable, and then, click OK.

Top Articles
Latest Posts
Article information

Author: Nathanael Baumbach

Last Updated:

Views: 6492

Rating: 4.4 / 5 (55 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Nathanael Baumbach

Birthday: 1998-12-02

Address: Apt. 829 751 Glover View, West Orlando, IN 22436

Phone: +901025288581

Job: Internal IT Coordinator

Hobby: Gunsmithing, Motor sports, Flying, Skiing, Hooping, Lego building, Ice skating

Introduction: My name is Nathanael Baumbach, I am a fantastic, nice, victorious, brave, healthy, cute, glorious person who loves writing and wants to share my knowledge and understanding with you.