2.3. SELinux の Enforcing モードへの変更
不正アクセスを拒否してシステムを保護するために、SELinux を enforcing モードで実行するように設定します。このモードでは、システムは読み込まれたセキュリティーポリシーを適用し、ポリシー違反をブロックします。SELinux を無効状態から有効にした場合、システムは次回の起動時に自動的にファイルのラベルを変更します。
SELinux を有効にしてシステムをインストールすると、RHEL はデフォルトで enforcing モードを有効にします。
前提条件
-
selinux-policy-targeted、libselinux-utils、およびpolicycoreutilsパッケージがシステムにインストールされている。 -
selinux=0またはenforcing=0カーネルパラメーターは使用されません。
手順
テキストエディターで
/etc/selinux/configファイルを開き、SELINUX=enforcingオプションを設定します。# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted変更を保存して、システムを再起動します。
# reboot次にシステムを起動する際に、SELinux はシステム内のファイルおよびディレクトリーのラベルを再設定し、SELinux が無効になっている間に作成したファイルおよびディレクトリーに SELinux コンテキストを追加します。
検証
システムの再起動後に、
getenforceコマンドがEnforcingを返すことを確認します。$ getenforce Enforcing
トラブルシューティング
Enforcing モードに変更したあと、SELinux ポリシールールが間違っていたか、設定されていなかったため、SELinux が一部のアクションを拒否する場合があります。
SELinux に拒否されるアクションを表示するには、root で以下のコマンドを実行します。
# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts todayまたは、
setroubleshoot-serverパッケージがインストールされている場合は、次のように入力します。# grep "SELinux is preventing" /var/log/messagesSELinux が有効で、Audit デーモン (
auditd) がシステムで実行していない場合は、dmesgコマンドの出力で SELinux メッセージを検索します。# dmesg | grep -i -e type=1300 -e type=1400
詳細は、SELinux に関連する問題のトラブルシューティング を参照してください。