FIPS 140-3 Compliance in Oracle Linux

Describes Oracle Linux security configuration and guidance.

  • Oracle Linux provides a set of cryptographic libraries, services, and user-level cryptographic applications that are compliant with the Federal Information Processing Standard (FIPS) Publication 140-2.

    FIPS Publication 140-2, Security Requirements for Cryptographic Modules, specifies the security requirements that must be satisfied by a cryptographic module that's used within a security system to protect sensitive, but unclassified information. The NIST/CSE Cryptographic Module Validation Program (CMVP) validates cryptographic modules to FIPS 140-2. Validated products are accepted by the Federal agencies of both the USA and Canada for the protection of sensitive or designated information.

    Note

    CMVP started accepting FIPS 140-3 submissions on September 22, 2020. Existing FIPS 140-2 validated modules remain compliant until they're sunset on September 21, 2026.

    Configuring FIPS Mode in Oracle Linux 8

    FIPS mode can be configured during the initial installation of Oracle Linux 8 or after installation, as described in the following sections.

    Installing Oracle Linux 8 in FIPS Mode

    Add fips=1 to the kernel command line during system installation to automatically configure a new Oracle Linux 8 system to run in FIPS mode from the first boot.

    The main benefit of setting FIPS mode during the installation stage is that Oracle Linux 8 enforces the use of strong cryptographic algorithms that are used to secure application data.

    To verify that FIPS mode is enabled, run the following command after Oracle Linux 8 has been installed:

    sudo fips-mode-setup --check
    Note

    The method for enabling and disabling FIPS mode in this release has changed significantly from the method that was used in previous Oracle Linux releases. In particular, the dracut-fips package no longer exists and doesn't need to be enabled on Oracle Linux 8. Also, you no longer need to edit the GRUB configuration file.

    Enabling and Disabling FIPS Mode for Existing Oracle Linux 8 Installations

    You can configure a preexisting Oracle Linux 8 installation to run in FIPS mode by using the fips-mode-setup utility, which changes the system-wide cryptographic policy, installs the FIPS dracut module, regenerates the system ramdisk, and updates the kernel boot parameters.

    Note

    To enable FIPS mode in Oracle Linux containers, see the Managing Containers chapter in the Oracle Linux: Podman User's Guide.

    1. Enable FIPS mode:

      sudo fips-mode-setup --enable

      The following output is displayed:

      Kernel initramdisks are being regenerated. This might take some time.
      Setting system policy to FIPS
      Note: System-wide crypto policies are applied on application start-up.
      It is recommended to restart the system for the change of policies
      to fully take place.
      FIPS mode will be enabled.
      Please reboot the system for the setting to take effect.

      You must reboot the system for the setting to take effect.

      Note

      Running the previous command configures FIPS mode implicitly by setting the system-wide cryptographic policy to FIPS. Note that using the update-crypto-policies command to set FIPS mode isn't enough, as shown in the following output:

      sudo update-crypto-policies --set FIPS

      The following output is displayed:

      Warning: Using 'update-crypto-policies --set FIPS' is not sufficient for FIPS compliance.
      Use 'fips-mode-setup --enable' command instead.
    2. Verify that FIPS mode has been enabled correctly:

      sudo fips-mode-setup --check

      The following output is displayed:

      FIPS mode is enabled.
    3. To disable FIPS mode:

      sudo fips-mode-setup --disable

      The following output is displayed:

      Setting system policy to DEFAULT
      Note: System-wide crypto policies are applied on application start-up.
      It is recommended to restart the system for the change of policies
      to fully take place.
      FIPS mode will be disabled.
      Please reboot the system for the setting to take effect.

      You must reboot the system for the setting to take effect.

    For more information, see the fips-mode-setup(8) manual pages.

    FIPS 140-2 Validated Modules in Oracle Linux 8

    The following sections describe how to review FIPS 140-2 certifications and install FIPS 140-2 validated cryptographic modules in Oracle Linux 8.

    Information About Modules That Have Received FIPS 140-2 Validation

    The Oracle FIPS Certifications website provides the following information for each module:

    • Name and description of the module.

    • Status of the FIPS 140-2 validation process.

      Important

      To achieve compliance with FIPS Publication 140-2, you must use the package version that the Security Policy document specifies for each respective module only.

    • Package version for the module.

    • Certificate number for the module.

    Note

    Although compliance with FIPS 140-2 requires that you must use the package version that was validated for each respective cryptographic module, it's considered good security practice to enable FIPS software update channels so that security patches can continue to be applied to those package versions. For more information, see Yum Repositories and ULN Channels for FIPS Validated Cryptographic Modules.

    Installing FIPS Validated Cryptographic Modules for Oracle Linux 8

    After you enable FIPS mode on Oracle Linux 8, you can then install FIPS validated cryptographic modules, as required. For information about the software channels that provide packages containing FIPS validated cryptographic modules, see Yum Repositories and ULN Channels for FIPS Validated Cryptographic Modules.

    The following information applies to systems that are running a fully patched Oracle Linux 8 release that can install and enable FIPS cryptographic modules.

    To install FIPS validated cryptographic modules, see the "Life-Cycle Assurance" section of the Security Policy document for the FIPS module that you plan to install.

    The Security Policy document explains how to verify that the package is FIPS 140-2 validated, and how to configure the module for FIPS mode. See the Oracle FIPS Certifications website for the certificate number, which includes a link to the NIST FIPS 140-2 validation page. This page provides details about FIPS certification and the Security Policy document. The package versions that are listed reflect information that's found in the logical cryptographic boundary for the specific module.

    Yum Repositories and ULN Channels for FIPS Validated Cryptographic Modules

    The following are the dedicated Unbreakable Linux Network (ULN) channels and yum repository containing FIPS validated cryptographic modules for Oracle Linux 8:

    x86_64 Platform:

    • ol8_x86_64_u4_security_validation ULN channel

    • ol8_u4_security_validation yum repository

    aarch64 Platform:

    • ol8_aarch64_u4_security_validation ULN channel

    • ol8_u4_security_validation yum repository

    Note that the ol8_u4_security_validation yum repository is a common repository name for the x86_64 and aarch64 platforms. This repository contains FIPS validated packages for both platforms and security updates for the gnutls and libgcrypt packages.

    The epoch for gnutls and libgcrypt package updates with the _fips suffix is set to 10, so they supersede any versions of the same package that don't use the _fips suffix and don't contain FIPS 140-2 compliance patches. Security updates for other cryptographic modules modules are available from the corresponding yum repositories and ULN channels.

    Security updates for the UEK6 and UEK7 cryptographic modules are available in the corresponding yum repository and ULN channel. For more information, see the Unbreakable Enterprise Kernel documentation.

    For more information about how to manage yum repositories and ULN channels, see Oracle Linux: Managing Software on Oracle Linux.

    For specific instructions on installing FIPS validated cryptographic modules, see Installing FIPS Validated Cryptographic Modules for Oracle Linux 8.

  • Oracle Linux provides a set of cryptographic libraries, services, and user-level cryptographic applications that are compliant with the Federal Information Processing Standard (FIPS) Publication 140-3.

    FIPS Publication 140-3, Security Requirements for Cryptographic Modules, specifies the security requirements that must be satisfied by a cryptographic module that's used within a security system to protect sensitive, but unclassified information. The NIST/CSE Cryptographic Module Validation Program (CMVP) validates cryptographic modules to FIPS 140-3. Validated products are accepted by the Federal agencies of both the USA and Canada for the protection of sensitive or designated information.

    Configuring FIPS Mode in Oracle Linux 9

    FIPS mode can be configured during the initial installation of Oracle Linux 9 or after installation, as described in the following sections.

    Installing Oracle Linux 9 in FIPS Mode

    Add fips=1 to the kernel command line during system installation to automatically configure a new Oracle Linux 9 system to run in FIPS mode from the first boot.

    The main benefit of setting FIPS mode during the installation stage is that Oracle Linux 9 enforces the use of strong cryptographic algorithms that are used to secure application data.

    To verify that FIPS mode is enabled, run the following command after Oracle Linux 9 has been installed:

    sudo fips-mode-setup --check

    Enabling and Disabling FIPS Mode for Existing Oracle Linux 9 Installations

    You can configure a preexisting Oracle Linux 9 installation to run in FIPS mode by using the fips-mode-setup utility, which changes the system-wide cryptographic policy, installs the FIPS dracut module, regenerates the system ramdisk, and updates the kernel boot parameters.

    Note

    To enable FIPS mode in Oracle Linux containers, see the Managing Containers chapter in the Oracle Linux: Podman User's Guide.

    1. Enable FIPS mode:

      sudo fips-mode-setup --enable

      The following output is displayed:

      Kernel initramdisks are being regenerated. This might take some time.
      Setting system policy to FIPS
      Note: System-wide crypto policies are applied on application start-up.
      It is recommended to restart the system for the change of policies
      to fully take place.
      FIPS mode will be enabled.
      Please reboot the system for the setting to take effect.

      You must reboot the system for the setting to take effect.

    2. Verify that FIPS mode has been enabled correctly:

      sudo fips-mode-setup --check

      The following output is displayed:

      FIPS mode is enabled.
    3. To disable FIPS mode:

      sudo fips-mode-setup --disable

      The following output is displayed:

      Setting system policy to DEFAULT
      Note: System-wide crypto policies are applied on application start-up.
      It is recommended to restart the system for the change of policies
      to fully take place.
      FIPS mode will be disabled.
      Please reboot the system for the setting to take effect.

      You must reboot the system for the setting to take effect.

    For more information, see the fips-mode-setup(8) manual pages.

    FIPS 140-3 Validated Modules in Oracle Linux 9

    The following sections describe how to review FIPS 140-3 certifications and install FIPS 140-3 validated cryptographic modules in Oracle Linux 9.

    Information About Modules That Have Received FIPS 140-3 Validation

    The Oracle FIPS Certifications website provides the following information for each module:

    • Name and description of the module.

    • Status of the FIPS 140-3 validation process.

      Important

      To achieve compliance with FIPS Publication 140-3, you must use the package version that the Security Policy document specifies for each respective module only.

    • Package version for the module.

    • Certificate number for the module.

    Note

    Although compliance with FIPS 140-3 requires that you must use the package version that was validated for each respective cryptographic module, it's considered good security practice to enable FIPS software update channels so that security patches can continue to be applied to those package versions. For more information, see Yum Repositories and ULN Channels for FIPS Validated Cryptographic Modules.

    Installing FIPS Validated Cryptographic Modules for Oracle Linux 9

    After you enable FIPS mode on Oracle Linux 9, you can then install FIPS validated cryptographic modules, as required. For information about the software channels that provide packages containing FIPS validated cryptographic modules, see Yum Repositories and ULN Channels for FIPS Validated Cryptographic Modules.

    The following information applies to systems that are running a fully patched Oracle Linux 9 release that can install and enable FIPS cryptographic modules.

    To install FIPS validated cryptographic modules, see the "Life-Cycle Assurance" section of the Security Policy document for the FIPS module that you plan to install.

    The Security Policy document explains how to verify that the package is FIPS 140-3 validated, and how to configure the module for FIPS mode. See the Oracle FIPS Certifications website for the certificate number, which includes a link to the NIST FIPS 140-3 validation page. This page provides details about FIPS certification and the Security Policy document. The package versions that are listed reflect information that's found in the logical cryptographic boundary for the specific module.

    Yum Repositories and ULN Channels for FIPS Validated Cryptographic Modules

    The following are the dedicated Unbreakable Linux Network (ULN) channels and yum repository containing FIPS validated cryptographic modules for Oracle Linux 9:

    x86_64 Platform:

    • ol9_x86_64_u3_security_validation ULN channel

    • ol9_u3_security_validation yum repository

    aarch64 Platform:

    • ol9_aarch64_u3_security_validation ULN channel

    • ol9_u3_security_validation yum repository

    Note that the ol9_u3_security_validation yum repository is a common repository name for the x86_64 and aarch64 platforms. This repository contains FIPS validated packages for both platforms and security updates for those packages.

    The epoch for package updates with the _fips suffix is set to 10, so they supersede any versions of the same package that don't use the _fips suffix and don't contain FIPS 140-3 compliance patches.

    Security updates for the Oracle Linux 9 Kernel Crypto API Cryptographic Module (RHCK) are available in the "RHCK with Oracle fixes" yum repository with identifier ol9_MODRHCK and the corresponding ULN channel.

    Security updates for the UEK7 cryptographic module are available in the corresponding yum repository and ULN channel. For more information, see the Unbreakable Enterprise Kernel documentation.

    For more information about how to manage yum repositories and ULN channels, see Oracle Linux: Managing Software on Oracle Linux.

    For specific instructions on installing FIPS validated cryptographic modules, see Installing FIPS Validated Cryptographic Modules for Oracle Linux 9.

  • Oracle Linux provides a set of cryptographic libraries, services, and user-level cryptographic applications that are compliant with the Federal Information Processing Standard (FIPS) Publication 140-3.

    FIPS Publication 140-3, Security Requirements for Cryptographic Modules, specifies the security requirements that must be satisfied by a cryptographic module that's used within a security system to protect sensitive, but unclassified information. The NIST/CSE Cryptographic Module Validation Program (CMVP) validates cryptographic modules to FIPS 140-3. Validated products are accepted by the Federal agencies of both the USA and Canada for the protection of sensitive or designated information.

    Configuring FIPS Mode in Oracle Linux 10

    FIPS mode can be configured during the initial installation of Oracle Linux 10, as described in the following sections.

    Installing Oracle Linux 10 in FIPS Mode

    Add fips=1 to the kernel command line during system installation to automatically configure a new Oracle Linux 10 system to run in FIPS mode from the first boot.

    The main benefit of setting FIPS mode during the installation stage is that Oracle Linux 10 enforces the use of strong cryptographic algorithms that are used to secure application data.

    To verify that FIPS mode is enabled, run the following command after Oracle Linux 10 has been installed:

    cat /proc/sys/crypto/fips_enabled

    If the value returned is 1, then FIPS mode is enabled on the system.

    Note

    FIPS mode can't be enabled or disabled on existing Oracle Linux 10 installations. The fips-mode-setup tool has been deprecated and removed. To disable FIPS mode, reinstall Oracle Linux 10 without FIPS mode enabled.

    FIPS 140-3 Validated Modules in Oracle Linux 10

    The following sections describe how to review FIPS 140-3 validated cryptographic modules in Oracle Linux 10.

    Information About Modules That Have Received FIPS 140-3 Validation

    The Oracle FIPS Certifications website provides the following information for each module:

    • Name and description of the module.

    • Status of the FIPS 140-3 validation process.

      Important

      To achieve compliance with FIPS Publication 140-3, you must use the package version that the Security Policy document specifies for each respective module only.

    • Package version for the module.

    • Certificate number for the module.

    Note

    Although compliance with FIPS