第3章 システム全体の暗号化ポリシーの使用

システム全体の暗号化ポリシーは、コア暗号化サブシステムを設定するシステムコンポーネントで、TLS、IPsec、SSH、DNSSec、および Kerberos の各プロトコルに対応します。これにより、管理者が選択できる小規模セットのポリシーを提供します。

3.1. システム全体の暗号化ポリシー

システム全体のポリシーを設定すると、RHEL のアプリケーションはそのポリシーに従い、ポリシーを満たしていないアルゴリズムやプロトコルを使用するように明示的に要求されない限り、その使用を拒否します。つまり、システムが提供した設定で実行する際に、デフォルトのアプリケーションの挙動にポリシーを適用しますが、必要な場合は上書きできます。

RHEL 9 には、以下の定義済みポリシーが含まれています。

DEFAULT
デフォルトのシステム全体の暗号化ポリシーレベルで、現在の脅威モデルに対して安全なものです。TLS プロトコルの 1.2 と 1.3、IKEv2 プロトコル、および SSH2 プロトコルが使用できます。RSA 鍵と Diffie-Hellman パラメーターは長さが 2048 ビット以上であれば許容されます。
LEGACY
Red Hat Enterprise Linux 6 以前との互換性を最大限に確保します。攻撃対象領域が増えるため、セキュリティーが低下します。SHA-1 は、TLS ハッシュ、署名、およびアルゴリズムとして使用できます。CBC モードの暗号は、SSH と併用できます。GnuTLS を使用するアプリケーションは、SHA-1 で署名した証明書を許可します。TLS プロトコルの 1.2 と 1.3、IKEv2 プロトコル、および SSH2 プロトコルが使用できます。RSA 鍵と Diffie-Hellman パラメーターは長さが 2048 ビット以上であれば許容されます。
FUTURE
将来の潜在的なポリシーをテストすることを目的とした、より厳格な将来を見据えたセキュリティーレベル。このポリシーでは、DNSSec または HMAC としての SHA-1 の使用は許可されません。SHA2-224 および SHA3-224 ハッシュは拒否されます。128 ビット暗号は無効になります。CBC モードの暗号は、Kerberos を除き無効になります。TLS プロトコルの 1.2 と 1.3、IKEv2 プロトコル、および SSH2 プロトコルが使用できます。RSA 鍵と Diffie-Hellman パラメーターは、ビット長が 3072 以上だと許可されます。システムが公共のインターネット上で通信する場合、相互運用性の問題が発生する可能性があります。
FIPS
FIPS 140 要件に準拠します。RHEL システムを FIPS モードに切り替える fips-mode-setup ツールは、このポリシーを内部的に使用します。FIPS ポリシーに切り替えても、FIPS 140 標準への準拠は保証されません。また、システムを FIPS モードに設定した後、すべての暗号キーを再生成する必要があります。多くのシナリオでは、これは不可能です。

Red Hat は、LEGACY ポリシーを使用する場合を除き、すべてのライブラリーがセキュアなデフォルト値を提供するように、すべてのポリシーレベルを継続的に調整します。LEGACY プロファイルはセキュアなデフォルト値を提供しませんが、このプロファイルには、簡単に悪用できるアルゴリズムは含まれていません。このため、提供されたポリシーで有効なアルゴリズムのセットまたは許容可能な鍵サイズは、Red Hat Enterprise Linux の存続期間中に変更する可能性があります。

このような変更は、新しいセキュリティー標準や新しいセキュリティー調査を反映しています。Red Hat Enterprise Linux のライフサイクル全体にわたって特定のシステムとの相互運用性を確保する必要がある場合は、そのシステムと対話するコンポーネントのシステム全体の暗号化ポリシーからオプトアウトするか、カスタム暗号化ポリシーを使用して特定のアルゴリズムを再度有効にする必要があります。

重要

カスタマーポータル API の証明書が使用する暗号化鍵は FUTURE のシステム全体の暗号化ポリシーが定義する要件を満たさないので、現時点で redhat-support-tool ユーティリティーは、このポリシーレベルでは機能しません。

この問題を回避するには、カスタマーポータル API への接続中に DEFAULT 暗号化ポリシーを使用します。

注記

ポリシーレベルで許可されていると記載されている特定のアルゴリズムと暗号は、アプリケーションがそれらをサポートしている場合にのみ使用できます。

暗号化ポリシーを管理するためのツール

現在のシステム全体の暗号化ポリシーを表示または変更するには、update-crypto-policies ツールを使用します。以下に例を示します。

$ update-crypto-policies --show
DEFAULT
# update-crypto-policies --set FUTURE
Setting system policy to FUTURE

暗号化ポリシーの変更を確実に適用するには、システムを再起動します。

安全でない暗号スイートとプロトコルを削除することによる強力な暗号デフォルト

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

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

すべてのポリシーレベルで無効になっているアルゴリズム

以下のアルゴリズムは、RHEL 9 に同梱される LEGACYDEFAULTFUTURE、および FIPS の暗号化ポリシーでは無効になっています。これらは、カスタム暗号化ポリシーを適用するか、個々のアプリケーションの明示的な設定によってのみ有効にできますが、結果として得られる設定は 製品サポートの対象範囲 外になります。

  • バージョン 1.2 より古い TLS (RHEL 9 以降、以前では RHEL 8 の 1.0 未満)
  • バージョン 1.2 より古い DTLS (RHEL 9 以降、RHEL 8 では 1.0 未満)
  • パラメーターが 2048 ビット未満の DH (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
  • 鍵サイズ (2048 ビット 未満) の RSA (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
  • DSA (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
  • 3DES (RHEL 9 以降)
  • RC4 (RHEL 9 以降)
  • FFDHE-1024 (RHEL 9 以降)
  • DHE-DSS (RHEL 9 以降)
  • Camellia (RHEL 9 以降)
  • ARIA
  • IKEv1 (RHEL 8 以降)

暗号化ポリシーで有効になっているアルゴリズム

各暗号化ポリシーでは、特定の暗号スイートとプロトコルが有効になっています。

 LEGACYDEFAULTFIPSFUTURE

IKEv1

いいえ

いいえ

いいえ

いいえ

3DES

いいえ

いいえ

いいえ

いいえ

RC4

いいえ

いいえ

いいえ

いいえ

DH

最低 2048 ビット

最低 2048 ビット

最低 2048 ビット

最低 3072 ビット

RSA

最低 2048 ビット

最低 2048 ビット

最低 2048 ビット

最低 3072 ビット

DSA

いいえ

いいえ

いいえ

いいえ

TLS v1.1 以前

いいえ

いいえ

いいえ

いいえ

TLS v1.2 以降

はい

はい

はい

はい

SHA-1 デジタル署名および証明書に

はい

いいえ

いいえ

いいえ

CBC モード暗号

はい

いいえ[a]

いいえ[b]

いいえ[c]

256 ビットより小さい鍵を持つ対称暗号

はい

はい

はい

いいえ

[a] SSH で CBC 暗号が無効になっている
[b] CBC 暗号は、Kerberos を除くすべてのプロトコルで無効になります。
[c] CBC 暗号は、Kerberos を除くすべてのプロトコルで無効になります。

関連情報

  • update-crypto-policies(8) の man ページ