Edited at

【Debian 8 Jessie】iptablesの設定をこれだけはやっておく

More than 1 year has passed since last update.

この記事は、下記の記事を構成している記事のひとつです。

さくらのVPS と Debian 8 Jessie で独自ドメインのWebサイトを立ち上げる手順

・さくらのVPS(プラン512)

・Debian 8 Jessie(さくらのVPS カスタムインストール)

の環境を前提にしています。


インストール直後のiptablesの設定を確認する


[hoge]$

sudo iptables -L


Chain INPUT (policy ACCEPT)

target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

つまり、すべて許可しますよー。って設定になっている。インターネット上に公開サーバを立てる以上、最低限の設定はしておくべきです。


iptables-persistent をインストールする

iptablesを管理する、iptables-persistentをインストールします。


[hoge]$

sudo aptitude -y install iptables-persistent


インストール中に、IPv4と、IPv6の設定ファイルを作成するか聞かれるので、どっちもYesを選択します。

iptables01.png

iptables02.png


iptables(IPv4)のルールを設定する

IPv4用の設定ファイルを、下記の内容ですべて書き換える。


[hoge]$

sudo cp /etc/iptables/rules.v4 /etc/iptables/rules.v4.backup

sudo vi /etc/iptables/rules.v4


/etc/iptables/rules.v4

*filter

# ループバックは許可する。
# ループバック以外の127.0.0.0/8への接続は拒否する。
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

# 確立済の外部から内部への接続を許可する
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 内部から外部への接続はすべて許可する
-A OUTPUT -j ACCEPT

# 外部から内部へのHTTP(80)とHTTPS(443)の接続を許可する
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# 外部から内部へのSSHの接続を許可する
# ポート番号は、/etc/ssh/sshd_config で設定したものと同じにする
-A INPUT -p tcp -m state --state NEW --dport 1234 -j ACCEPT

# 外部から内部へのpingの接続を許可する
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# log iptables denied calls (access via 'dmesg' command)
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

# その他の接続を拒否する
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT


設定したファイルを再読み込みする。


[hoge]$

sudo netfilter-persistent reload



iptables(IPv6)のルールを設定する

IPv6用の設定ファイルを、下記の内容ですべて書き換える。

IPv6での接続は、すべて拒否する設定にします。


[hoge]$

sudo cp /etc/iptables/rules.v6 /etc/iptables/rules.v6.backup

sudo vi /etc/iptables/rules.v6


/etc/iptables/rules.v6

*filter

:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT

設定したファイルを再読み込みする。


[hoge]$

sudo netfilter-persistent reload