第8章 セキュリティー

8.1. コア暗号化コンポーネントの変更点

8.1.1. システム全体の暗号化ポリシーがデフォルトで適用

暗号ポリシーは、Red Hat Enterprise Linux 8 でコア暗号化サブシステムを構成するコンポーネントで、TLS、IPsec、DNSSEC、Kerbero の各プロトコルと、OpenSSH スイートに対応します。これにより、管理者が update-crypto-policies コマンドで選択できる小規模セットのポリシーを提供します。

デフォルト のシステム全体の暗号化ポリシーは、現在の脅威モデルに安全な設定を提供します。TLS プロトコル 1.2 と 1.3、IKEv2 プロトコル、および SSH2 プロトコルが使用できます。RSA 鍵と Diffie-Hellman パラメーターの長さが 2047 ビット以上であれば許可されます。

詳細は、Red Hat ブログの記事「Consistent security by crypto policies in Red Hat Enterprise Linux 8」と、man ページの update-crypto-policies(8) を参照してください。

8.1.2. 安全ではない暗号スイートおよびプロトコルを削除した、強力な暗号デフォルト

以下の一覧には、RHEL 8 のコア暗号化ライブラリーから削除された暗号スイートおよびプロトコルが含まれます。これはソースには存在しないか、またはビルド時にサポートを無効にしているため、アプリケーションでは使用できません。

  • DES (RHEL 7 以降)
  • すべてのエクスポートグレードの暗号化スイート (RHEL 7 以降)
  • 署名内の MD5 (RHEL 7 以降)
  • SSLv2 (RHEL 7 以降)
  • SSLv3 (RHEL 8 以降)
  • 224 ビットより小さい、すべての ECC 曲線 (RHEL 6 以降)
  • すべてのバイナリーフィールドの ECC 曲線 (RHEL 6 以降)

8.1.3. すべてのポリシーレベルで無効になっている暗号スイートおよびプロトコル

以下の暗号スイートおよびプロトコルは、すべての暗号化ポリシーレベルで無効になっています。これは、各アプリケーションで明示的に有効にした場合に限り利用できます。

  • パラメーターが 1024 ビットより小さい DH
  • 鍵のサイズが 1024 ビットより小さい RSA
  • Camellia
  • ARIA
  • SEED
  • IDEA
  • 完全性のみの暗号スイート
  • SHA-384 HMAC を使用した TLS CBC モード暗号化スイート
  • AES-CCM8
  • TLS 1.3 と互換性がないすべての ECC 曲線 (secp256k1 を含む)
  • IKEv1 (RHEL 8 以降)

8.1.4. FIPS モードへのシステムの切り替え

システム全体の暗号化ポリシーには、連邦情報処理規格 (FIPS) 公開文書 140-2 の要件に準拠した暗号化モジュールのセルフチェックを有効にするポリシーレベルが含まれます。FIPS モードを有効または無効にする fips-mode-setup ツールは、内部的に FIPS のシステム全体の暗号化ポリシーレベルを使用します。

RHEL 8 の FIPS モードにシステムを切り替えるには、以下のコマンドを実行してシステムを再起動します。

# fips-mode-setup --enable

詳細は、man ページの fips-mode-setup(8) を参照してください。

8.1.5. TLS 1.0 および TLS 1.1 が非推奨に

TLS 1.0 プロトコルおよび TLS 1.1 プロトコルは、システム全体の暗号化ポリシーレベル DEFAULT で無効になります。たとえば、Firefox Web ブラウザーのビデオ会議アプリケーションで、非推奨のプロトコルを使用する必要がある場合は、システム全体の暗号化ポリシーを LEGACY レベルに変更してください。

# update-crypto-policies --set LEGACY

詳細は、Red Hat カスタマーポータルのナレッジベース「Strong crypto defaults in RHEL 8 and deprecation of weak crypto algorithms」および man ページの update-crypto-policies(8) を参照してください。

8.1.6. 暗号化ライブラリーにおける TLS 1.3 への対応

今回の更新で、主要なすべてのバックエンド暗号ライブラリーで、TLS (Transport Layer Security) 1.3 が有効になっています。これにより、オペレーティングシステムの通信層でのレイテンシーを短縮し、RSA-PSS、X25519 などの新しいアルゴリズムを使用して、アプリケーションのプライバシーとセキュリティーを強化します。

8.1.7. RHEL 8 で DSA が非推奨に

デジタル署名アルゴリズム (DSA) は、Red Hat Enterprise Linux 8 では非推奨であると考えられています。DSA キーに依存する認証メカニズムはデフォルト設定では機能しません。OpenSSH クライアントは、LEGACY のシステム全体の暗号化ポリシーレベルでも DSA ホストキーを許可しません。

8.1.8. NSSSSL2 Client Hello が非推奨に

TLS (Transport Layer Security) プロトコルバージョン 1.2 以前は、SSL (Secure Sockets Layer) プロトコルバージョン 2 と後方互換性がある形式の Client Hello メッセージを使用してネゴシエーションを開始できます。NSS (Network Security Services) ライブラリーでのこの機能への対応は非推奨となっており、デフォルトで無効になっています。

この機能への対応が必要なアプリケーションを有効にするには、新しい API の SSL_ENABLE_V2_COMPATIBLE_HELLO を使用する必要があります。この機能への対応は、Red Hat Enterprise Linux 8 の将来のリリースから完全に削除される可能性があります。

8.1.9. NSS がデフォルトで SQL を使用

Network Security Services (NSS) ライブラリーは、デフォルトで信頼データベースに SQL ファイル形式を使用するようになりました。以前のリリースでデフォルトのデータベース形式として使用されていた DBM ファイル形式は、マルチプロセスによる同時アクセスに対応せず、アップストリームでは非推奨となっていました。したがって、NSS 信頼データベースを使用するアプリケーションが鍵や証明書を保存し、取消し情報がデフォルトで SQL 形式のデータベースを作成します。レガシーの DBM 形式でデータベースを作成しようとする試みは失敗します。既存の DBM データベースを読み取り専用モードで開くと、自動的に SQL 形式に変換されます。Red Hat Enterprise Linux 6 以降、NSS では SQL ファイル形式に対応します。