iptablesまたはfirewalldの設定

カテゴリ:ファイヤーウォール

iptablesの設定を書き換える

一般的にファイヤーウォールはホワイトリスト方式で設定します。
INPUTとFORWARDのデフォルトアクションはDROPにした上で、以下の例のように特定のポート、状態のみを受け付けるようにします。
tcp dpt:20(ftp data)
tcp dpt:21(ftp)
tcp dpt:22(ssh)
tcp dpt:25(smtp)
tcp dpt:80(http)
tcp dpt:110(pop3)
tcp dpt:443(https)
tcp dpt:465(urd)
tcp dpt:587(submission)
tcp dpt:993(imaps)
tcp dpt:995(pop3s)
tcp dpt:10000(webmin)
tcp dpts:60000:60030(ftp passive mode)
state RELATED,ESTABLISHED
iptablesを停止します。
# service iptables stop
CentOS 7 以降の場合:
# systemctl stop firewalld
iptablesの設定ファイルをバックアップします。
# cp /etc/sysconfig/iptables ~/
CentOS 7 以降の場合:
# cp /etc/sysconfig/iptables-config ~/
以下のコマンドを実行して、iptablesの設定を書き換えます。
iptables -F INPUT
iptables -A INPUT -i lo -p tcp -m tcp -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 465 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 587 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 993 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 995 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 10000 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 60000:60030 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -F FORWARD
iptables -F OUTPUT
Firewalldの場合:
firewall-cmd --add-port=20/tcp --zone=public --permanent
firewall-cmd --add-port=21/tcp --zone=public --permanent
firewall-cmd --add-port=22/tcp --zone=public --permanent
firewall-cmd --add-port=25/tcp --zone=public --permanent
firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --add-port=110/tcp --zone=public --permanent
firewall-cmd --add-port=443/tcp --zone=public --permanent
firewall-cmd --add-port=465/tcp --zone=public --permanent
firewall-cmd --add-port=587/tcp --zone=public --permanent
firewall-cmd --add-port=993/tcp --zone=public --permanent
firewall-cmd --add-port=995/tcp --zone=public --permanent
firewall-cmd --add-port=10000/tcp --zone=public --permanent
firewall-cmd --add-port=60000-60030/tcp --zone=public --permanent
※publicゾーン(デフォルト)は公共の場所(パブリックエリア)での使用に適しています。初期設定では着信はdhcpv6-clientとsshサービスのみが許可されます。
※--permanentオプションを付与すると設定が恒久的に保存されます。

設定を保存して再読込を行います。

# iptables-save > /etc/sysconfig/iptables
# service iptables reload
CentOS 7 以降の場合:
# iptables-save > /etc/sysconfig/iptables-config
# firewall-cmd --reload
結果:
# iptables -L -n
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:20
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:25
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:110
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:465
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:587
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:993
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:995
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:10000
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpts:60000:60030
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

iptablesのバックアップとリストア

なお、iptables の設定は、iptables-save でバックアップ、iptables-restore でリストアする事ができます。
# iptables-save > iptables_back
# iptables-restore < iptables_back
リストアした設定をシステムの起動時(iptablesの開始時)に反映させる場合は、以下のコマンドで、現在の設定を /etc/sysconfig/iptables に保存します。 ※既存の iptables の設定ファイルを上書きします。
# iptables-save > /etc/sysconfig/iptables
CentOS 7 以降の場合:
# iptables-save > /etc/sysconfig/iptables-config

公開日時: 2014年07月21日  11:14:49

ファイヤーウォールに戻る

「ファイヤーウォール」に関する他の手順

「ファイヤーウォール」に関する他の手順はありません。

「ファイヤーウォール」に関するTips

「ファイヤーウォール」に関するTipsはありません。

このページのトップに戻る