過去問ドリル

LinuCレベル3 セキュリティスペシャリスト アクセスおよび権限制御の強化 問52

アクセスおよび権限制御の強化/SELinux による強制アクセス制御

RHEL 9系のシステムで、カスタムアプリケーションの動作がSELinuxに拒否された。/var/log/audit/audit.log の拒否メッセージから、最小限のカスタムポリシーモジュールを作成して読み込ませる手順として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「アクセスおよび権限制御の強化」に対応。実際の試験問題ではありません)

正解:B

解説

audit2allowは、audit.logに記録されたSELinuxの拒否メッセージからallowルールを生成するツールです。-Mオプションを付けると、Type Enforcementファイル(.te)とコンパイル済みのポリシーパッケージ(.pp)を一度に作成します。生成された.ppファイルはsemodule -iで読み込むと、カーネルのSELinuxポリシーにモジュールとして追加されます。audit2whyは拒否の原因を表示するツールですがポリシーは生成しません。chconはファイルのセキュリティコンテキストを一時変更するコマンドでポリシーの追加には使えません。

選択肢ごとの解説

  • A誤り。audit2whyはSELinuxの拒否の原因(ブール値の不足やタイプの不一致など)を表示するツールで、ポリシーモジュールは生成しない。semodule -iで読み込む対象も無い。
  • B正しい。audit2allow -Mは.teと.ppを一度に生成し、semodule -iで.ppファイルを読み込むことでカスタムのallowルールをポリシーに追加できる。
  • C誤り。audit2allow -aはallowルールをテキストとして標準出力に書き出すだけで、chconはファイルのセキュリティコンテキストを一時的に変更するコマンドであり、ポリシーモジュールの読み込みには使えない。
  • D誤り。semanage permissive -aは指定したドメインを寛容モードにし、拒否せずに記録だけする状態にする。カスタムポリシーモジュールの作成とは異なり、問題の根本解決にはならない。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く