7.2. セキュリティー
- 監視対象ファイルが変更されても、AIDE は終了しなくなりました
今回のアップデート以前は、AIDE がハッシュ値の計算中に、ファイルが切り詰められたり削除されたりすると、AIDE はエラーで終了していました。今回のアップデートにより、AIDE はハッシュ値の計算中にファイルが切り詰められたり削除されたりした場合にそれを検知し、安全に処理するようになりました。その結果、AIDE は、監視対象ファイルのサイズが変更されたり、処理中に削除されたりした場合でも、整合性チェックを正常に完了します。
cracklibおよびcracklib-dictsの URL を更新しました今回のアップデート以前は、
cracklibおよびcracklib-dictsパッケージに含まれる CrackLibWeb サイトの URL が古いものでした。その結果、cracklib-dictsのダウンロードが正しく行われていませんでした。今回のリリースにより、cracklibおよびcracklib-dictsRPM 内の URL が、新しい Web サイトの URL に更新されました。その結果、パッケージ情報が正確になりました。
clevis-pin-tpm2が無効な JSON をサイレントに無視することがなくなりました今回のアップデート以前は、
clevis-pin-tpm2コマンドは TPM2 による暗号化中に JSON フィールド名を検証せず、タイプミスや無効なフィールド (たとえばpcr_idsの代わりにpcrs_idsなど) をサイレントに無視していました。その結果、ユーザーは、入力ミスなどによる誤った TPM2 設定の LUKS バインディングを意図せずに作成してしまう可能性がありました。これにより、TPM の状態が変化する際にロック解除に失敗し、システムが起動不能になる恐れがありました。今回のアップデートでは、暗号化時に TPM2 設定内の未知のフィールドを拒否するための JSON スキーマ検証機能が追加されました。その結果、TPM2 の JSON 設定内に無効なフィールド名がある場合は、明確なエラーメッセージと共に正しく拒否されるようになります。これにより、ロック解除の失敗につながるような、気づきにくい設定ミスを未然に防ぐことができます。
fapolicyd-cli --check-trustdbは、サイズやチェックサム情報のないファイルを報告しなくなりましたたとえば、
/usr/lib/rpm/redhat/redhat-annobin-cc1や/etc/selinux/targeted/policy/policy.33など、RPM パッケージが所有する一部のファイルは、インストール中およびインストール後に内容が変更されることが想定されていますが、これらは引き続き対応するパッケージの所有として管理されます。したがって、fapolicydは、そのようなファイルを検証できません。今回のリリースにより、fapolicydフレームワークは、RPM データベースにサイズ情報またはチェックサム情報がないファイルを信頼データベースに追加しなくなりました。その結果、fapolicyd-cli --check-trustdbコマンドは、そのようなファイルに対してmiscompares: size sha256エラーメッセージを報告しません。
- Keylime registrar が EK 証明書を破損しなくなりました
今回のアップデート以前は、Keylime registrar が、形式が不正な Endorsement Key (EK) 証明書に対して、不要なデータ変換を実行していました。このプロセスにより証明書が破損し、署名が無効になっていました。そのため、非標準の証明書を持つ Trusted Platform Module (TPM) デバイスに対して、
ek_check_scriptの回避策を使用できませんでした。今回のアップデートにより、データベースがデータ破損なく EK 証明書を保存できるようになりました。そのため、Keylime registrar とカスタム検証スクリプトを使用して、不正な証明書を持つ TPM デバイスを検証できます。
Jira:RHEL-111167[1]
- Keylime エージェントは ECC キーを使用して TPM クォートを正しく生成します
今回のアップデート以前は、署名付き Trusted Platform Module (TPM) クォートを生成する際に、
keylime-agent-rustコンポーネントは Elliptic Curve Cryptography (ECC) 鍵アルゴリズムを適切にサポートしていませんでした。これにより、エージェントは TPM クォート証拠を生成できず、ECC 鍵タイプでの登録に失敗していました。今回のアップデートにより、keylime-agent-rustコンポーネントは、TPM クォート生成時に ECC 鍵アルゴリズムを正しく処理するようになりました。これにより、エージェントは正常に TPM クォートを生成して verifier に登録し、TPM で生成された ECC 鍵による完全なアテステーション機能を提供できるようになりました。
- Keylime verifier が ECC 鍵で署名された TPM クォートを正しく検証できるようになりました
今回のアップデート以前は、エージェントからの署名済み Trusted Platform Module (TPM) クォートを検証する際に、Keylime verifier コンポーネントが Elliptic Curve Cryptography (ECC) 鍵アルゴリズムを適切にサポートしていませんでした。これにより、エージェントが ECC 鍵タイプ
ecc521、ecc384、ecc256、ecc224、またはecc192を使用した場合に、アテステーションエラーが発生していました。今回のアップデートにより、verifier は ECC 鍵で署名された TPM クォートを正しく処理し、検証できるようになりました。その結果、Keylime はこれらのアルゴリズムに対して完全なアテステーション機能を提供します。
scpユーティリティーは、..を含む相対パスを正しく処理します今回のアップデート以前は、
scpユーティリティーにおいて、パスに含まれる..親ディレクトリーのインジケーターが実際のディレクトリー名に展開されませんでした。その結果、scpは..を含む相対パスを誤って処理していました。今回のアップデートにより、親ディレクトリー表示に関する特別な処理が追加されました。その結果、scpは..を含むパスを正しく処理するようになりました。
- SELinux で制限されたユーザーが
ssh-agentでスマートカードを使用できます 今回のアップデート以前は、
ssh-pkcs11-helperバイナリーに特定の SELinux セキュリティーコンテキストが欠けていました。そのため、制限されたユーザーがssh-agentプログラムにリクエストを送信することができませんでした。その結果、user_uやstaff_uなどの制限されたユーザーが、スマートカードベースの鍵をssh-agentに追加できませんでした。今回のアップデートにより、ssh-pkcs11-helperにssh_agent_exec_tというラベルが付けられ、結果をキャッシュするためのルールがさらに追加されました。その結果、制限されたユーザーでもssh-agentを使用してスマートカードを正常に使用できるようになりました。そのため、エージェントが PKCS #11 鍵に正しくアクセスして、結果をユーザーのホームキャッシュにキャッシュすることが可能になりました。
- NSS データベースのパスワード更新で ML-DSA シードが破損しなくなりました
今回のアップデート以前は、データベースのパスワードを変更した際に、NSS がデータベースの再暗号化を処理する方法にバグがあるため、ML-DSA のシード属性が更新されないという問題が発生していました。その結果、以前のパスワードを知っていたとしても、シード値が永久に失われてしまいました。
今回のアップデートにより、パスワードの変更時に ML-DSA のシード属性が正しく更新されるようになりました。これにより、シード値が永久に失われる問題が解消されました。なお、今回のアップデート以前に失われたシードは、引き続き復元できない点に注意してください。
Jira:RHEL-127671[1]
- Clevis はイメージモードへの移行を正しく処理します
今回のアップデート以前は、パッケージモードからイメージモードへの移行時に、パッケージのインストールによるユーザーおよびグループのメンバーシップの更新が正しく適用されませんでした。その結果、
clevisユーザーがtssセキュリティーグループに追加されず、Clevis がシステムの起動中に Trusted Platform Module (TPM) デバイスにアクセスして暗号化キーを取得することが阻止されていました。今回のアップデートにより、Clevis パッケージのインストールプロセスが更新され、既存の設定ファイルが保持される場合でも、イメージモードの更新中にclevisユーザーがtssグループに適切に追加されるようになりました。これにより、Clevis はイメージモードのシステム上で TPM デバイスに適切にアクセスし、暗号鍵を正常に取得できるようになりました。
- SELinux ポリシーにより、制限されたユーザー向けの支援技術が無効化されなくなりました
今回のアップデート以前は、SELinux ポリシーにより、制限されたユーザーが Assistive Technology Service Provider Interface (AT-SPI) サービスを使用することが制限されていました。その結果、これらのサービスはグラフィカルデスクトップ環境では動作していませんでした。今回のアップデートにより、SELinux ポリシーに必要な実行権限とディレクトリーアクセス権限が追加されます。
その結果、Orca スクリーンリーダーやオンスクリーンキーボードなどの支援技術が、SELinux enforcing モードの制限されたユーザーに対しても正しく機能するようになります。
Jira:RHEL-133898[1]
/usr/share/*/bin/*バイナリーがfapolicydで動作します今回のアップデート以前は、
/usr/share/*/bin/ディレクトリーにあるバイナリーが、fapolicydサービスによって信頼済みデータベースに追加されていませんでした。たとえば、/usr/share/Modules/bin/mkrootバイナリーは追加されていませんでした。そのため、fapolicydルールでtrust=1オプションを使用している場合、ユーザーはこれらのバイナリーを実行できませんでした。この修正により、fapolicyd-filter.confファイルに*/bin/*が含まれるようになりました。その結果、fapolicydサービスが有効な状態で、/usr/share/*/bin/にあるバイナリーを実行できるようになりました。