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ユーザー・ガイドのコンテナおよびイメージの操作に関する章を参照してください。
-
システムで検証済FIPS暗号モジュールの機能を含むOracle Linux 7リリースが実行されていることを確認します。
-
システムがUnbreakable Linux Network (ULN)に登録されていて、実行しているOracle Linux 7リリース用の適切なチャネルをサブスクライブしていることを確認します。Oracle Linux yumサーバーを使用している場合は、必要に応じて、適切なリポジトリ(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チャネルにサブスクライブします。 - Oracle Linux yumサーバーを使用している場合は、
ol7_u8_security_validation
およびol7_latest
yumリポジトリを有効にします。次に例を示します:sudo yum-config-manager --enable ol7_u8_security_validation ol7_latest
詳細は、「FIPS検証済暗号化モジュールのYumリポジトリおよびULNチャネル」を参照してください。
- x86_64プラットフォームでOracle Linux 7.8を実行している場合は、
dracut-fips
パッケージをインストールします。sudo yum install dracut-fips
dracut-fips
パッケージでは、整合性チェックを実行する、dracutのinitramfsファイル・システムを構築するためのモジュールが提供されます。-
システムのCPUでAES New Instructions (AES-NI)がサポートされている場合は、
dracut-fips-aesni
パッケージをインストールします。-
次のように、システムでAES-NIがサポートされているかどうかを確認します。
grep aes /proc/cpuinfo
-
そのパッケージをインストールします。
sudo yum install dracut-fips-aesni
-
-
initramfsファイル・システムをリフレッシュします。
sudo dracut -f
-
システムがFIPSモードでブートするようにブート・ローダーを再構成します。
-
適切な管理権限がある場合は、
/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"
-
/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ファイルに対してカーネルを検証します。 -
/etc/default/grub
ファイルに加えた変更内容を保存します。
-
-
GRUB構成を再構築します。
-
BIOSベースのシステムでは、次のコマンドを実行します。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
UEFIベースのシステムでは、次のコマンドを実行します。
sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
-
-
すべてのライブラリおよびバイナリに対する事前リンクを無効にします。
モジュール内の整合性検証を正しく動作させるには、すべてのシステム・ファイルに対して事前リンクを無効にする必要があり、
prelink
パッケージをシステムにインストールしないようにする必要があります。prelink
パッケージがインストールされている場合は、次のように、すべてのライブラリおよびバイナリに対する事前リンクを無効にします。-
/etc/sysconfig/prelink
構成ファイル内でPRELINKING=no
を設定します。 -
ライブラリがすでに事前リンクされている場合は、次のコマンドを使用して、すべてのシステム・ファイルに対する事前リンクを取り消します:
sudo prelink –u -a
-
次のように、prelinkパッケージをシステムから削除します。
sudo yum remove prelink
-
-
システムを再起動し、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以降、OpenSSL
、OpenSSH
および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検証を受けたモジュールに関する情報」を参照してください。