第8章 米連邦政府の標準および規制

どの組織も、米連邦政府または業界のセキュリティー仕様、標準および規制の遵守に取り組むことで一定のセキュリティーレベルを維持することができます。本章では、これらの標準および規制のいくつかについて説明します。

8.1. 連邦情報処理標準 (FIPS: Federal Information Processing Standard)

連邦情報処理標準 (FIPS) の公開文書である 140-2 は、暗号モジュールの品質を検証するために連邦政府と業界のワーキンググループにより開発されたコンピューターセキュリティー標準です。FIPS の公開文書 (140-2 を含む) は http://csrc.nist.gov/publications/PubsFIPS.html にあります。
FIPS 140-2 標準は、暗号化ツールが正しく実装されていることを確認します。FIPS 標準の上記の各レベルや他の仕様の詳細は、FIPS 140-2 標準 (http://dx.doi.org/10.6028/NIST.FIPS.140-2) の完全ドキュメントを参照してください。
すべての FIPS 140-2 証明書の完全一覧については http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm を参照してください。コンプライアンス要件については Red Hat Government: Standards page を参照してください。

8.1.1. FIPS モードの有効化

Red Hat Enterprise Linux を連邦情報処理標準 (FIPS) パブリケーション 140-2 に準拠させるには、いくつかの変更を加えて認定済み暗号モジュールを使用することが必要です。システムのインストール中または後に、FIPS モードを有効にしてください。

システムのインストール時

厳格な FIPS 140-2 へのコンプライアンス を満たすには、システムのインストール中にカーネルコマンドラインに fips=1 カーネルオプションを追加します。このオプションでは、、FIPS で承認されているアルゴリズムを使って鍵を生成し、継続的なモニタリングテストを実施することができます。インストール後には、システムは自動的に FIPS モードで起動します。

重要

マウスを移動するか、キーを何度も押して、インストールプロセス中にシステムに十分なエントロピーを確保します。推奨されるキー入力の回数は 256 回以上です。255 回以下の場合は、生成されるキーが一意でない可能性があります。

システムインストールの後

インストール後に、システムのカーネルスペースとユーザースペースを FIPS モードに変更するには、以下の手順を行います。
  1. dracut-fips パッケージをインストールします。
    ~]# yum install dracut-fips
    AES New Instructions (AES-NI) サポートのある CPU は、dracut-fips-aesni パッケージもインストールします。
    ~]# yum install dracut-fips-aesni
  2. initramfs ファイルを再生成します。
    ~]# dracut -v -f
    モジュール内の整合性検証を有効化して、カーネルの起動中に必要なモジュールがすべて揃っているようにするには、initramfs ファイルを再生成する必要があります。

    警告

    この操作により、既存の initramfs ファイルが上書きされます。
  3. ブートローダーの設定を変更します。
    FIPS モードで起動するには、ブートローダーのカーネルコマンドラインに fips=1 オプションを追加します。/boot または /boot/EFI パーティションが個別のパーティションにある場合には、boot=<partition> パラメーター (<partition> は /boot または /boot/EFI を指します) もカーネルのコマンドラインに追加してください。
    ブートパーティションを特定するには、以下のコマンドを実行します。
    ~]$ df /boot
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda1               495844     53780    416464  12% /boot
    ブート間でデバイス名が変更されても boot= 設定オプションが機能するようにするには、以下のコマンドを実行してパーティションの UUID (Universally Unique Identifier) を特定します。
    ~]$ blkid /dev/sda1
    /dev/sda1: UUID="05c000f1-f899-467b-a4d9-d5ca4424c797" TYPE="ext4"
    UUID をカーネルコマンドラインに追加します。
    boot=UUID=05c000f1-f899-467b-a4d9-d5ca4424c797
    お使いのブートローダーによっては、以下の変更を加えてください。
    • GRUB 2
      /etc/default/grub ファイルの GRUB_CMDLINE_LINUX キーに、fips=1 および boot=<partition of /boot> のオプションを追加します。/etc/default/grub への変更を適用するには、以下のように grub.cfg ファイルを再構築します。
      • BIOS ベースのマシンでは、root で以下のコマンドを実行します。
        ~]# grub2-mkconfig -o /etc/grub2.cfg
      • UEFI ベースのマシンでは、root で以下のコマンドを実行します。
        ~]# grub2-mkconfig -o /etc/grub2-efi.cfg
    • zipl (IBM z Systems アーキテクチャーのみ)
      カーネルコマンドラインで /etc/zipl.conffips=1 および boot=<partition of /boot> オプションを追加し、root として以下のコマンドを実行して変更を適用します。
      ~]# zipl
  4. プレリンクが無効になっていることを確認します。
    モジュール内の整合性検証の適切な実行にあたり、ライブラリーやバイナリーのプレリンクは無効にする必要があります。プレリンクは prelink パッケージにより行われますが、デフォルトではインストールされません。 prelink をインストールしていない場合は、この手順は必要ありません。プレリンクを無効にするには、/etc/sysconfig/prelink 設定ファイルで PRELINKING=no オプションを設定します。全システムファイルの既存のプレリンクを無効にするには、prelink -u -a コマンドを使用します。
  5. システムを再起動します。

コンテナーで FIPS モードの有効化

ホストを FIPS140-2 モードにも設定していて、以下の要件のいずれかを満たしている場合は、FIPS140-2 モードに切り替えることができます。
  • コンテナーに、dracut-fips パッケージがインストールされている。
  • /etc/system-fips ファイルが、ホストからコンテナーにマウントされている。