iptables で日本のIPのみ制限など

SMTPとかPOP3とかSSHとか外部からの攻撃が面倒だけど、開けないわけにもいかないので日本のみとかでフィルタする方法

世界の国別 IPv4 アドレス割り当てリスト(Office Nami)

そのものズバリなリストがあるので、しかも適宜更新されているようなのでありがたく使わせていただくと。

http://nami.jp/ipv4bycc/cidr.txt.gz

がCIDR方式のファイルで、iptablesにも加工して入れやすいので、このページにもサンプルありますが、sedなどで加工してiptablesのコマンドに投げてあげればOKかと。

Allow,Deny式であれば以下のような感じ(抜粋)

iptables -P INPUT ACCEPT

wget http://nami.jp/ipv4bycc/cidr.txt.gz
gunzip -d cidr.txt.gz

sed -n 's/^JP\t//p' cidr.txt | while read ipaddress; do
    iptables -A INPUT -s $ipaddress -j ACCEPT -p TCP -m multiport --dports 25,587,465
#    iptables -A INPUT -s $ipaddress -j ACCEPT -p TCP --dports 25
#    iptables -A INPUT -s $ipaddress -j ACCEPT
done

iptables -A INPUT -j DROP -p TCP -m multiport --dports 25,587,465

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA