7.5. セキュリティー

pkcs11 のパディングが改善

以前は、pkcs11 トークンラベルにスマートカードの追加のパディングが含まれていました。そのため、誤ったパディングにより、label 属性に基づいてカードの一致が生じる可能性がありました。今回の更新で、全カードでパディングが修正され、PKCS #11 の URI を定義し、アプリケーション内のそれらに対して一致させることが期待どおりに機能するようになりました。

(BZ#1877973)

sealert 接続の問題処理を修正しました。

以前では、setroubleshoot デーモンのクラッシュにより、sealert プロセスが応答しなくなる可能性がありました。そのため、GUI で分析が表示されず応答しなくなり、コマンドラインツールは何も出力せず、強制終了されるまで実行を継続していました。今回の更新で、sealertsetroubleshootd 間の接続問題の処理が改善されました。sealert は、setroubleshoot デーモンがクラッシュした場合にエラーメッセージを報告し、終了するようになりました。

(BZ#1875290)

setroubleshoot による監査レコード分析の最適化

以前は、setroubleshoot-3.3.23-1 で導入された新機能はパフォーマンスに悪影響を与えるため、AVC 分析は以前よりも 8 回遅くなります。今回の更新で、AVC 分析時間が大幅に削減される最適化機能が提供されます。

(BZ#1794807)

SELinux ポリシーインターフェイスパーサーを修正しました。

以前のバージョンでは、ポリシーインターフェイスパーサーは構文エラーメッセージが表示されていました。これには、カスタムポリシーをインストールすると、インターフェイスファイルに ifndef ブロックが含まれていました。今回の更新で、インターフェイスファイルの解析が改善され、この問題が解決されました。

(BZ#1868717)

setfiles がラベル付けエラーで停止しない

以前のバージョンでは、setfiles ユーティリティーは、ファイルの再ラベルに失敗したたびに停止していました。そのため、誤ったファイルにラベルが付けられたファイルがターゲットディレクトリーに残されていました。今回の更新により、setfiles は再ラベルできないファイルを省略し、setfiles はターゲットディレクトリーのすべてのファイルを処理するようになりました。

(BZ#1926386)

SELinux ポリシーストアを再構築すると、電源が切れやすくなります。

以前のリリースでは、キャッシュの書き込みにより、SELinux-policy を再構築すると、電源障害に耐えませんでした。そのため、ポリシーの再ビルド時に、SELinux ポリシーストアが機能しなくなると、電源障害が発生する可能性があります。今回の更新で、libsemanage ライブラリーは、メタデータおよびキャッシュされたファイルデータに対する保留中の変更はすべて、これを使用する前にポリシーストアが含まれるファイルシステムに書き込まれるようになりました。その結果、ポリシーストアは電源障害や他の中断に対してより回復できるようになりました。

(BZ#1913224)

libselinux で SELinux ユーザーのデフォルトコンテキストが正しく判断されるようになりました。

以前は、libselinux ライブラリーは、非推奨の security_compute_user() 関数を使用したため、一部のシステムで SELinux ユーザーのデフォルトのコンテキストを決定できませんでした。そのため、複雑なセキュリティーポリシーがあるシステムでは、一部のシステムサービスが利用できませんでした。今回の更新で、libselinuxsecurity_compute_user() を使用しなくなり、ポリシーの複雑性に関わらず、SELinux ユーザーのデフォルトのコンテキストが適切に判断されるようになりました。

(BZ#1879368)

SELinux により rsync モードの geo レプリケーションが失敗しなくなりました。

以前は、SELinux ポリシーでは、rsync_t で実行しているプロセスが security.trusted 拡張属性の値を設定できませんでした。そのため、Red Hat Gluster Storage(RHGS) の geo レプリケーションに失敗していました。この更新には、rsync_t プロセスによる security.trusted の設定を可能にする新しい SELinux ブール値 rsync_sys_admin が含まれます。その結果、rsync_sys_admin ブール値を有効にすると、rsyncsecurity.trusted 拡張属性を設定して geo レプリケーションに失敗しなくなりました。

(BZ#1889673)

OpenSCAP はメモリーが不足することなく、ファイルが大量に含まれるシステムをスキャンできるように。

以前のリリースでは、メモリーが少なく、ファイルが多数あるシステムをスキャンすると、OpenSCAP スキャナーが原因でシステムのメモリーがなくなることがありました。今回の更新で、OpenSCAP スキャナーのメモリー管理が改善されました。その結果、スキャナーは、たとえば、Server with GUI および Workstation を使用するパッケージグループなど、多数のファイルをスキャンする際に、RAM が少ないシステムでメモリーが不足することがなくなりました。

(BZ#1824152)

FAT が設定された CIS 予約システムが起動時に失敗しなくなる

以前は、SCAP Security Guide (SSG) の Center for Internet Security (CIS) プロファイルには、FAT ファイルシステムへのアクセスを行うカーネルモジュールの読み込みを無効にするルールが含まれていました。そのため、SSG がこのルールを修正した場合、システムは EFI システムパーティション (ESP) を含む FAT12, FAT16 および FAT32 ファイルシステムでフォーマットされたパーティションにアクセスできませんでした。これにより、システムが起動できませんでした。今回の更新で、ルールがプロファイルから削除されました。その結果、このファイルシステムを使用するシステムは起動に失敗しなくなりました。

(BZ#1927019)

OVAL チェックは GPFS をリモートとして考慮する

以前は、OpenSCAP スキャナーはマウントされた General Parallel File Systems (GPFS) をリモートファイルシステム (FS) として識別しませんでした。これにより、ローカルシステムのみに適用される OVAL チェックであっても、OpenSCAP は GPFS をスキャンしていました。これにより、スキャナーがリソースが不足し、スキャンの完了に失敗することがありました。今回の更新で、GPFS がリモート FS のリストに含まれるようになりました。その結果、OVAL チェックは GPFS をリモートの FS として正しく考慮し、スキャンは高速です。

(BZ#1840579)

fapolicyd-selinux SELinux ポリシーがすべてのファイルタイプに対応するようになりました。

以前では、fapolicyd-selinux SELinux ポリシーはすべてのファイルタイプに対応しませんでした。そのため、fapolicyd サービスは、sysfs などのスケジュールされていない場所にあるファイルにアクセスできませんでした。今回の更新で、fapolicyd サービスはすべてのファイルシステムタイプに準拠し、分析するようになりました。

(BZ#1940289)

fapolicyd が RHEL の更新を阻止しなくなりました。

更新で実行中のアプリケーションのバイナリーが置き換えられると、カーネルにより、接尾辞 (deleted) が追加されて、メモリー内のアプリケーションのバイナリーパスが変更されます。以前は、fapolicyd ファイルのアクセスポリシーデーモンは、このようなアプリケーションを信頼できないものとして処理していました。そのため、fapolicyd は、これらのアプリケーションがその他のファイルを開いて実行できませんでした。今回の更新で、fapolicyd はバイナリーパスの接尾辞を無視し、バイナリーが信頼データベースに一致するようになりました。これにより、fapolicyd がルールを正しく適用し、更新プロセスを完了できるようになりました。

(BZ#1896875)

USBGuard が 1.0.0-1 にリベースされました

usbguard パッケージが、アップストリームバージョン 1.0.0-1 にリベースされました。今回の更新では、改良されたバグ修正およびバグ修正が追加されました。主要な変更点は次のとおりです。

  • 安定したパブリック API により、後方互換性が確保されます。
  • rules.d ディレクトリー内のルールファイルは、英数字順を読み込むようになりました。
  • 1 つのルールで複数のデバイスのポリシーを変更できない場合に一部のユースケースが修正されました。
  • ラベルによるルールのフィルタリングでエラーが生成されなくなりました。

(BZ#1887448)

USBGuard が Audit メッセージを送信できるようになりました。

サービスのハードニングの一環として、CAP_AUDIT_WRITE がない間、usbguard.service の機能に制限されていました。そのため、システムサービスとして実行している usbguard は、Audit イベントを送信できませんでした。今回の更新で、サービス設定が更新され、USBGuard が Audit メッセージを送信できるようになりました。

(BZ#1940060)

tangd が無効な要求を適切に処理するようになりました。

以前では、tangd デーモンは、一部の無効なリクエストのエラー終了コードを返していました。これにより、tangd.socket@.service が失敗し、そのユニットの数が増加すると問題が発生する可能性がありました。今回の更新で、tangd サーバー自体が反応している場合にのみ、エラーコードで tangd が終了します。これにより、tangd が無効な要求を適切に処理します。

(BZ#1828558)