iptablesにはいつも通りシェルスクリプトで読ませることにする。
この前
http://roserogue.blogspot.jp/2014/01/centosiptablesip.html
で海外からのアクセスを禁止したい記事を入れたのでこちらも参照のこと。
参考は
http://d.hatena.ne.jp/rudeboyjet/20070226/p1
内容としては、IPDENYTORという名前のユーザー定義チェインを作成(-N)して、
ログを取りアクセスはドロップする設定を書き、
if文で/root/denytorlistの中に書いてあるIPアドレスをDROPする。
vi /root/iptables_denytor.sh
#!/bin/sh
################################################
#DENY TOR
################################################
iptables -N IPDENYTOR
iptables -A IPDENYTOR -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES IPDENYTOR]: '
iptables -A IPDENYTOR -j DROP
if [ -s /root/denytorlist ]; then
for ip in `cat /root/denytorlist`; do
iptables -A INPUT -s $ip -j IPDENYTOR
done
fi
chmod 700 /root/iptables_denytor.sh
denytorlistという、torのIPアドレスを貼り付けたものを作る
touch /root/denytorlistipアドレスは、以下のサイトからIPアドレスのcsvを取ってきて貼る。
vi /root/denytorlist
http://torstatus.blutmagie.de/index.php
csvへの直リンクが出来なそうなので、wgetで取得するのは無理そう?
chmod 700 /root/denytorlist
あとは/etc/rc.d/rc.localに
sh /root/iptables_denytor.shを入れればOKのはず。
ただ、読ませるのに相当時間がかかるので、これやる必要あるのか?というのも勿論ある。
まあ禁止リストの一環と思えば・・・。
修正。
denytorlistは実行できん・・・多分脳が寝ていた。。