Wednesday, November 17, 2010

iptables for ServersMan@VPS

レンタルしている ServerMan@VPS に対してnmapしてみたら、
ねっとばいおす とか不必要ポートが開いてたので閉じてみた。
(ずいぶんイマサラですが・・・w)

iptablesは(設定失敗したら)コワイのでw
念のためサーバ再起動したらiptablesが起動しないように、

# chkconfig iptables off

としておく。

で、まず下記を iptables.txt として編集保存:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-N MYCHAIN
-A MYCHAIN -m state --state ESTABLISHED,RELATED -j ACCEPT
-A MYCHAIN -p icmp -j ACCEPT
-A MYCHAIN -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
-A MYCHAIN -m state --state NEW -m tcp -p tcp --dport 22  -j ACCEPT
-A MYCHAIN -m state --state NEW -m tcp -p tcp --dport 25  -j ACCEPT
-A MYCHAIN -m state --state NEW -m tcp -p tcp --dport 80  -j ACCEPT
-A MYCHAIN -m state --state NEW -m tcp -p tcp --dport 110  -j ACCEPT
-A MYCHAIN -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A MYCHAIN -m tcp -p tcp --dport 113 -j REJECT --reject-with tcp-reset
-A MYCHAIN -j ACCEPT
-A INPUT -j MYCHAIN
COMMIT

一時的にiptablesを動かして、

# cat iptables.txt | iptables-restore

各ポートのパケットの流れを確認

# iptables -L -nv

問題なければ iptables.txt内の

-A MYCHAIN -j ACCEPT を -A MYCHAIN -j DROP に変更してから、

# cp iptables.txt /etc/sysconfig/iptables
# chkconfig iptables on
# /etc/init.d/iptables start

こちらを参考にさせていただきました。
誰得UNIX-Blog: ServersMan@VPSでのiptables設定(state版)