CentOS7 SELinux・ファイヤウォールの設定

CentOSをインストールした後には幾つか設定をしておきましょう。
新規でCentOSをインストールした後に、自分はいつもSELinuxとファイヤウォール(FireWalld)は無効にしています。

もちろんファイヤウォールが無い環境の場合は無効にしませんが、ローカル環境や別にファイヤウォールがある環境下では、必要性が低い、管理もし難いことや有効になっていると開発者側から通信がうまくいかないといった話があがることもあるためとなります。

Contents

SELinuxを無効化する

SELinuxの停止や、自動起動の無効設定を行っていきます。

SELinux動作状態の確認

SELinuxの動作状況は getenforce コマンドを調べられます。

# getenforce
Enforcing ←起動(有効)の場合の表示

SELInuxが「Enforcing」(起動している)であれば停止して自動起動も無効に設定します。
なお、SElinuxが警告は出ますが、アクセス制限は無効の場合は「permissive」と表示され、未起動(無効有効)の場合は、「disabled」と表示されます。

SELinuxの一時停止コマンド

一時歴にSELInuxのアクセス制限を停止したい、再起動後には起動したい場合には以下のコマンドで停止、起動することができます。

# setenforce 0

上記を実行すると「Permissive」状態になります。

ちなみに逆に有効「Enforcing」にしたい場合は、下記のように引数に1を付けます。

# setenforce 1

SELinuxの自動起動を無効にする

上記のsetenforceコマンドだとOSの再起動後にSELinuxが起動してしまうので永続的に無効にしたい場合は以下のように設定します。

SELInux設定ファイルを開きます。

# vi /etc/selinux/config

以下の「SELINUX=enforcing」を「SELINUX=disable」に変更します。

# 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=disable ←この設定を「disable」に変更します。
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

設定ファイルの編集後にOSを再起動してSELInuxの無効化は完了となります。

firewalldを無効化する

続いてfirewalldを無効化します。
もう一度書きますが、外部公開されているサーバで、OS以外にファイヤウォールが無い場合にはfirewallの停止は行なわないようにしてください!!

CentOS7から初期状態で有効になっているファイアウォールが、今までの「iptables」から「firewalld」に変更になっています。自動起動設定を見て見ると「firewalld」がenable(有効)で、「iptables」がdisabled(無効)となっていることがわかります。

firewalldの動作状態の確認

CenOS7の場合、管理がsystemctlに変わっているので以下のように確認します。

firewalldが起動している場合、「Active: active (running) 」と表示さます。

# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
   Active: active (running) since 日 2015-08-16 11:05:11 JST; 2s ago
 Main PID: 2515 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─2515 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
 8月 16 11:05:11 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.

firewalldがみ起動の場合、「Active: inactive (dead)」と表示さます。

# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
   Active: inactive (dead)

 8月 16 11:05:10 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
 8月 16 11:05:11 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
 8月 16 11:05:47 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
 8月 16 11:05:48 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.

firewalldの自動起動設定確認

続いて自動起動設定を確認します。

# systemctl is-enabled firewalld
enabled ←自動起動が有効の場合の表示

自動起動が無効の場合は、「disabled」と表示されます。

firewalldの自動起動停止

サーバの再起動後も「firewalld」を自動起動させないようにするには、「systemctl disable firewalld」コマンドを使用します。

# systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'

SELinuxとfirewalldの無効化設定は以上となります。

(Visited 1,003 times, 1 visits today)