過去問ドリル

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

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

RHEL 9系でApacheのドキュメントルートを /srv/web に変更したところ、SELinuxに拒否されて表示できない。ファイルシステムの再ラベル付けを行っても失われない形でコンテキストを直す手順として適切なものはどれか。

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

正解:A

解説

SELinuxのファイルコンテキストを恒久的に変えるには、semanage fcontext -a でパスの正規表現とタイプの対応をポリシーのローカル設定に登録し、restoreconでその定義どおりにラベルを付け直します。chconはラベルを直接書き換えるだけなので、restoreconやファイルシステム全体の再ラベル付けで元に戻ってしまいます。なおmvは元のコンテキストを保持したまま移動するため、ホームディレクトリで作ったファイルを移すと user_home_t 等のままになり、拒否の原因になります。ls -Z で現在のコンテキストを確認できます。

選択肢ごとの解説

  • A正しい。semanage fcontextで定義を登録し、restoreconで反映すれば、再ラベル付けを行っても同じコンテキストになります。
  • B誤り。chconの変更はポリシーに登録されないため、restoreconや再ラベル付けで消えます。/etc/selinux/config はモードとポリシータイプを指定するファイルで、コンテキストは書きません。
  • C誤り。mvは元のコンテキストを保持するため、ホームディレクトリ由来のラベルのまま配置され、むしろ拒否の原因になります。cp(新規作成)なら移動先の既定ラベルが付きます。
  • D誤り。httpd_read_user_content はユーザーのホームディレクトリ内のコンテンツを読ませるためのブール値で、/srv/web のラベル不一致は解決しません。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く