2014年6月9日

用fail2ban 擋掉整個subnet

使用fail2ban 在try ssh密碼的IP擋掉,但通常對方被擋後就換IP,換的IP都是同一個subnet,
1.2.3.4 當掉後換 1.2.3.5 再試,但fail2ban預設只能擋1.2.3.4,
我想要把整段IP(1.2.3.0/24)擋掉,
修改如下:

1. vi /etc/fail2ban/action.d/iptables-multiport.conf
2. actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP
    換成
    actionban = iptables -I fail2ban-<name> 1 -s `echo <ip> | sed -e "s/\([0-9]*.\)\([0-9]*.\)\([0-9]*.\)\([0-9]*\)/\1\2\30\/24/"`  -j DROP
3. actionunban = iptables -D fail2ban-<name> -s <ip> -j DROP
    換成
    actionunban = iptables -D fail2ban-<name> -s `echo <ip> | sed -e "s/\([0-9]*.\)\([0-9]*.\)\([0-9]*.\)\([0-9]*\)/\1\2\30\/24/"` -j DROP
4. 重啟 fail2ban