LinuCレベル3 セキュリティスペシャリスト アクセスおよび権限制御の強化 問4
アクセスおよび権限制御の強化/SELinux による強制アクセス制御RHEL 9系のシステムで、SELinuxを完全に無効化(カーネル起動時点から無効)したい。Red Hatが推奨する手順として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「アクセスおよび権限制御の強化」に対応。実際の試験問題ではありません)
- Asetenforce 0 を実行し、その後も再起動するまで何もしない
- B/etc/selinux/config に SELINUX=disabled と書いて再起動する
- Cgrubby --update-kernel ALL --args selinux=0 を実行して再起動する
- Dsemanage permissive -a unconfined_t を実行して再起動する
正解:C
解説
RHEL 9では、/etc/selinux/config に SELINUX=disabled と書くだけでは、カーネルはSELinuxが有効な状態で起動し、ポリシーを読み込まないだけの状態になります。カーネルの時点からSELinuxを完全に無効にするには、grubbyでカーネルパラメータ selinux=0 をすべてのカーネルエントリに追加して再起動する方法が推奨されています。なお無効化はセキュリティを大きく下げるため、一時的な切り分けにはpermissiveモードを使うのが基本です。
選択肢ごとの解説
- A誤り。setenforce 0 は実行中のシステムをpermissiveモードにするだけで、無効化にはならず、再起動すると設定ファイルの状態に戻ります。
- B誤り。RHEL 9ではこの方法だとカーネルはSELinux有効のまま起動し、ポリシーが読み込まれないだけです。完全な無効化にはカーネルパラメータ selinux=0 を使います。
- C正しい。grubbyで全カーネルエントリに selinux=0 を付けると、カーネル起動時点からSELinuxが無効になります。RHEL 9の推奨手順です。
- D誤り。semanage permissive -a は特定のドメインだけをpermissiveにする機能で、SELinux全体を無効にするものではありません。