Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.3.4. Permissive ドメイン

SELinux が Permissive モードで実行している場合、SELinux はアクセスを拒否しませんが、Enforcing モードで実行しても拒否されるアクションのログは SELinux によって記録されます。以前は、1 つのドメインを Permissive にすることはできませんでした (プロセスはドメインで実行されることに注意してください)。特定の状況では、これによりシステム全体が問題のトラブルシューティングを受け入れられるようになりました。
パーミッションドメインを使用すると、管理者はシステム全体を許容するのではなく、1 つのプロセス (ドメイン) に対して Permissive を実行するように設定できます。SELinux によるチェックは依然として Permissive ドメインに対して実行されますが、カーネルは、SELinux がアクセスを拒否したであろう状況では、アクセスを許可し、AVC の拒否を報告します。
Permissive ドメインには、以下の用途があります。
  • これを使用すると、1 つのプロセス (ドメイン) を Permissive にして、システム全体をリスクにさらさずに問題のトラブルシューティングを行うことができます。
  • これにより、管理者は新しいアプリケーションのポリシーを作成できます。以前は、最小限のポリシーを作成してから、マシン全体を Permissive モードにしてアプリケーションを実行できるようにし、SELinux の拒否ログが記録されるようにすることが推奨されていました。次に、ポリシーを作成するために audit2allow を使用することができます。これにより、システム全体が危険にさらされていました。Permissive ドメインでは、システム全体を危険にさらさずに、新しいポリシーのドメインのみが Permissive とマークされます。

11.3.4.1. ドメインを Permissive にする

ドメインを Permissive にするには、semanage permissive -a domain コマンドを実行します。domain は、Permissive にするドメインです。たとえば、root で次のコマンドを実行して、httpd_t ドメイン (Apache HTTP サーバーを実行しているドメイン) を Permissive (許容) にします。
~]# semanage permissive -a httpd_t
Permissive にしたドメインの一覧を表示するには、root で semodule -l | grep permissive を実行します。以下に例を示します。
~]# semodule -l | grep permissive
permissive_httpd_t    (null)
permissivedomains     (null)
ドメインを Permissive にしない場合は、root で semanage permissive -d domain コマンドを実行します。以下に例を示します。
~]# semanage permissive -d httpd_t