8.5. セキュリティー
USBGuard は、RuleFile が定義されていない場合でもルールを保存します。
以前は、USBGuard の RuleFolder
設定ディレクティブが設定されていても、RuleFile
が設定されていない場合、ルールセットを変更できませんでした。今回の更新により、RuleFile が設定されていなくても、RuleFolder が設定されている場合は、ルールセットを変更できるようになりました。その結果、USBGuard の永続ポリシーを変更して、新しく追加されたルールを永続的に保存できます。
python-sqlalchemy
が 1.4.45 にリベースされました。
python-sqlalchemy
パッケージがバージョン 1.4.45 にリベースされ、バージョン 1.4.37 に比べて多くのバグ修正が行われています。最も注目すべき点は、このバージョンにはキャッシュキー生成における重大なメモリーバグの修正が含まれているということです。
crypto-policies
はバインドの NSEC3DSA を無効にするようになりました。
以前は、システム全体の暗号化ポリシーは、バインド設定の NSEC3DSA アルゴリズムを制御していませんでした。その結果、現在のセキュリティー要件を満たしていない NSEC3DSA は、DNS サーバーで無効になりませんでした。この更新により、すべての暗号化ポリシーはデフォルトでバインド設定の NSEC3DSA を無効にします。
SECLEVEL=3
の OpenSSL が PSK 暗号スイートで動作するようになりました。
以前は、事前共有キー (PSK) 暗号スイートは、PFS (Perfect Forward Secrecy) キー交換方式を実行すると認識されませんでした。その結果、ECDHE-PSK
および DHE-PSK
暗号スイートは、たとえば、システム全体の暗号化ポリシーが FUTURE
に設定されている場合、SECLEVEL=3
に設定された OpenSSL では機能しませんでした。openssl
パッケージの新しいバージョンでは、この問題が解決されています。
Clevis は、crypttab
でコメントアウトされたデバイスを正しくスキップするようになりました。
以前は、Clevis が crypttab
ファイル内のコメントアウトされたデバイスのロックを解除しようとしたため、デバイスが有効でない場合でも clevis-luks-askpass
サービスが実行されてしまいました。これにより、不必要なサービスが実行され、トラブルシューティングが困難になりました。
この修正により、Clevis はコメントアウトされたデバイスを無視します。現在、無効なデバイスがコメントアウトされている場合、Clevis はそのデバイスのロックを解除しようとせず、clevis-luks-askpass
が適切に終了します。これにより、トラブルシューティングが容易になり、不必要なサービスの実行が削減されます。
Clevis は pwmake
に過剰なエントロピーを要求しなくなりました。
以前は、Clevis が pwmake
を使用してデータを LUKS
メタデータに保存するためのパスワードを作成するときに、pwmake
パスワード生成ユーティリティーによって不要な警告が表示され、Clevis が使用するエントロピーが低下していました。この更新により、Clevis は pwmake
に提供されるエントロピービットが 256 に制限され、不要な警告が排除され、正しい量のエントロピーが使用されます。
USBGuard で紛らわしい警告が表示されなくなりました。
以前は、親プロセスが最初の子プロセスよりも早く終了すると、USBGuard で競合状態が発生することがありました。その結果、systemd
は、誤って識別された親 PID (PPID) を持つプロセスが存在すると報告しました。この更新により、親プロセスは最初の子プロセスが作業モードで終了するまで待機します。その結果、systemd
は、そのような警告を報告しなくなります。
OOM キラーが usbguard
を途中で終了させなくなりました。
以前は、usbguard.service
ファイルには、systemd
サービスの OOMScoreAdjust
オプションの定義が含まれていませんでした。その結果、システムのリソースが不足すると、usbguard-daemon
プロセスが他の権限のないプロセスよりも前に終了する可能性がありました。今回の更新により、usbguard.service
ファイルに OOMScoreAdjust
設定が含まれるようになり、メモリー不足 (OOM) キラーが usbguard-daemon
プロセスを途中で終了するのを防ぎます。
logrotate
はログローテーションで Rsyslog に誤って通知しなくなりました。
以前は、logrotate
スクリプトで引数の順序が誤って設定されており、構文エラーが発生していました。これにより、logrotate
がログローテーション中に Rsyslog に正しく信号を送信できなくなりました。
今回の更新により、logrotate
の引数の順序が修正され、POSIXLY_CORRECT
環境変数が設定されている場合でも、logrotate
はログローテーション後に Rsyslog に正しく通知するようになりました。
imklog
は失われたオブジェクトに対して free()
を呼び出さなくなりました。
以前は、imklog
モジュールは、すでに解放されたオブジェクトに対して free()
関数を呼び出していました。その結果、imklog
によってセグメンテーション違反が発生する可能性があります。今回の更新により、オブジェクトが 2 回解放されることがなくなりました。
fagenrules --load
が正常に動作するようになりました
以前は、fapolicyd
サービスはシグナルのハングアップ (SIGHUP) を正しく処理しませんでした。そのため、fapolicyd
は SIGHUP を受信した後に終了し、fagenrules --load
コマンドが正しく機能しませんでした。この更新では、その問題が修正されました。その結果、fagenrules --load
が正常に機能し、ルール更新時に fapolicyd
を手動で再起動する必要がなくなりました。
スキャンと修復は 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 の修復から削除されました。その結果、チェックおよび修復中にキーフィールドによって引き起こされる不一致は発生しなくなり、監査人はこれらのキーを任意に選択して監査ログの検索を容易にすることができます。
Keylime は、複数の IMA で測定されたファイルにアクセスするシステムの認証に失敗しなくなりました。
以前は、Keylime エージェントを実行するシステムが、Integrity Measurement Architecture (IMA) によって測定された複数のファイルに連続してアクセスした場合、Keylime ベリファイアは IMA ログの追加を誤って処理していました。その結果、実行中のハッシュが正しいプラットフォーム設定レジスター (PCR) の状態と一致せず、システムは認証に失敗しました。この更新により問題が修正され、複数の測定ファイルに迅速にアクセスするシステムが認証に失敗することがなくなりました。
Keylime ポリシー生成スクリプトでセグメンテーションフォールトとコアダンプが発生しなくなりました。
create_mb_refstate
スクリプトは、Keylime で測定されたブート認証用のポリシーを生成します。以前は、create_mb_refstate
が DevicePath
フィールドのデータ長を誤って計算していました。その結果、スクリプトは誤って計算された長さを使用して無効なメモリーにアクセスしようとし、セグメンテーションフォールトとコアダンプが発生しました。
アドバイザリー RHBA-2023:0309 で公開されたこの更新プログラムは、測定されたブートイベントログを処理する際のセグメンテーションフォールトを防止します。その結果、測定されたブートポリシーを生成できます。
TPM 証明書によって Keylime レジストラがクラッシュすることはなくなりました。
以前は、Keylime TPM 証明書ストア内の一部の証明書は不正な形式の x509 証明書であり、Keylime レジストラーのクラッシュを引き起こしていました。この更新により問題が修正され、不正な形式の証明書が原因で Keylime レジストラーがクラッシュすることはなくなりました。