4.2. セキュリティー
NSS が 3.101 にリベース
NSS 暗号化ツールキットパッケージは、多くのバグ修正と機能拡張を提供するアップストリームバージョン 3.101 にリベースされました。主な変更点は以下のとおりです。
- DTLS 1.3 プロトコルがサポートされるようになりました (RFC 9147)。
- PKCS#12 (RFC 9579) に PBMAC1 サポートが追加されました。
-
X25519Kyber768Draft00 ハイブリッドポスト量子鍵合意には実験的なサポートがあります (
draft-tls-westerbaan-xyber768d00
)。 -
lib::pkix
は、RHEL 10 のデフォルトのバリデーターです。 - システム全体の暗号化ポリシーに従って、2048 ビットより短いキーを持つ RSA 証明書は機能しなくなります (重大な修正)。
Jira:RHEL-46840[1]
Libreswan は IPv6 SAN エクステンションを受け入れる
以前は、IPv6 アドレスの subjectAltName (SAN) エクステンションを含む証明書を使用して証明書ベースの認証をセットアップすると、IPsec 接続が失敗しました。この更新により、pluto
デーモンは IPv4 だけでなく IPv6 SAN も受け入れるように変更されました。その結果、証明書に埋め込まれた IPv6 アドレスを ID として IPsec 接続が正しく確立されるようになりました。
Jira:RHEL-32720[1]
ssh-keygen
のカスタムキーサイズ
/etc/sysconfig/sshd
環境ファイルで環境変数 SSH_RSA_BITS
および SSH_ECDSA_BITS
を設定することにより、/usr/libexec/openssh/sshd-keygen
スクリプトによって生成されるキーのサイズを設定できるようになりました。
Jira:RHEL-26454[1]
fips-mode-setup
は、FIPS モードを有効にする前に、開いている LUKS ボリュームで Argon2 KDF が使用されているか確認します。
fips-mode-setup
システム管理コマンドは、現在開いている LUKS ボリュームで使用されている鍵導出関数 (KDF) を検出し、Argon2 KDF の使用を検出すると中止するようになりました。これは、Argon2 KDF が FIPS と互換性がないため、その使用を阻止することで FIPS 準拠を確保できるためです。その結果、Argon2 を KDF として使用するオープン LUKS ボリュームを持つシステムで FIPS モードに切り替えることは、それらのボリュームが閉じられるか、別の KDF に変換されるまでブロックされます。
QEMU ゲストエージェントが限定されたコマンドを実行できるようにする新しい SELinux ブール値
以前は、QEMU ゲストエージェントデーモンプログラムを通じて限定されたコンテキストで実行されるはずのコマンド (mount
など) が、アクセスベクターキャッシュ (AVC) 拒否で失敗していました。これらのコマンドを実行するには、guest-agent
が virt_qemu_ga_unconfined_t
ドメインで実行されている必要があります。
したがって、この更新では、SELinux ポリシーブール値 virt_qemu_ga_run_unconfined
が追加され、guest-agent
が以下のいずれかのディレクトリーにある実行可能ファイルに対して virt_qemu_ga_unconfined_t
に移行できるようになります。
-
/etc/qemu-ga/fsfreeze-hook.d/
-
/usr/libexec/qemu-ga/fsfreeze-hook.d/
-
/var/run/qemu-ga/fsfreeze-hook.d/
さらに、qemu-ga
デーモンの移行に必要なルールが SELinux ポリシーのブール値に追加されました。
その結果、virt_qemu_ga_run_unconfined
ブール値を有効にすることで、AVC 拒否なしで QEMU ゲストエージェントを通じて制限されたコマンドを実行できるようになりました。
OpenSSL が 3.2.2 にリベース
OpenSSL パッケージが、アップストリームバージョン 3.2.2 にリベースされました。この更新では、さまざまな機能拡張とバグ修正が行われていますが、特に注目すべき点は次のとおりです。
-
-extensions
オプションを指定したopenssl req
コマンドは、証明書署名要求 (CSR) を作成するときにエクステンションを誤って処理しなくなりました。以前は、コマンドは設定ファイルセクションの名前を取得して解析し、一貫性をチェックしていましたが、作成された CSR ファイルへのエクステンションの追加にはその名前は使用されていませんでした。この修正により、生成された CSR にエクステンションが追加されます。この変更の影響として、セクションで CSR での使用と互換性のない拡張エクステンションが指定されている場合、コマンドはerror:11000080:X509 V3 routines:X509V3_EXT_nconf_int:error in extension:crypto/x509/v3_conf.c:48:section=server_cert, name=authorityKeyIdentifier, value=keyid, issuer:always
のようなエラーで失敗する可能性があります。 -
デフォルトの X.500 識別名 (DN) フォーマットが、UTF-8 フォーマッターを使用するように変更されました。これにより、DN 要素タイプとその値を区切る等号 (
=
) の周囲のスペース文字も削除されます。 - 証明書圧縮エクステンション (RFC 8879) がサポートされるようになりました。
- QUIC プロトコルは、テクノロジープレビューとしてクライアント側で使用できるようになりました。
- Argon2d、Argon2i、および Argon2id 鍵導出関数 (KDF) がサポートされています。
- Brainpool 曲線は TLS 1.3 プロトコル (RFC 8734) に追加されましたが、サポートされているすべてのシステム全体の暗号化ポリシーでは Brainpool 曲線は無効のままです。
crypto-policies
は、Java でアルゴリズムの選択を提供する
crypto-policies
パッケージが更新され、Java でのアルゴリズム選択の制御が拡張されました。これは、Java の暗号の可変設定が進化したことにより、crypto-policies
がその変化に対応して、システム全体でより一貫した設定を提供するために、より良いマッピングを行う必要が生じたためです。具体的には、更新では次の変更があります。
-
DTLS 1.0 は
protocol
オプションによって制御されるようになり、デフォルトでは無効になっていますが、protocol@java = DTLS1.0+
スコープディレクティブを使用して再度有効にすることができます。 -
anon
およびNULL
暗号スイートは、cipher@java = NULL
によって制御され、デフォルトで無効になっています。 -
署名アルゴリズムのリストは、
sign@java
スコープディレクティブによって制御され、システム全体のデフォルトに合わせて調整されるようになりました。 -
署名アルゴリズムのリストは、
sign
オプションによって制御され、システム全体のデフォルトに合わせて調整されるようになりました。必要に応じて、sign@java = <algorithm1>+ <algorithm2>+
スコープディレクティブを使用して、特に Java で必要なアルゴリズムの使用を再度有効にすることができます。 - アップストリームガイダンスに合わせて、256 ビット未満の Elliptic Curve (EC) キーは無条件に無効になります。
その結果、Java でデフォルトで使用できる暗号化アルゴリズムのリストが、システム全体のデフォルトとより一致するようになりました。相互運用性に関する詳細は、/etc/crypto-policies/back-ends/java.config
ファイルを参照し、それに応じてアクティブな暗号化ポリシーを設定してください。
Jira:RHEL-45620[1]
Centos Stream 10 の selinux-policy
git リポジトリーが一般公開される
CentOS Stream のコントリビューターは、fedora-selinux/selinux-policy
git リポジトリーの c10s
ブランチにコントリビュートすることで、SELinux ポリシーの開発に参加できるようになりました。
clevis
がバージョン 20 にリベース
clevis
パッケージがバージョン 20 にアップグレードされました。最も注目すべき機能拡張と修正は次のとおりです。
-
clevis luks
コマンド、udisks2
インテグレーション、および Shamir’s Secret Sharing (SSS) しきい値スキームの静的アナライザーツールによって報告された潜在的な問題を修正することにより、セキュリティーが強化されました。 -
パスワード生成では、
pwmake
の代わりにjose
ユーティリティーが使用されるようになりました。これにより、Clevis バインディングステップ中に生成されるパスワードに十分なエントロピーが確保されます。
ca-certificates
が OpenSSL ディレクトリー形式で信頼できる CA ルートを提供する
この更新により、/etc/pki/ca-trust/extracted/pem/directory-hash/
ディレクトリーに信頼された CA ルート証明書が追加されます。その結果、たとえば、SSL_CERT_DIR
環境変数を /etc/pki/ca-trust/extracted/pem/directory-hash/
に設定して、OpenSSL がこのディレクトリーから証明書をロードするように設定されている場合、検索と検証がより迅速に行われます。
Jira:RHEL-21094[1]
nbdkit
サービスが SELinux によって制限されている
nbdkit-selinux
サブパッケージは SELinux ポリシーに新しいルールを追加し、その結果、nbdkit
は SELinux 内に制限されます。したがって、nbdkit
を実行するシステムは、権限昇格攻撃に対してより耐性があります。
libreswan
が 4.15 にリベース
libreswan
パッケージはアップストリームバージョン 4.15 にリベースされました。このバージョンでは、以前のリリースで提供されていたバージョン 4.9 に比べ、大幅な改善が加えられています。
-
libsystemd
を介してlibxz
への依存関係を削除しました。 -
IKEv1 では、デフォルトの提案は、Encapsulating Security Payload (ESP) の場合は
aes-sha1
、Authentication Header (AH) の場合はsha1
に設定されています。 - IKEv1 は、Authenticated Encryption と Associated Data (AEAD) と空でない INTEG を組み合わせた ESP 提案を拒否します。
- IKEv1 は、接続に提案がない場合には交換を拒否します。
IKEv1 では、デフォルトの暗号スイートがより制限されるようになりました。
IKE={AES_CBC,3DES_CBC}-{HMAC_SHA2_256,HMAC_SHA2_512HMAC_SHA1}-{MODP2048,MODP1536,DH19,DH31} ESP={AES_CBC,3DES_CBC}-{HMAC_SHA1_96,HMAC_SHA2_512_256,HMAC_SHA2_256_128}-{AES_GCM_16_128,AES_GCM_16_256} AH=HMAC_SHA1_96+HMAC_SHA2_512_256+HMAC_SHA2_256_128
-
libcap-ng
ライブラリーの障害は致命的ではなくなりました。 -
pluto
ユーティリティーの AEAD アルゴリズムに TFC パディングが設定されるようになりました。
Jira:RHEL-50006[1]
jose
がバージョン 14 にリベース
jose
パッケージがアップストリームバージョン 14 にアップグレードされました。jose
は、Javascript Object Signing and Encryption (JOSE) 標準の C 言語実装です。最も重要な機能拡張と修正は次のとおりです。
-
OpenSSL の
oct
JWK タイプのlen
関数の境界チェックが改善されました。 -
保護された JSON Web Encryption (JWE) ヘッダーに
zip
が含まれなくなりました。 -
jose
は、高圧縮チャンクを使用することで、潜在的なサービス拒否 (DoS) 攻撃を回避します。
4 つの RHEL サービスが SELinux の permissive モードから削除される
RHEL サービスの次の SELinux ドメインは、SELinux permissive モードから削除されました。
-
afterburn_t
-
bootupd_t
-
mptcpd_t
-
rshim_t
以前は、RHEL 9 に最近追加されたパッケージのこれらのサービスは、一時的に SELinux permissive モードに設定されていました。これにより、システムの残りの部分が SELinux enforcing モードになっている間に、追加の拒否に関する情報を収集することが可能でした。この一時的な設定は削除され、その結果、これらのサービスは SELinux の enforcing mode で実行されるようになりました。
bootupd
サービスが SELinux に制限されている
bootupd
サービスはブートローダーの更新をサポートしているため、制限する必要があります。SELinux ポリシーのこの更新によりさらなるルールが追加され、その結果、bootupd
サービスは bootupd_t
SELinux ドメインで実行されるようになります。