RHEL 8 での強力な暗号化のデフォルト化、および安全性の低い暗号化アルゴリズムの非推奨化
Table of Contents
Red Hat Enterprise Linux には、時間が経過するつれてセキュリティーが一定のレベルに保たれない暗号化コンポーネントがいくつか含まれています。(暗号) ハッシュや暗号化などのアルゴリズムには通常有効期限があり、期限が切れた後はリスクが高すぎて使用できないか、明らかに安全性が低いと見なされます。そのため、これらのアルゴリズムをデフォルト設定から段階的に廃止するか、安全に使用できない場合は完全に無効にする必要があります。以前は一貫した方法でアルゴリズムを無効にすることはありませんでしたが (アプリケーションごとに異なるポリシーが使用されていたため)、現在はシステム全体に適用できるポリシーがあり、すべての RHEL 暗号化コアコンポーネントがこのポリシーに準拠するようになっています。これらのポリシーにより、システム全体でアルゴリズムを一貫して処理し、非推奨にすることができます。ポリシーの内容は、RFC 7457 などのドキュメントに基づいて決定され、レガシー暗号アルゴリズムを利用する攻撃のリストが記載されています。
次のテキストは、RHEL 8 のさまざまな暗号化ポリシーレベルで完全に削除されているか無効になっているアルゴリズムの詳細を示しています。変更の概要については、こちらのブログ投稿 と こちらのナレッジベースのアーティクル を参照してください。
さらなる詳細については、crypto-policies のマニュアルページを参照してください。
提供されるポリシー
LEGACY、DEFAULT、FUTURE、FIPS という 4 つのポリシーが提供されます。以下の表にまとめて説明します。
ポリシー名 | 説明 |
---|---|
LEGACY | このポリシーにより、レガシーシステムとの最大限の互換性が保証されます。安全性は低く、TLS 1.0、TLS 1.1、および SSH2 プロトコル以降のサポートが含まれています。アルゴリズム DSA、3DES、および RC4 を使用できますが、RSA および Diffie-Hellman パラメーターが 1023 ビット以上であれば対応できます。 |
DEFAULT | DEFAULT ポリシーは、使いやすさとセキュリティーのバランスを保つことを目的とした、標準の妥当なデフォルトポリシーです。TLS 1.2 および 1.3 プロトコル、ならびに IKEv2 および SSH2 を使用できます。RSA 鍵と Diffie-Hellman パラメーターが 2047 ビット以上であれば使用できます。 |
FUTURE | 近い将来の攻撃に耐えられると考えられている保守的なセキュリティーレベルです。このポリシーの目的は、インフラストラクチャーとアプリケーションをテストして、今後の要件の強化に備えられるようにすることです。このポリシーは、汎用システムで使用することは想定されていません。このレベルは、署名アルゴリズムに SHA-1 の使用を許可しません。RSA 鍵と Diffie-Hellman パラメーターが 3071 ビット以上であれば許可されます。 |
FIPS | FIPS140-2 要件に準拠するレベル。このポリシーは、RHEL システムを FIPS140 モードに切り替えることができる fips-mode-setup ツールによって内部で使用されます。 |
削除された暗号スイートとプロトコル
以下の暗号スイートとプロトコルは、コア暗号ライブラリーから完全に削除されています。これらの暗号スイートとプロトコルは、ソースにまったく存在しないか、ビルド中にサポートが無効になっているため、アプリケーションで使用することはできません。
-
DES (RHEL 7 以降)
-
すべてのエクスポートグレードの暗号スイート (RHEL 7 以降)
-
署名内の MD5 (RHEL 7 以降)
-
SSLv2 (RHEL 7 以降)
-
SSLv3 (RHEL 8 以降)
-
224 ビットより小さいすべての ECC 曲線 (RHEL 6 以降)
-
すべてのバイナリーフィールドの ECC 曲線 (RHEL 6 以降)
すべてのポリシーレベルでの無効化
これらの暗号スイートとプロトコルは使用可能ですが、すべての暗号化ポリシーレベルで無効になっています。これは、各アプリケーションを明示的に設定する場合に限り、有効にすることができます。
-
パラメーターが 1024 ビットより小さい DH
-
鍵のサイズが 1024 ビットより小さい RSA
-
Camellia
-
ARIA
-
SEED
-
IDEA
-
整合性のみの暗号スイート
-
SHA-384 HMAC を使用した TLS 暗号スイート
-
AES-CCM8
-
TLS 1.3 と互換性がないすべての ECC 曲線 (secp256k1 を含む)
-
IKEv1 (RHEL 8 以降)
DEFAULT ポリシーでの無効化、LEGACY ポリシーでの有効化
これらの暗号スイートとプロトコルは、DEFAULT 暗号化ポリシーレベルでは無効になっています。ただし、システムの暗号化ポリシーレベルを LEGACY に切り替えることで有効にできます。
-
3DES
-
RC4
-
パラメーターが 2048 ビット未満の DH
-
鍵のサイズが 2048 ビット未満の RSA
-
DSA (すべての鍵サイズ)
-
TLSv1.0
-
TLSv1.1
DEFAULT ポリシーに加えて FIPS ポリシーでの無効化
FIPS ポリシーでは、FIPS 承認または許可されたアルゴリズムのみを使用できます。システムが FIPS に準拠する必要がある場合に使用する必要があります。システム FIPS モードを有効にすると、自動的に選択されます。
-
デジタル署名の SHA1
-
RSA キー交換
-
X25519、X448、Ed25519 および Ed448
-
Chacha20-Poly1305
FUTURE ポリシーでの無効化、DEFAULT ポリシーでの有効化
FUTURE ポリシーは、さらにシステムを強化します。近い将来の攻撃に耐えられると考えられている保守的なセキュリティーレベルです。このポリシーは、汎用システムで使用することは想定されていません。
-
TLS の CBC モードの暗号スイート
-
鍵が 256 ビットより小さい対称暗号
-
証明書における SHA-1 および SHA-224 の署名
-
パラメーターが 3072 ビット未満の DH
-
鍵のサイズが 3072 ビット未満の RSA
現在のほとんどの WWW サイト証明書は 2048 ビットの RSA 鍵のみを使用しているため、このポリシーではほとんどの公開 WWW サイトに接続できないことに注意してください。
アルゴリズムとプロトコルのサポートがない最も一般的な問題の修復
-
LEGACY ポリシーへの切り替えは、root アカウントからコマンド
update-crypto-policies --set LEGACY
を発行することで実行できます。 -
小さなパラメーターが指定された DH - LEGACY ポリシーに切り替えるか、少なくとも 2048 ビットの DH パラメーターを指定するように TLS サーバーを修正するか、ECDH を使用します。
-
SSLv3 - TLS サーバーを修正して、TLSv1.2 プロトコル (または少なくとも TLSv1.0 プロトコルを指定し、LEGACY ポリシーに切り替える) を指定します。
-
3DES、RC4 - LEGACY ポリシーに切り替えるか、TLS サーバーを修正して AES ベースの暗号スイートを指定します。
-
小さなキーを使用した RSA、DSA - LEGACY ポリシーに切り替えるか、TLS サーバー用の新しいキー (少なくとも 2048 ビット、できればそれ以上) と証明書を生成します。
-
TLSv1.0、1.1 - LEGACY ポリシーに切り替えるか、TLS サーバーを更新して TLSv1.2 プロトコルのサポートを指定します。
-
FIPS モードの署名の SHA1 - 証明書を再生成して、SHA256 ベースの署名を使用します。
-
Camellia、SEED、または ARIA - アプリケーション設定で暗号スイート設定文字列の変更が許可されている場合は、アプリケーションのドキュメントに従って、これらの暗号スイートを設定文字列に追加します。または、/etc/crypto-policies/back-ends 内の適切な暗号ライブラリーの暗号ポリシー設定へのシンボリックリンクを削除し、必要な暗号スイートを含む設定に置き換えます。上記の変更は、Red Hat ではサポートされていないことに注意してください。今後、カスタムポリシーを作成して使用する方法を提供する予定です。
-
IKEv1 - ポリシーからオプトアウトするには、/etc/ipsec.conf から/etc/crypto-policies/back-ends/libreswan.config を含む行をコメント化し、libreswan 接続設定に ikev2=never を追加します。
Comments