6.3. SELinux ポリシーの MLS への切り替え
SELinux ポリシーをターゲットモードから Multi-Level Security (MLS) モードに切り替えます。起動時の潜在的なエラーを防ぐため、まず permissive モードに切り替えてファイルのラベルを変更します。
X Window System を実行しているシステムでは、MLS ポリシーを使用しないでください。さらに、MLS ラベルでファイルシステムのラベルを変更すると、制限のあるドメインにアクセスできなくなる可能性があるため、システムが正常に起動しなくなる可能性があります。したがって、ファイルに再ラベルする前に、SELinux を Permissive モードに切り替えます。ほとんどのシステムでは、MLS に切り替えた後、SELinux によるアクセス拒否が多数発生し、その多くは簡単に解決できるものではありません。
手順
selinux-policy-mlsパッケージをインストールします。# dnf install selinux-policy-mls任意のテキストエディターで
/etc/selinux/configファイルを開きます。以下に例を示します。# vi /etc/selinux/configSELinux モードを Enforcing から Permissive に変更し、ターゲットポリシーから MLS に切り替えます。
SELINUX=permissive SELINUXTYPE=mls変更を保存し、エディターを終了します。
MLS ポリシーを有効にする前に、MLS ラベルでファイルシステム上の各ファイルに再度ラベル付けする必要があります。
# fixfiles -F onboot System relabels on next bootシステムを再起動します。
# rebootSELinux 拒否を確認します。
# 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_rSELinux ロールにマッピングされたrootユーザーとしての SSH ログインはstaff_rでrootとしてログインするのとは異なります。MLS で初めてシステムを起動する前に、SELinux ブール値ssh_sysadm_loginを1に設定して、SSH ログインをsysadm_rとして許可することを検討してください。後でssh_sysadm_loginを有効にするには、すでに MLS が有効な状態で、staff_rのrootとしてログインし、newrole -r sysadm_rコマンドを使用してsysadm_rのrootに切り替え、ブール値を1に設定する必要があります。
検証
SELinux が Enforcing モードで実行されていることを確認します。
# getenforce EnforcingSELinux のステータスが
mlsの値を返すことを確認します。# sestatus | grep mls Loaded policy name: mls