過去問ドリル

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

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

RHEL 9系で、Apache(httpd)がネットワーク上のデータベースサーバーに接続することをSELinuxが拒否している。/var/log/audit/audit.log に `httpd_can_network_connect_db` に関するAVC拒否ログがあった。再起動後もこの変更を維持したまま許可する操作として適切なものはどれか。

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

正解:A

解説

SELinuxのブール値を永続的に変更するには `setsebool -P` を使います。-P(--persistent)オプションを付けることで、設定がポリシーのストアに書き込まれ、再起動後も維持されます。-P を付けない `setsebool` は現在の実行中セッションにだけ有効で、再起動すると元に戻ります。`semanage fcontext` はファイルのセキュリティコンテキストを管理するコマンドでブール値の操作には使いません。`setenforce` はSELinuxの動作モード(enforcing/permissive)を切り替えるコマンドで、ブール値を設定する機能はありません。

選択肢ごとの解説

  • A正しい。setsebool -P はブール値をポリシーに永続保存する。-P を付けることで再起動後も設定が維持される。
  • B誤り。-P なしの setsebool はカーネルメモリ上だけに設定を書き込み、再起動すると元の値に戻る。永続化するには -P が必要である。
  • C誤り。semanage fcontext はファイルのSELinuxコンテキストのマッピングを管理するコマンドであり、ブール値の設定には使わない。ブール値の管理は setsebool や semanage boolean で行う。
  • D誤り。setenforce は SELinux の動作モードを enforcing(1)または permissive(0)に切り替えるコマンドで、個別のブール値を設定する機能は持たない。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く