SELinuxをPermissiveモードに設定するにはどうすればよいですか?

How Do I Set Selinux Permissive Mode



SELinuxまたはSecurity-EnhancedLinux、つまりLinuxベースのシステムのセキュリティメカニズムは、デフォルトで強制アクセス制御(MAC)で動作します。このアクセス制御モデルを実装するために、SELinuxは、アクセス制御に関するすべてのルールが明示的に記述されているセキュリティポリシーを利用します。これらのルールに基づいて、SELinuxは、ユーザーへのオブジェクトへのアクセスの許可または拒否に関する決定を行います。

今日の記事では、SELinuxの重要な詳細を説明した後、SELinuxをPermissiveモードに設定する方法を紹介します。







SELinux Permissive Modeとは何ですか?

Permissiveモードは、SELinuxが動作する3つのモード、つまりEnforcing、Permissive、Disabledの1つでもあります。これらはSELinuxモードの3つの特定のカテゴリーですが、一般的に、SELinuxは特定のインスタンスで有効または無効になると言えます。強制モードと許容モードはどちらも有効カテゴリに分類されます。つまり、SELinuxが有効になっている場合は常に、EnforcingモードまたはPermissiveモードのいずれかで動作することを意味します。



これが、ほとんどのユーザーが強制モードと許容モードの間で混乱する理由です。結局のところ、どちらも有効カテゴリに分類されるからです。最初に目的を定義し、次にそれを例にマッピングすることによって、2つを明確に区別したいと思います。強制モードは、SELinuxセキュリティポリシーに記載されているすべてのルールを実装することで機能します。セキュリティポリシーで特定のオブジェクトへのアクセスが許可されていないすべてのユーザーのアクセスをブロックします。さらに、このアクティビティはSELinuxログファイルにも記録されます。



一方、許可モードは不要なアクセスをブロックせず、そのようなすべてのアクティビティをログファイルに記録するだけです。したがって、このモードは主に、バグの追跡、監査、および新しいセキュリティポリシールールの追加に使用されます。ここで、ABCという名前のディレクトリにアクセスしたいユーザーAの例を考えてみましょう。 SELinuxセキュリティポリシーでは、ユーザーAは常にディレクトリABCへのアクセスを拒否されると記載されています。





これで、SELinuxが有効になっていて、Enforcingモードで動作している場合、ユーザーAがディレクトリABCにアクセスしようとすると、アクセスが拒否され、このイベントがログファイルに記録されます。一方、SELinuxがPermissiveモードで動作している場合、ユーザーAはディレクトリABCへのアクセスを許可されますが、それでもこのイベントはログファイルに記録されるため、管理者はセキュリティ違反の場所を知ることができます。発生した。

CentOS8でSELinuxを許容モードに設定する方法

SELinuxのPermissiveモードの目的を完全に理解したら、CentOS 8でSELinuxをPermissiveモードに設定する方法について簡単に説明できます。ただし、これらの方法に進む前に、デフォルトのステータスを確認することをお勧めします。端末で次のコマンドを実行して、SELinuxを実行します。



$sestatus

SELinuxのデフォルトモードは、以下に示す画像で強調表示されています。

CentOS8でSELinuxを一時的に許容モードに設定する方法

SELinuxを一時的にPermissiveモードに設定すると、このモードは現在のセッションでのみ有効になり、システムを再起動するとすぐに、SELinuxはデフォルトの動作モード(強制モード)に戻ります。 SELinuxを一時的にPermissiveモードに設定するには、CentOS8ターミナルで次のコマンドを実行する必要があります。

$sudosetenforce0

setenforceフラグの値を0に設定することにより、基本的にその値をEnforcingからPermissiveに変更します。以下に追加された画像から見ることができるように、このコマンドを実行しても出力は表示されません。

ここで、SELinuxがCentOS 8でPermissiveモードに設定されているかどうかを確認するために、ターミナルで次のコマンドを実行します。

$getenforce

このコマンドを実行すると、SELinuxの現在のモードが返され、以下の画像で強調表示されているように、Permissiveになります。ただし、システムを再起動するとすぐに、SELinuxは強制モードに戻ります。

CentOS8でSELinuxをPermissiveモードに永続的に設定する方法

方法#1で、上記の方法に従うと、SELinuxが一時的にPermissiveモードに設定されるだけであると既に述べました。ただし、システムを再起動した後でもこれらの変更を反映させたい場合は、次の方法でSELinux構成ファイルにアクセスする必要があります。

$sudo ナノ /NS/selinux/設定

SELinuxの設定ファイルを下の画像に示します。

次に、次の画像で強調表示されているように、SELinux変数の値をpermissiveに設定する必要があります。その後、ファイルを保存して閉じることができます。

ここで、SELinuxのステータスをもう一度チェックして、モードがPermissiveに変更されているかどうかを確認する必要があります。これを行うには、ターミナルで次のコマンドを実行します。

$sestatus

以下に示す画像の強調表示された部分から、現在、構成ファイルのモードのみがPermissiveに変更されているのに対し、現在のモードはまだEnforcingであることがわかります。

変更を有効にするために、ターミナルで次のコマンドを実行してCentOS8システムを再起動します。

$sudoシャットダウン–r今

システムを再起動した後、sestatusコマンドでSELinuxのステータスを再度確認すると、現在のモードもPermissiveに設定されていることがわかります。

結論:

この記事では、SELinuxのEnforcingモードとPermissiveモードの違いを学びました。次に、CentOS 8でSELinuxをPermissiveモードに設定する2つの方法を共有しました。最初の方法はモードを一時的に変更する方法であり、2番目の方法はモードをPermissiveに永続的に変更する方法です。要件に応じて、2つの方法のいずれかを使用できます。