最近、某国からのアタックが増えてきた。
Fail2Banで、弾いてきたのだけど、それでもしつこくアタックしてくるのでIP自体を拒否する設定を追加した。
http://www.ipdeny.com/ipblocks/data/countries/
に各国で使用しているIPアドレスのリストがあるので、今回はこれを利用します。
本来は、iptablesを使用のだけれど、あまりにも量が多いので、ipsetを使用して拒否設定を行います。
まずは、
yum install ipset
で、インストール
次に、ipset_deny.shって感じのファイルを作って、
ZONE_FILE_URL="http://www.ipdeny.com/ipblocks/data/countries"
ipset -N DROPCOUNTRIES nethash
for IP in $(wget -O - ${ZONE_FILE_URL}/{cn,tw,kr,ru}.zone | grep -v "^#|^$" )
do
ipset -A DROPCOUNTRIES $IP
done
iptables -A INPUT -m set --match-set DROPCOUNTRIES src -j DROP
や
ZONE_FILE_URL="http://www.ipdeny.com/ipblocks/data/countries"
ipset create DROPCOUNTRIES hash:net
for IP in $(wget -O - ${ZONE_FILE_URL}/{cn,tw,kr,ru}.zone | grep -v "^#|^$" )
do
ipset add DROPCOUNTRIES $IP
done
iptables -A INPUT -m set --match-set DROPCOUNTRIES src -j DROP
ってかんじで書いて実行する。
ルールを破棄する場合は
ipset destroy DROPCOUNTRIES
を実行
特定の国からのアクセスを拒否する設定