5.4.4. セキュリティー
SELinux により、systemd-journal-gatewayd が corosync で使用される /dev/shm/ ファイルで newfstatat() を呼び出さなくなりました。
以前のバージョンでは、SELinux ポリシーには、systemd-journal-gatewayd が corosync サービスによって作成されるファイルにアクセスできるルールが含まれません。その結果、SELinux は、systemd-journal-gatewayd による、corosync で作成された共有メモリーファイルの newfstatat() 関数を呼び出しを拒否します。今回の更新で、SELinux は、systemd-journal-gatewayd が、corosync で作成された共有メモリーファイルの newfstatat() を呼び出すのを回避しなくなりました。
(BZ#1746398)
Libreswan が、すべての設定で seccomp=enabled で動作するようになりました。
この更新以前は、Libreswan SECCOMP サポート実装で許可された syscall のセットが、RHEL ライブラリーの新たな使用と一致しませんでした。したがって、SECCOMP が ipsec.conf ファイルで有効になっていると、syscall のフィルタリングは pluto デーモンの正常な機能に必要な syscall に拒否されました。このデーモンは強制終了され、ipsec サービスが再起動されました。今回の更新で、新しく要求されたシステムコールがすべて許可され、Libreswan が seccomp=enabled オプションで正しく機能するようになりました。
auditd によるシステムの停止や電源オフが SELinux によって阻止されなくなりました
以前のバージョンでは、SELinux ポリシーに、Audit デーモンが power_unit_file_t systemd ユニットを起動できるようにするルールがありませんでした。したがって、Logging ディスクパーティションに領域が残っていない場合などに auditd がシステムの停止や電源オフを行うことができるように設定されていても、これを行うことができませんでした。
selinux-policy パッケージの今回の更新で、不足しているルールが追加され、auditd が Enforcing モードでのみシステムを停止したり、電源をオフにできるようになりました。
IPTABLES_SAVE_ON_STOP が正常に動作するように
以前のバージョンでは、保存された IP テーブルコンテンツを持つファイルが間違った SELinux コンテキストを受け取るため、iptables サービスの IPTABLES_SAVE_ON_STOP 機能は機能しませんでした。これにより、iptables スクリプトはパーミッションを変更できず、その後のスクリプトでは変更を保存できませんでした。今回の更新で、iptables.save ファイルおよび ip6tables.save ファイルの適切なコンテキストを定義し、ファイル名の移行ルールが作成されます。これにより、iptables サービスの IPTABLES_SAVE_ON_STOP 機能が正しく機能します。
NSCD データベースが異なるモードを使用できるようになりました。
nsswitch_domain 属性のドメインは、Name Service Cache Daemon (NSCD) サービスにアクセスできます。各 NSCD データベースは thenscd.conf ファイルで設定され、共有プロパティーはデータベースが shared メモリー または Socket モードを使用するかどうかを決定します。以前のバージョンでは、すべての NSCD データベースは thenscd_use_shm ブール値に応じて同じアクセスモードを使用する必要がありました。現在は、Unix ストリームソケットが常に許可されるようになったため、異なる NSCD データベースが異なるモードを使用できるようになりました。
oscap-ssh ユーティリティーが、--sudo でリモートシステムをスキャンすると、正しく機能するようになりました。
oscap-ssh ツールで --sudo オプションを使用してリモートシステムの Security Content Automation Protocol (SCAP) スキャンを実行すると、リモートシステムの oscap ツールが、root ユーザーとして、スキャン結果ファイルとレポートファイルを一時ディレクトリーに保存します。以前は、リモートマシンの umask 設定を変更すると、oscap-ssh がこれらのファイルにアクセスできないことがありました。今回の更新で問題が修正され、oscap がターゲットユーザーとしてファイルを保存し、oscap -ssh が通常ファイルにアクセスします。
OpenSCAP が、リモートファイルシステムを正しく処理
以前は、マウント仕様が 2 つのスラッシュで開始されなかった場合に、OpenSCAP はリモートファイルシステムを確実に検出しませんでした。これにより、OpenSCAP が、一部のネットワークベースのファイルシステムをローカルとして処理していました。今回の更新で、OpenSCAP はマウント仕様ではなく、ファイルシステムタイプを使用してファイルシステムを特定します。これにより、OpenSCAP がリモートファイルシステムを正しく処理するようになりました。
OpenSCAP で YAML の複数行文字列から空の行が削除されなくなる
以前のバージョンでは、OpenSCAP は YAML の複数ライン文字列から、データストリームから生成された Ansible 修正から空の行を削除していました。この影響を受ける Ansible の修正により、openscap ユーティリティーが対応する Open Vulnerability and Assessment Language (OVAL) チェックに失敗し、誤検出結果が生成されます。この問題は修正され、openscap は YAML の複数行の文字列から空の行を削除しなくなりました。
OpenSCAP はメモリーが不足することなく、ファイルが大量に含まれるシステムをスキャンできるように。
以前のリリースでは、メモリーが少なく、ファイルが多数あるシステムをスキャンすると、OpenSCAP スキャナーが原因でシステムのメモリーがなくなることがありました。今回の更新で、OpenSCAP スキャナーのメモリー管理が改善されました。その結果、スキャナーは、たとえば、Server with GUI および Workstation を使用するパッケージグループなど、多数のファイルをスキャンする際に、RAM が少ないシステムでメモリーが不足することがなくなりました。
config.enabled がステートメントを適切に制御
以前のバージョンでは、rsyslog は、ステートメントの設定処理中に config.enabled ディレクティブを誤って評価していました。そのため、include() を除く各ステートメントに対して parameter not known エラーが表示されました。今回の更新で、すべてのステートメントに対して設定が同等に処理されます。その結果、config.enabled はエラーを表示せずに、ステートメントを正しく無効または有効にするようになりました。
(BZ#1659383)
fapolicyd が RHEL の更新を阻止しなくなりました。
更新で実行中のアプリケーションのバイナリーが置き換えられると、カーネルにより、接尾辞 " (deleted) が追加されて、メモリー内のアプリケーションのバイナリーパスが変更されます。以前のバージョンでは、fapolicyd ファイルアクセスポリシーデーモンは、信頼できないアプリケーションなどのように処理し、他のファイルを開き、実行できませんでした。そのため、更新の適用後にシステムを起動できないことがありました。
RHBA-2020:5242 アドバイザリーのリリースでは、fapolicyd がバイナリーパスの接尾辞を無視し、バイナリーが信頼データベースに一致するようにします。これにより、fapolicyd がルールを正しく適用し、更新プロセスを完了できるようになりました。
e8 プロファイルを使用して、Server with GUI で RHEL 8 システムを修復可能に
OpenSCAP Anaconda Add-on を使用して、Verify Integrity with RPM グループからルールを選択するプロファイルが含まれる Server With GUI パッケージグループでシステムを強化すると、システム上のメモリーが過剰に必要ではなくなりました。この問題の原因は OpenSCAP スキャナーでした。詳細は Scanning large numbers of files with OpenSCAP causes systems to run out of memory を参照してください。これにより、RHEL 8 Essential Eight (e8) プロファイルを使用してシステムを強化すると、Server With GUI も機能するようになりました。
(BZ#1816199)