6 Oracle Linux 7におけるFIPS 140-2準拠

警告:

Oracle Linux 7は現在延長サポート中です。詳細は、Oracle Linux拡張サポートおよびOracleオープン・ソース・サポート・ポリシーを参照してください。

できるだけ早くアプリケーションとデータをOracle Linux 8またはOracle Linux 9に移行してください。

米国連邦情報処理標準(FIPS)公開情報140-2は、機密性が高いものの機密指定されていないデータを保護するために米国政府と業界のワーキング・グループによって開発されたコンピュータ・セキュリティ標準です。NIST Computer Security Resource Centerで公式のFIPS公開情報を参照してください。

FIPS 140-2標準はセキュリティ要件を識別し、暗号化アルゴリズムが正しく実装されていることを検証するためのテストを指定します。FIPS標準の詳細およびその他の仕様については、FIPS PUB 140-2にある完全なFIPS 140-2標準を参照してください。

このドキュメントの手順では、FIPSモードのOracle Linux 7でFIPS準拠のアルゴリズムおよびプロトコルを使用できるようにする方法を示します。FIPS認証の現在のステータスの詳細は、Oracleセキュリティ評価を参照してください。

Oracle Linux 7でのFIPSモードの構成

FIPSモードは、次の項で説明するように、Oracle Linux 7の初期インストール後に構成できます。

Oracle LinuxでのFIPSモードの有効化 7

Oracle Linux 7が実行されているシステムでFIPS検証済暗号モジュールを使用する前に、FIPSモードを有効にする必要があります。次の手順では、FIPSの検証を受けた暗号アルゴリズムのみを使用するようにOracle Linuxを構成する方法を示します。

特に明記されている場合を除き、次の手順は、FIPSモードの有効化機能を含むOracle Linux 7リリースを実行しているシステムに適用されます。この機能を提供する最新のOracle Linux 7リリースにシステムを更新することをお薦めします。Oracle Linux 7.3より前の更新を実行しているOracle Linux 7システムでは、FIPS暗号モジュールを使用できません。

ノート:

Oracle LinuxコンテナでのFIPSモードの有効化の詳細は、Oracle Linux: Oracle Container Runtime for Dockerユーザー・ガイドのコンテナおよびイメージの操作に関する章を参照してください。

  1. システムで検証済FIPS暗号モジュールの機能を含むOracle Linux 7リリースが実行されていることを確認します。

  2. システムがUnbreakable Linux Network (ULN)に登録されていて、実行しているOracle Linux 7リリース用の適切なチャネルをサブスクライブしていることを確認します。Oracle Linux yumサーバーを使用している場合は、必要に応じて、適切なリポジトリ(1つまたは複数)を有効にします:

    1. x86_64プラットフォームでOracle Linux 7.8を実行している場合は、ol7_x86_64_u8_security_validationおよびol7_x86_64_latest ULNチャネルにサブスクライブします。

      aarch64プラットフォームでOracle Linux 7.8を実行している場合は、ol7_aarch64_u8_security_validationおよびol7_aarch64_latest ULNチャネルにサブスクライブします。

    2. Oracle Linux yumサーバーを使用している場合は、ol7_u8_security_validationおよびol7_latest yumリポジトリを有効にします。次に例を示します:
      sudo yum-config-manager --enable ol7_u8_security_validation ol7_latest

    詳細は、「FIPS検証済暗号化モジュールのYumリポジトリおよびULNチャネル」を参照してください。

  3. dracut-fipsパッケージをインストールします。
    sudo yum install dracut-fips
    dracut-fipsパッケージでは、整合性チェックを実行する、dracutのinitramfsファイル・システムを構築するためのモジュールが提供されます。
  4. システムのCPUでAES New Instructions (AES-NI)がサポートされている場合は、dracut-fips-aesniパッケージをインストールします。

    1. 次のように、システムでAES-NIがサポートされているかどうかを確認します。

      grep aes /proc/cpuinfo
    2. そのパッケージをインストールします。

      sudo yum install dracut-fips-aesni
  5. initramfsファイル・システムをリフレッシュします。

    sudo dracut -f
  6. システムがFIPSモードでブートするようにブート・ローダーを再構成します。

    1. 適切な管理権限がある場合は、/etc/default/grubファイルを編集し、ブート・ローダー構成にfips=1オプションを追加します。

      GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16
      rd.lvm.lv=ol/swap rd.lvm.lv=ol/root crashkernel=auto
        vconsole.keymap=uk rhgb quiet fips=1"
    2. /bootがルート・パーティション以外の専用パーティションにある場合は、カーネルのロード時にデバイスが/bootにマウントされるように、boot=UUID=boot_UUIDオプションを使用するようブート・ローダー構成を更新する必要があります。次に例を示します。

      GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16
           rd.lvm.lv=ol/swap rd.lvm.lv=ol/root crashkernel=auto
           vconsole.keymap=uk rhgb quiet
           boot=UUID=69fa3946-dd8d-4870-bf38-0d540eb9e6c6 fips=1"

      次のように入力すると、ブート・パーティションに専用のブロック・デバイスが存在するかどうかを確認できます:

      lsblk -f | grep /boot
      ├─nvme0n1p1     vfat     20DC-FE64                              /boot/efi
      └─nvme0n1p2     xfs      69fa3946-dd8d-4870-bf38-0d540eb9e6c6   /boot

      ノート:

      UEFIでブートするように構成されたシステムでは、/boot/efiは、UEFIの要件を満たすようにフォーマットされているため、必ず専用のパーティションに存在します。/bootが専用パーティションにあるかどうかを確認するときには、/boot/efiを無視します。

      /bootが専用パーティションにある場合のみ、boot=パラメータを使用します。パラメータが正しく指定されていないか、存在しないデバイスを指していると、システムがブートしない場合があります。

      これらの手順は、FIPSでカーネル検証チェックを実行するために必要です。このチェックは、/bootディレクトリ内の指定されたHMACファイルに対してカーネルを検証します。

    3. /etc/default/grubファイルに加えた変更内容を保存します。

  7. GRUB構成を再構築します。

    • BIOSベースのシステムでは、次のコマンドを実行します。

      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    • UEFIベースのシステムでは、次のコマンドを実行します。

      sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
  8. すべてのライブラリおよびバイナリに対する事前リンクを無効にします。

    モジュール内の整合性検証を正しく動作させるには、すべてのシステム・ファイルに対して事前リンクを無効にする必要があり、prelinkパッケージをシステムにインストールしないようにする必要があります。

    prelinkパッケージがインストールされている場合は、次のように、すべてのライブラリおよびバイナリに対する事前リンクを無効にします。

    1. /etc/sysconfig/prelink構成ファイル内でPRELINKING=noを設定します。

    2. ライブラリがすでに事前リンクされている場合は、次のコマンドを使用して、すべてのシステム・ファイルに対する事前リンクを取り消します:

      sudo prelink –u -a
    3. 次のように、prelinkパッケージをシステムから削除します。

      sudo yum remove prelink
  9. システムを再起動し、FIPSが有効になっていることを確認します。

    cat /proc/sys/crypto/fips_enabled

    1というレスポンスは、FIPSが有効であることを示します。

Oracle Linux 7のFIPS 140-2検証済モジュール

次の項では、FIPS 140-2認定をレビューし、Oracle Linux 7にFIPS 140-2検証済暗号モジュールをインストールする方法について説明します。

FIPS 140-2検証を受けたモジュールに関する情報

Oracle Linux 7でFIPSモードを有効にすると、必要に応じてFIPS検証済暗号化モジュールをインストールできます。

Oracle FIPS認定のドキュメント・ページには、Oracle Linux OSモジュールごとに次の情報が表示されます:

  • モジュールの名前および説明。

  • FIPS 140-2の検証プロセスのステータス。

    重要:

    FIPS Publication 140-2に準拠するには、各モジュールの、「セキュリティ・ポリシー」ドキュメントで指定されているパッケージ・バージョンのみを使用する必要があります。他のバージョンの暗号モジュールをインストールして使用することはできません。

  • モジュールのパッケージ・バージョン。

  • モジュールの認定番号。

NISTが各暗号モジュールのレビューを完了すると、ステータスは「レビュー保留中」または「レビュー中」から「検証」に移動します。次に、関連付けられたFIPS認定をレビューするために各暗号モジュールの認定番号をクリックしたり、そのモジュールの関連する「セキュリティ・ポリシー」ドキュメントへの各FIPS認定のリンクをクリックすることができます。各モジュールの詳細、および暗号化担当者がインストールと構成を確認できる手順については、これらの「セキュリティ・ポリシー」ドキュメントの「ライフサイクル保証」の項を参照してください。

Oracle Linux用のFIPS検証済暗号モジュールのインストール 7

Oracle Linux 7でFIPSモードを有効にすると、必要に応じてFIPS検証済暗号化モジュールをインストールできます。FIPS検証済暗号化モジュールを含むパッケージを提供するソフトウェア・チャネルの詳細は、「FIPS検証済暗号化モジュールのYumリポジトリおよびULNチャネル」を参照してください。

次の情報は、FIPS暗号モジュールのインストールおよび有効化を可能にする完全にパッチ適用されたOracle Linux 7リリースを実行しているシステムに適用されます。

FIPS検証済暗号モジュールをインストールするには、インストールする予定のFIPSモジュールについて、「セキュリティ・ポリシー」ドキュメントの「ライフサイクル保証」の項を参照してください。

「セキュリティ・ポリシー」ドキュメントでは、パッケージがFIPS 140-2検証済であることを確認する方法と、FIPSモード用のモジュールの構成方法を説明します。証明書番号(NIST FIPS 140-2検証ページへのリンクを含む)については、Oracle FIPS認定のWebサイトを参照してください。このページでは、FIPS認定および「セキュリティ・ポリシー」ドキュメントの詳細が示されます。

リストされているパッケージ・バージョンは、特定のモジュールの論理暗号境界にある情報を反映しています。接尾辞が_fipsのパッケージのエポックが10に設定されているため、_fips接尾辞のない同じパッケージのすべてのバージョンよりも優先されます。

FIPS検証済暗号化モジュールのYumリポジトリおよびULNチャネル

Oracle Linux 7.8のFIPS検証済暗号モジュールを含む、専用Unbreakable Linux Network (ULN)チャネルおよびyumリポジトリを次に示します。

x86_64プラットフォーム:

  • ol7_x86_64_u8_security_validation ULNチャネル

  • ol7_u8_security_validation yumリポジトリ

aarch64プラットフォーム:

  • ol7_aarch64_u8_security_validation ULNチャネル

  • ol7_u8_security_validation yumリポジトリ

ol7_u8_security_validation yumリポジトリは、x86_64およびaarch64プラットフォームの一般的なリポジトリ名であり、両方のアーキテクチャのFIPS検証済パッケージが含まれていることに注意してください。

Oracle Linux 7.8以降、OpenSSLOpenSSHおよびlibreswanの暗号モジュールのFIPS検証済バージョンも、ol7_x86_64_u8_security_validationおよびol7_aarch64_u8_security_validation ULNチャネルを介してセキュリティ更新情報の更新を受け取ります。対応するol7_u8_security_validation yumリポジトリは、x86_64およびaarch64プラットフォームでリリースされたFIPS検証済パッケージにも提供されます。

yumリポジトリの管理方法については、『Oracle Linux 7: ソフトウェアの管理』、またはULNチャネルの管理方法については、『Oracle Linux: Unbreakable Linux Networkユーザーズ・ガイドfor Oracle Linux 6 and Oracle Linux 7』を参照してください。

Oracle Linux 7にFIPS検証済暗号モジュールをインストールする手順は、「FIPS 140-2検証を受けたモジュールに関する情報」を参照してください。