RHEL 9におけるシステム全体の暗号化ポリシーcryptographic-policiesの改善点とその活用法
Red Hat Enterprise Linux (RHEL) 9では、暗号化ポリシー(cryptographic-policies
)に関する大幅な改善が施されています。これにより、システム全体での暗号化設定の管理が一元化され、システム管理者は暗号化設定をより柔軟に、かつ効率的に制御できるようになりました。この記事では、RHEL 9で強化された暗号化ポリシーの管理方法と、実際のユースケースや設定例を交えて解説します。
1. システム全体の暗号化ポリシーの強化
RHEL 9では、update-crypto-policies
コマンドが大幅に改善され、システム全体で統一的な暗号化ポリシーを管理できるようになりました。このポリシー管理の変更により、セキュリティと運用効率が向上しています。
ユースケース: 組織内のセキュリティ要件に応じたポリシー変更
例えば、組織がより高いセキュリティ基準を要求している場合、暗号化ポリシーを強化することができます。update-crypto-policies
コマンドを使用することで、システム全体で一貫した暗号化設定をすばやく適用できます。
設定例
デフォルトの暗号化ポリシーの適用
sudo update-crypto-policies --set DEFAULT
DEFAULT
ポリシーは、セキュリティのバランスが取れた一般的な設定です。
FIPS(Federal Information Processing Standards)モードの有効化
FIPSモードは、米国政府のセキュリティ標準に準拠するためのモードで、特に高セキュリティを求められる環境で使用されます。
sudo update-crypto-policies --set FIPS
FIPSモードを有効にすることで、システム内のすべての暗号化アルゴリズムがFIPS準拠のものに変更され、政府機関や高セキュリティ環境で求められる要件を満たします。
2. アプリケーションごとの暗号化ポリシーの除外
RHEL 9では、システム全体の暗号化ポリシーを無視し、特定のアプリケーションに独自の暗号化設定を適用することができます。この柔軟性により、各アプリケーションが必要とする暗号化設定を個別に制御でき、運用上の制限を緩和できます。
ユースケース: 特定のアプリケーションのカスタマイズ設定
例えば、特定のアプリケーション(wget
やcurl
など)で、システム全体の暗号化ポリシーに従わず、より安全または互換性のあるプロトコルを使用したい場合があります。RHEL 9では、アプリケーションごとに暗号化設定を変更できます。
設定例: wget
でのTLSプロトコルのカスタマイズ
wget
で使用する暗号化プロトコルをTLS 1.1に設定することで、より強力なセキュリティを維持しつつ、特定のサーバーに接続することができます。
wget --secure-protocol=TLSv1_1 --ciphers="SECURE128" https://example.com
この設定では、wget
がTLS 1.1プロトコルを使用し、SECURE128
という暗号スイートを使用して通信します。
設定例: curl
でのカスタム暗号スイートの使用
curl
を使用して暗号化通信を行う際に、--ciphers
オプションを使って、特定の暗号スイートを指定できます。たとえば、SECLEVEL=0
を指定して互換性のある暗号スイートを使用する設定です。
curl https://example.com --ciphers '@SECLEVEL=0:DES-CBC3-SHA:RSA-DES-CBC3-SHA'
これにより、curl
はシステム全体の暗号化ポリシーに依存せず、指定された暗号スイートを使用します。
3. Firefoxの暗号化設定のカスタマイズ
RHEL 9では、Firefoxなどのアプリケーションでも、システム全体の暗号化ポリシーをオプトアウトし、TLSバージョンやサポートする暗号化アルゴリズムをより詳細に制御できます。これにより、ブラウザのセキュリティ要件に応じた設定が可能になります。
ユースケース: FirefoxのTLSバージョンを制限する
企業内でTLS 1.2以上を強制したい場合、Firefoxの設定を変更して、低いTLSバージョン(TLS 1.0や1.1)を使用しないようにすることができます。
設定例: FirefoxのTLSバージョン制限
- アドレスバーに
about:config
と入力し、設定エディターを開きます。 security.tls.version.min
の値を変更します。1
に設定すると、最低でもTLS 1.0を使用。2
に設定すると、TLS 1.1以上を使用。
security.tls.version.min=2
これにより、TLS 1.1以下のバージョンは無効化され、TLS 1.2以上での通信が強制されます。
4. OpenSSHの暗号化ポリシーオプトアウト
RHEL 9では、OpenSSHサーバーおよびクライアントにおいても、システム全体の暗号化ポリシーをオプトアウトする方法が提供されています。特定のSSH接続において、システム全体の暗号化ポリシーを変更することなく、独自の設定を使用できます。
ユースケース: SSHサーバーでのポリシーオーバーライド
たとえば、OpenSSH
サーバーでシステム全体の暗号化ポリシーを無視して、特定の暗号化アルゴリズムを使用したい場合、次のように設定できます。
設定例: OpenSSHサーバーでのポリシーオーバーライド
/etc/ssh/sshd_config.d/
ディレクトリに新しい設定ファイル(例:49-crypto-policy-override.conf
)を作成します。- ファイルに暗号化ポリシーを指定します。
例: 鍵交換アルゴリズムとして`diffie-hellman-group14-sha1
`を使用
KexAlgorithms diffie-hellman-group14-sha1
これにより、OpenSSHサーバーはシステム全体の暗号化ポリシーを無視し、指定された暗号アルゴリズムを使用します。
設定例: OpenSSHクライアントのポリシーオーバーライド
同様に、SSHクライアントでも設定ファイル(~/.ssh/config
)を編集して、システム全体の暗号化ポリシーを上書きすることができます。
# ~/.ssh/configファイルで個別設定
Host example.com
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha2-256,hmac-sha2-512
これにより、example.com
への接続時に、指定された暗号スイートを使用することができます。
5. FIPSモードの強化
FIPSモードは、特に米国政府のセキュリティ要件を満たすために使用されます。RHEL 9では、FIPSモードの設定が強化され、暗号化アルゴリズムがFIPSに準拠するようになりました。
ユースケース: FIPSモードを必要とする環境
政府機関や規制の厳しい業界では、FIPSモードの有効化が求められます。FIPSモードを有効にすると、暗号化ライブラリやアルゴリズムがFIPS 140-2に準拠したものに変更されます。
設定例: FIPSモードの有効化
sudo update-crypto-policies --set FIPS
これにより、システム全体でFIPS準拠の暗号化アルゴリズムが使用されるようになります。
まとめ
RHEL 9における暗号化ポリシーの改善点は、システム全体で統一的なセキュリティ管理を提供し、アプリケーションごとの柔軟なカスタマイズを可能にする点にあります。これにより、組織はよりセキュアで効率的なシステム運用ができるようになり、業務の要求に応じた最適なセキュリティ設定が実現できます。