6.3. SELinux ポリシーの MLS への切り替え
SELinux ポリシーをターゲットの MLS (Multi-Level Security) から Multi-Level Security (MLS) に切り替えるには、以下の手順に従います。
X Window System を実行しているシステムでは、MLS ポリシーを使用しないでください。さらに、MLS ラベルでファイルシステムのラベルを変更すると、制限のあるドメインにアクセスできなくなる可能性があるため、システムが正常に起動しなくなる可能性があります。したがって、ファイルに再ラベルする前に、SELinux を Permissive モードに切り替えます。多くのシステムでは、MLS に移動後に SELinux の拒否が多く表示され、そのほとんどは修正するだけでは限りません。
手順
selinux-policy-mls
パッケージをインストールします。# dnf install selinux-policy-mls
任意のテキストエディターで
/etc/selinux/config
ファイルを開きます。以下に例を示します。# vi /etc/selinux/config
SELinux モードを Enforcing から Permissive に変更し、ターゲットポリシーから MLS に切り替えます。
SELINUX=permissive SELINUXTYPE=mls
変更を保存し、エディターを終了します。
MLS ポリシーを有効にする前に、MLS ラベルでファイルシステム上の各ファイルに再度ラベル付けする必要があります。
# fixfiles -F onboot System will relabel on next boot
システムを再起動します。
# reboot
SELinux 拒否を確認します。
# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent -i
上記のコマンドはすべてのシナリオに対応していないため、SELinux 拒否の識別、分析、修正のガイダンスは SELinux 関連の問題のトラブルシューティング を参照してください。
システムに SELinux に関連する問題がないことを確認したら、
/etc/selinux/config
で該当するオプションを変更して、SELinux を Enforcing モードに切り替えます。SELINUX=enforcing
システムを再起動します。
# reboot
システムが起動しなかったり、MLS に切り替えた後にログインできない場合は、enforcing=0
パラメーターをカーネルコマンドラインに追加します。詳細は、システムの起動時に SELinux モードの変更 を参照してください。
また、MLS では、sysadm_r
SELinux ロールにマッピングされた root
ユーザーとしての SSH ログインは staff_r
で root
としてログインするのとは異なります。MLS で初めてシステムを起動する前に、SELinux ブール値 ssh_sysadm_login
を 1
に設定して、SSH ログインを sysadm_r
として許可することを検討してください。後ですでに MLS に存在する ssh_sysadm_login
を有効にするには、すでに MLS にいる場合、root
として staff_r
ログインし、newrole -r sysadm_r
コマンドを使用して sysadm_r
で root
に切り替えてから、ブール値を 1
に設定します。
検証
SELinux が Enforcing モードで実行されていることを確認します。
# getenforce Enforcing
SELinux のステータスが
mls
の値を返すことを確認します。# sestatus | grep mls Loaded policy name: mls
関連情報
-
システム上の
fixfiles(8)
、setsebool(8)
、およびssh_selinux(8)
man ページ