CentOS 7 で SELinux を無効またはオフにする方法は?
導入
Linux の世界では、システム管理者にとってセキュリティが最大の懸念事項です。 Linux システムのセキュリティを強化する 1 つの方法は、Security-Enhanced Linux (SELinux) を使用することです。
SELinux は、CentOS 7 サーバーに追加の保護層を提供する必須アクセス制御 (MAC) システムです。システム管理者がユーザーのアクションを制限し、機密データを保護できるようにする、きめ細かいアクセス制御とポリシーを提供します。
SELinux の現在のステータスを確認する
SELinux (Security-Enhanced Linux) は、プロセスとユーザーのアクセスを特定のリソースに制限することにより、システムに追加の保護層を提供するセキュリティ メカニズムです。 CentOS 7 には、SELinux がデフォルトで有効になっています。場合によっては、構成の変更を続行する前に、それが実行されているかどうかを確認する必要がある場合があります。
getenforce コマンドの使用
SELinux の現在のステータスを確認する最も簡単な方法は、getenforce コマンドを使用することです。このコマンドは、CentOS 7 システム上で SELinux が現在強制、許可、または無効になっているかどうかを示します。このコマンドを使用するには、ターミナルウィンドウを開いて次のように入力します-
getenforce
現在システム上で SELinux が強制されている場合、このコマンドは「Enforcing」を返します。許容モード (「ログ」モードとも呼ばれます) で実行されている場合は、「Permissive 」を返します。
SELinux が完全に無効になっている場合は、「Disabled」が返されます。 CentOS 7 の新しいバージョン (CentOS 7.6 など) では、システム セキュリティ サービス デーモン (SSSD) や Auditd などの他の機能がまだ無効になっている可能性があるため、実際には完全に無効になっていないにもかかわらず、getenforce の出力に「無効」と表示される場合があることに注意することが重要です。 /etc/sysconfig/selinux ファイルで SELINUX=disabled を設定している場合でも、強制モードで実行されます。
getenforce コマンドを使用すると、CentOS 7 システム上で SELinux が現在アクティブであるかどうか、およびその現在の状態を識別するのに役立ちます。これは、セキュリティ問題のトラブルシューティングを行う場合や、さらに構成変更が必要かどうかを判断する場合に役立ちます。
SELinux を一時的に無効にする
CentOS 7 の特定の問題をトラブルシューティングするために、SELinux を一時的に無効にする必要がある場合があります。これは、現在の SELinux モードを変更するために使用される setenforce コマンドを使用して実行できます。 setenforce コマンドには、強制モードと許容モードの 2 つのモードがあります。
強制モードは SELinux のデフォルト モードであり、SELinux によって定義されたすべてのセキュリティ ポリシーを強制します。一方、寛容モードではポリシー違反のみが記録され、ポリシー違反は強制されません。 Permissive モードでは、SELinux はアクションをブロックせず、代わりにログに記録します。
setenforceコマンドを使用してCentOS 7でSELinuxを一時的に無効にするには、次の手順に従います-
root 権限を使用して CentOS 7 システムにログインします。
ターミナル ウィンドウを開きます。
次のコマンドを入力して、SELinuxの現在のステータスを確認します-
$ getenforce
出力には、「Enforcing」または「Permissive」のいずれかが表示されます。 「Enforcing」と表示されている場合は、次のコマンドを実行する必要があります-
$ setenforce 0
これにより、SELinux の状態が許容モードに設定されます。つまり、アクションはブロックされず、代わりにログに記録されます。次のように入力すると、変更されたことを確認できます-
$ getenforce
出力には「Permissive」と表示されるはずです。
この変更は一時的なものであり、再起動後は存続しないことに注意してください。 CentOS 7 システムで SELinux を永続的に無効にするかオフにする場合は、次のセクションに進んでください。
SELinux を永久にオフにする
場合によっては、SELinux を永久にオフにしたい場合があります。これは、/etc/selinux/config ファイルを編集することで実行できます。このファイルは、システム起動時にデフォルトの SELinux モードを設定するために使用されます。
/etc/selinux/config ファイルの編集
/etc/selinux/config ファイルを編集するには、サーバーへの root アクセス権が必要です。 CentOS 7マシンでターミナルを開き、次のように入力します-
$ sudo nano /etc/selinux/config
これにより、Nano エディターで構成ファイルが開きます。 「SELINUX=」で始まる行を探します。この行の値は、SELinux が有効か無効かを示します。
# 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
SELinuxを永久にオフにするには、「強制」を「無効」に変更します-
# 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=disabled
この変更を行ったら、Ctrl+X、Y、Enter の順に押して、/etc/selinux/config を保存して閉じます。 /etc/selinux/config への変更を有効にするには、システムを再起動する必要があることに注意してください。 CentOS 7サーバーを再起動した後、getenforceコマンドを実行して、SELinuxが無効になっていることを確認します-
$ getenforce
出力は「無効」になるはずです。 CentOS 7 サーバーは SELinux なしで実行されています。
SELinux が無効またはオフになっていることの確認
CentOS 7 で SELinux を無効またはオフにしたら、変更が正しく適用されたことを確認することが重要です。このセクションでは、これを確認するいくつかの方法について説明します。
方法 1: getenforce コマンドを使用する
SELinux が現在無効になっているか、一時的にオフになっているかを確認する最も簡単な方法は、getenforce コマンドを使用することです。このコマンドは、システム上の SELinux の現在のステータスを表示します。
SELinux の現在のステータスを確認するには、ターミナルを開いて次のように入力します-
$ getenforce
このコマンドが「Disabled」または「Permissive」を返した場合、SELinux は一時的に無効化または無効化されています。ただし、「Enforcing」が返された場合、SELinux はまだ有効であり、ポリシーを適用しています。
方法 2: ファイル /etc/selinux/config を確認する
/etc/selinux/config にある設定ファイルを確認することで、SELinux が永続的に無効になっているかどうかを確認することもできます。 SELinuxを永続的に無効にするためのすべての手順に正しく従った場合、このファイルには次のような行が含まれているはずです-
SELINUX=disabled
代わりに「SELINUX=enforcing」と表示されている場合は、システムを再起動する前に、このファイルを正しく編集して保存したことを確認する必要があります。
方法 3: Sestatus コマンドを使用する
SELinux ステータスを管理およびクエリするための強力なツールである Sestatus を使用することもできます。
$ sudo sestatus
このコマンドは、SELinux の現在のステータスを表示し、有効なポリシーやブール値などの追加情報を提供します。 SELinuxが無効になっているか、永続的にオフになっている場合、このコマンドは次のように表示されるはずです-
SELinux status: disabled
代わりに「SELinux ステータス: 有効」が返された場合は、システムを再起動する前に、SELinux を永久に無効にするためのすべての手順に正しく従ったことを確認する必要があります。
結論
SELinux を無効またはオフにすると、CentOS 7 マシン上の一部の問題が一時的に解決される可能性がありますが、SELinux は重要なセキュリティ機能であることに留意することが重要です。 SELinux は、プロセスに付与されるアクセスと権限を制限することにより、システムに追加の保護層を追加します。