8.5. セキュリティー

USBGuard は、RuleFile が定義されていない場合でもルールを保存します。

以前は、USBGuard の RuleFolder 設定ディレクティブが設定されていても、RuleFile が設定されていない場合、ルールセットを変更できませんでした。今回の更新により、RuleFile が設定されていなくても、RuleFolder が設定されている場合は、ルールセットを変更できるようになりました。その結果、USBGuard の永続ポリシーを変更して、新しく追加されたルールを永続的に保存できます。

Bugzilla:2155910

python-sqlalchemy が 1.4.45 にリベースされました。

python-sqlalchemy パッケージがバージョン 1.4.45 にリベースされ、バージョン 1.4.37 に比べて多くのバグ修正が行われています。最も注目すべき点は、このバージョンにはキャッシュキー生成における重大なメモリーバグの修正が含まれているということです。

Bugzilla:2152649

crypto-policies はバインドの NSEC3DSA を無効にするようになりました。

以前は、システム全体の暗号化ポリシーは、バインド設定の NSEC3DSA アルゴリズムを制御していませんでした。その結果、現在のセキュリティー要件を満たしていない NSEC3DSA は、DNS サーバーで無効になりませんでした。この更新により、すべての暗号化ポリシーはデフォルトでバインド設定の NSEC3DSA を無効にします。

Bugzilla:2152635

SECLEVEL=3 の OpenSSL が PSK 暗号スイートで動作するようになりました。

以前は、事前共有キー (PSK) 暗号スイートは、PFS (Perfect Forward Secrecy) キー交換方式を実行すると認識されませんでした。その結果、ECDHE-PSK および DHE-PSK 暗号スイートは、たとえば、システム全体の暗号化ポリシーが FUTURE に設定されている場合、SECLEVEL=3 に設定された OpenSSL では機能しませんでした。openssl パッケージの新しいバージョンでは、この問題が解決されています。

Bugzilla:2060044

Clevis は、crypttab でコメントアウトされたデバイスを正しくスキップするようになりました。

以前は、Clevis が crypttab ファイル内のコメントアウトされたデバイスのロックを解除しようとしたため、デバイスが有効でない場合でも clevis-luks-askpass サービスが実行されてしまいました。これにより、不必要なサービスが実行され、トラブルシューティングが困難になりました。

この修正により、Clevis はコメントアウトされたデバイスを無視します。現在、無効なデバイスがコメントアウトされている場合、Clevis はそのデバイスのロックを解除しようとせず、clevis-luks-askpass が適切に終了します。これにより、トラブルシューティングが容易になり、不必要なサービスの実行が削減されます。

Bugzilla:2159728

Clevis は pwmake に過剰なエントロピーを要求しなくなりました。

以前は、Clevis が pwmake を使用してデータを LUKS メタデータに保存するためのパスワードを作成するときに、pwmake パスワード生成ユーティリティーによって不要な警告が表示され、Clevis が使用するエントロピーが低下していました。この更新により、Clevis は pwmake に提供されるエントロピービットが 256 に制限され、不要な警告が排除され、正しい量のエントロピーが使用されます。

Bugzilla:2159735

USBGuard で紛らわしい警告が表示されなくなりました。

以前は、親プロセスが最初の子プロセスよりも早く終了すると、USBGuard で競合状態が発生することがありました。その結果、systemd は、誤って識別された親 PID (PPID) を持つプロセスが存在すると報告しました。この更新により、親プロセスは最初の子プロセスが作業モードで終了するまで待機します。その結果、systemd は、そのような警告を報告しなくなります。

Bugzilla:2042345

OOM キラーが usbguard を途中で終了させなくなりました。

以前は、usbguard.service ファイルには、systemd サービスの OOMScoreAdjust オプションの定義が含まれていませんでした。その結果、システムのリソースが不足すると、usbguard-daemon プロセスが他の権限のないプロセスよりも前に終了する可能性がありました。今回の更新により、usbguard.service ファイルに OOMScoreAdjust 設定が含まれるようになり、メモリー不足 (OOM) キラーが usbguard-daemon プロセスを途中で終了するのを防ぎます。

Bugzilla:2097419

logrotate はログローテーションで Rsyslog に誤って通知しなくなりました。

以前は、logrotate スクリプトで引数の順序が誤って設定されており、構文エラーが発生していました。これにより、logrotate がログローテーション中に Rsyslog に正しく信号を送信できなくなりました。

今回の更新により、logrotate の引数の順序が修正され、POSIXLY_CORRECT 環境変数が設定されている場合でも、logrotate はログローテーション後に Rsyslog に正しく通知するようになりました。

Bugzilla:2124488

imklog は失われたオブジェクトに対して free() を呼び出さなくなりました。

以前は、imklog モジュールは、すでに解放されたオブジェクトに対して free() 関数を呼び出していました。その結果、imklog によってセグメンテーション違反が発生する可能性があります。今回の更新により、オブジェクトが 2 回解放されることがなくなりました。

Bugzilla:2157659

fagenrules --load が正常に動作するようになりました

以前は、fapolicyd サービスはシグナルのハングアップ (SIGHUP) を正しく処理しませんでした。そのため、fapolicyd は SIGHUP を受信した後に終了し、fagenrules --load コマンドが正しく機能しませんでした。この更新では、その問題が修正されました。その結果、fagenrules --load が正常に機能し、ルール更新時に fapolicyd を手動で再起動する必要がなくなりました。

Bugzilla:2070655

スキャンと修復は SCAP 監査ルールを正しく無視します。

以前は、監査キー (-k または -F キー) を使用せずに定義された監査監視ルールでは、次の問題が発生しました。

  • ルールの他の部分が正しい場合でも、ルールは非準拠としてマークされていました。
  • Bash 修復により監視ルールのパスと権限が修正されましたが、監査キーが正しく追加されませんでした。
  • 修復によって欠落したキーが修正されず、fixed 値の代わりに error が返されることがありました。

これは次のルールに影響を与えました。

  • audit_rules_login_events
  • audit_rules_login_events_faillock
  • audit_rules_login_events_lastlog
  • audit_rules_login_events_tallylog
  • audit_rules_usergroup_modification
  • audit_rules_usergroup_modification_group
  • audit_rules_usergroup_modification_gshadow
  • audit_rules_usergroup_modification_opasswd
  • audit_rules_usergroup_modification_passwd
  • audit_rules_usergroup_modification_shadow
  • audit_rules_time_watch_localtime
  • audit_rules_mac_modification
  • audit_rules_networkconfig_modification
  • audit_rules_sysadmin_actions
  • audit_rules_session_events
  • audit_rules_sudoers
  • audit_rules_sudoers_d

この更新により、Audit キーがチェック、Bash および Ansible の修復から削除されました。その結果、チェックおよび修復中にキーフィールドによって引き起こされる不一致は発生しなくなり、監査人はこれらのキーを任意に選択して監査ログの検索を容易にすることができます。

Bugzilla:2120978

Keylime は、複数の IMA で測定されたファイルにアクセスするシステムの認証に失敗しなくなりました。

以前は、Keylime エージェントを実行するシステムが、Integrity Measurement Architecture (IMA) によって測定された複数のファイルに連続してアクセスした場合、Keylime ベリファイアは IMA ログの追加を誤って処理していました。その結果、実行中のハッシュが正しいプラットフォーム設定レジスター (PCR) の状態と一致せず、システムは認証に失敗しました。この更新により問題が修正され、複数の測定ファイルに迅速にアクセスするシステムが認証に失敗することがなくなりました。

Bugzilla:2138167

Keylime ポリシー生成スクリプトでセグメンテーションフォールトとコアダンプが発生しなくなりました。

create_mb_refstate スクリプトは、Keylime で測定されたブート認証用のポリシーを生成します。以前は、create_mb_refstateDevicePath フィールドのデータ長を誤って計算していました。その結果、スクリプトは誤って計算された長さを使用して無効なメモリーにアクセスしようとし、セグメンテーションフォールトとコアダンプが発生しました。

アドバイザリー RHBA-2023:0309 で公開されたこの更新プログラムは、測定されたブートイベントログを処理する際のセグメンテーションフォールトを防止します。その結果、測定されたブートポリシーを生成できます。

Bugzilla:2140670

TPM 証明書によって Keylime レジストラがクラッシュすることはなくなりました。

以前は、Keylime TPM 証明書ストア内の一部の証明書は不正な形式の x509 証明書であり、Keylime レジストラーのクラッシュを引き起こしていました。この更新により問題が修正され、不正な形式の証明書が原因で Keylime レジストラーがクラッシュすることはなくなりました。

Bugzilla:2142009