search
LoginSignup
31

More than 5 years have passed since last update.

posted at

updated at

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

この記事は、下記の記事を構成している記事のひとつです。
さくらの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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
31