firewalldやSELinuxの停止/無効/自動起動停止方法

今回はLinux系OS、例えばCentOSを導入した際の初期設定段階で、行った方が良いfirewalldやSELinuxの停止と自動起動停止方法を解説していきます。

今回はCentOS 7で行っていますが、基本的にはLinux系だとどれも同じです。

前提

firewalldサービスを無効化する理由としては、「firewalld」はその名の通りファイアウォールのサービスで、許可された通信以外は通さず色々と詰まることが多いためです。

SELinuxについても結構癖があるサービスで、上手く動作しないなと思ったらSELinuxが悪さをしていることが多々あります。

どちらも悪いサービスではありませんし、firewalldを無効にしたらそれだけ脆弱性が生まれるというものです。その辺は適時判断する必要がありますが、検証などでは必ず最初にこの2つのサービスは止めます。

今回はその手順について解説します。

firewalldの事前確認

最初にfirewalldの状態確認を行うので、下記オレンジ色の文字を入力してください。

[root@norazuki ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 土 2021-08-14 18:09:13 JST; 15min ago
     Docs: man:firewalld(1)
 Main PID: 823 (firewalld)
   CGroup: /system.slice/firewalld.service
           mq823 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

 8月 14 18:09:12 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
 8月 14 18:09:13 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
[root@norazuki ~]#

上記緑色文字を見ると、activeとなっているのでサービスは起動しています。

続いて自動起動になっているかどうかの確認を行います。下記コマンドのオレンジ色の文字を入力してください。

[root@norazuki ~]# systemctl is-enabled firewalld
enabled
[root@norazuki ~]#

上記緑色文字を見ると、enabledと表示されているので、自動起動状態となっています。

firewalldの停止方法

ここでは一時的なfirewalldの停止方法のコマンドを記載します。再起動すれば起動するので注意が必要です。

下記オレンジ色のコマンドを入力します。

[root@norazuki ~]#
[root@norazuki ~]# systemctl stop firewalld
[root@norazuki ~]#

firewalldの自動起動停止方法

ここではfirewalldの自動起動停止方法について記載します。再起動しても自動で立ち上がってこないようにする設定です。

[root@norazuki ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@norazuki ~]#

上記を見ると特にエラーは出ていないので自動起動は停止されました。

firewalldの事後確認

コマンドを打っただけではいけません。しっかりとfirewalldサービスが停止/自動起動停止しているかの確認を行いましょう。

下記オレンジ色の文字を入力して、firewalldサービスが停止しているか確認します。

[root@norazuki ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@norazuki ~]#

上記の緑色文字を見ると、inactiveとなっているのでfirewalldは停止しています。

続いて自動起動が停止しているかを確認するため、下記オレンジ色の文字を入力してください。

[root@norazuki ~]# systemctl is-enabled firewalld
disabled
[root@norazuki ~]#

上記の緑色の文字をみると、disabledとなっているので自動起動は停止しています。

SELinuxの事前確認

最初にSELinuxの状態確認を行うので、下記オレンジ色の文字を入力してください。

[root@norazuki ~]# getenforce
Enforcing
[root@norazuki ~]#

上記の緑色の文字を見ると、Enforcingとなっているのでサービスは有効となっています。

SELinuxの永続的な無効方法

下記オレンジ色の文字を入力してください。

[root@norazuki ~]# vi /etc/selinux/config

中が開くので、水色の打ち消し線の文字を削除し、オレンジ色の文字を入力してください。

入力が完了したら、「Ecs」キーをクリックし、「:wq」を入力して閉じてください。

# 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 disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

閉じたら設定を反映させるため、再起動させます。下記オレンジ色の文字を入力してください。

[root@norazuki ~]# reboot

再起動後、下記オレンジ色の文字を入力してください。

[root@norazuki ~]# getenforce
Disabled
[root@norazuki ~]#

上記、緑色の文字をみると、DisabledとなっているのでSELinuxは無効になっていることが分かります。