6.8. セキュリティー
SELinux ポリシーの再読み込みでは、正しくない ENOMEM が発生しなくなりました。
以前では SELinux ポリシーをリロードすると、内部セキュリティーコンテキストルックアップテーブルが応答しなくなっていました。したがって、ポリシーの再ロード時にカーネルが新しいセキュリティーコンテキストに遭遇すると、正しくない Out of memory (ENOMEM) エラーで操作が失敗していました。今回の更新で、内部セキュリティー識別子 (SID) ルックアップテーブルが再設計され、フリーズしなくなりました。その結果、カーネルは、SELinux ポリシーの再読み込み時に誤解を招くエラーを返さなくなりました。
NSS が IPsec で使用する X.509 証明書を正しく処理するようになりました。
以前は、NSS ライブラリーは IPsec で使用する X.509 証明書を適切に処理しませんでした。その結果、X.509 証明書に serverAuth および clientAuth 属性が含まれていない空でない Extended Key Usage (EKU)属性がある場合、Libreswan IPsec の実装は証明書の検証を誤って拒否していました。今回の更新で、NSS の IPsec プロファイルが修正され、Libreswan が上記の証明書を許可できるようになりました。
NSS は、RSA-PSS 鍵を使用した RSA PKCS#1 v1.5 署名を受け入れなくなりました。
RSA-PSS 鍵は、RSA-PSS 署名のみの作成にのみ使用でき、PKCS#1 v1.5 アルゴリズムを使用する鍵を使用して行われた署名が標準に違反する場合に使用できます。以前は、ネットワークセキュリティーサービス (NSS) ライブラリーは、対応する秘密鍵を使用して作成された署名を検証するときに、サーバーが使用する RSA 公開鍵のタイプをチェックしませんでした。その結果、NSS は、RSA-PSS 鍵で行われた場合でも、PKCS#1 v1.5 署名を有効なものとして受け入れます。
バグが修正され、NSS ライブラリーは、対応する秘密鍵を使用して署名を検証する際にサーバーが使用する RSA 公開鍵のタイプを適切に確認するようになりました。その結果、このシナリオの署名は NSS で許可されなくなりました。
ユーザーの切り替え時に、承認されたキーへのアクセスが失敗しなくなりました。
以前は、AuthorizedKeysCommand* 設定オプションを使用して認証キーを取得するユーザーを変更すると、OpenSSH のグループ情報キャッシュがクリーンアップされませんでした。その結果、グループ情報が正しくないため、新しいユーザーの認証キーにアクセスしようとすると、失敗していました。このバグは修正され、ユーザーが変更されると認証キーが正常にアクセスされるようになりました。
scap-security-guide が、コンテナーおよびコンテナーイメージには適用されないルールを正しくスキップするようになりました。
SCAP セキュリティーガイドのコンテンツを使用して、コンテナーとコンテナーイメージをスキャンできるようになりました。コンテナーおよびコンテナーイメージに該当しないルールは、特定の CPE 識別子でマークされています。その結果、これらのルールの評価は自動的に省略され、コンテナーおよびコンテナーイメージのスキャン時に not applicable という結果が報告されます。
SCAP セキュリティーガイドの Ansible Playbook は、一般的なエラーが原因で失敗しなくなりました。
以前は、SCAP Security Guide コンテンツに含まれる Ansible タスクは、設定ファイルの欠落、存在しないファイル、またはアンインストールされたパッケージなど、特定の一般的なケースを処理できませんでした。その結果、SCAP Security Guide から Ansible Playbook を使用する場合や oscap コマンドで生成された場合、ansible-playbook コマンドはすべてのエラーで終了していました。今回の更新で、一般的なケースを処理するように Ansible タスクが更新され、Playbook の実行中に一般的なエラーが発生した場合でも、SCAP セキュリティーガイドの Ansible Playbook を正常に実行できるようになりました。
SCAP Security Guide が dconf 設定を正しくチェックするようになりました。
今回の更新以前は、SCAP Security Guide プロジェクトで使用される OVAL (Open Vulnerability and Assessment Language) チェックは、dconf バイナリーデータベースを直接チェックしませんでしたが、それぞれのキーファイルのみを確認していました。これにより、スキャン結果が誤検出されたり、負の値になったりする可能性がありました。今回の更新で、SCAP Security Guide は 1 つ以上のチェックコンポーネントを追加し、dconf バイナリーデータベースがそれらのキーファイルに関して最新の状態になるようにします。その結果、複雑なチェックは dconf 設定を正しくチェックするようになりました。
SELinux により、gssd_t プロセスが他のプロセスのカーネルキーリングにアクセスできるようになりました。
以前は、SELinux ポリシーに gssd_t タイプの allow ルールがありませんでした。これにより、Enforcing モードの SELinux により、gssd_t が他のプロセスのカーネルキーリングにアクセスできない可能性があり、sec=krb5 マウントなどがブロックされる可能性があります。このルールがポリシーに追加され、gssd_t として実行されているプロセスが他のプロセスのキーリングにアクセスできるようになりました。
SELinux が snapperd によるセキュリティー以外のディレクトリーの管理をブロックしなくなりました。
今回の更新以前は、snapper デーモン (snapperd) の allow ルールが SELinux ポリシーに欠落していました。したがって、snapper は、Enforcing モードで SELinux を使用して、新しいスナップショットの btrfs ボリューム上に設定ファイルを作成できませんでした。今回の更新で、不足しているルールが追加され、SELinux により snapperd がセキュリティー以外のディレクトリーをすべて管理できるようになりました。
sudo I/O ロギング機能が、SELinux が制限されたユーザーでも機能するようになりました。
今回の SELinux ポリシーの更新前に、ユーザードメインが汎用疑似端末インターフェイスの使用を許可するルールが欠落していました。そのため、sudo ユーティリティーの I/O ロギング機能は、SELinux が制限されたユーザーに対して機能しませんでした。不足しているルールがポリシーに追加され、上記のシナリオで I/O ロギング機能が失敗しなくなりました。
(BZ#1564470)
LDAP を使用して設定された sudo が sudoRunAsGroup を正しく処理
以前のバージョンでは、LDAP を使用して設定された sudo ツールは、sudoRunAsGroup 属性が定義され、sudoRunAsUser 属性が定義されていなかった場合にケースを正しく処理しませんでした。これにより、root ユーザーがターゲットユーザーとして使用されていました。今回の更新で、sudoers.ldap (5) man ページに記載されている動作と一致するように sudoRunAsGroup の処理が修正され、上記のシナリオで sudo が適切に動作するようになりました。