Top Menu

修改fail2ban的配置文件增加对同网段多IP暴力破解的防护

上篇文章讲到在fail2ban日志中发现大量来自103.41.124.0网段的不同IP的攻击,针对这种自动更换ip地址的暴力破解,fail2ban的默认配置是无能为力的。但是看了下fail2ban的文档之后,发现只需要修改一下默认的配置文件,就能够实现自动屏蔽整个网段的功能,防止这种更换ip地址的暴力破解方式。下面就来动手操作一下

查找和编辑动作配置文件

首先,找到fail2ban使用的动作配置文件。

一般情况下,可以在 /etc/fail2ban/jail.local 的配置文件内查找 banaction 变量,后面跟的就是使用的动作配置文件名称,一般情况下默认的配置文件名称是 iptables-multiport.conf

找到配置文件名称后打开对应的动作配置文件

然后查找下面这两条语句

actionban 语句是在屏蔽某ip的时候给iptable发送的指令, actionunban 语句是在取消屏蔽的时候给iptable发送的指令。

可以看到命令中间的 <ip> 就是我们要修改的屏蔽IP地址,要实现屏蔽整个网段,只需要在需要屏蔽的IP地址后面添加斜杠加位数的ip掩码就可以了,例如127.0.0.1/8,就表示屏蔽包含所有IP地址第一段为127的IP地址。

关于ip段掩码的意义,可以参考维基百科的相关词条

http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing

一般常用的掩码如下

这里我们不但要考虑安全也要兼顾实用,所以建议采用第一行的24位IP掩码。如果采用更大的掩码,有一定的几率会屏蔽掉自己的登陆IP,因为根据对fail2ban日志的分析,有90%的攻击IP来自于中国的各个地方,保不准就会有IP和自己登陆的IP网段重合,虽然屏蔽之后也还是可以通过lish来登陆SSH,但还是尽量避免这种情况发生。

这样设置之后,如果有类似183.136.216.3的ip地址被发现存在暴力破解,那么fail2ban就会添加一条IP为183.136.216.0/24的iptable规则,把所有在183.136.216.0这个网段下的ip地址都进行屏蔽,这样一次可以屏蔽256个同网段的IP地址,大大提高fail2ban的屏蔽的效率。

特别是针对同网段的大量IP地址轮流进行的暴力破解有很好的防护作用。

设置完成后的action配置文件就像下面这样

修改好配置文件之后在SSH执行 # service fail2ban restart 命令重启服务

验证动作配置文件

过一段时间,刷新下iptable规则,如果发现如下的IP规则被添加,则说明fail2ban运行正常,并且能够很好的执行修改后的actionban指令

2015-02-14_22-09-04

然后我们再试下fail2ban,看是否能够执行actionunban指令

输入 # service fail2ban restart 命令重启fail2ban服务,fail2ban会自动unban之前所有IP地址

然后输入 # iptables -L -n --line-number 命令查看iptable规则,看看是否通过重启服务清空了fail2ban的iptable规则。

如果actionunban执行成功,那么通过fail2ban建立的规则都会被清空。

至此,就完成了通过修改fail2ban的action配置文件来提高对自动更换IP的暴力破解的防护。

系统环境

  • Debian 7
  • fail2ban 0.8.6-3wheezy3
  • iptables 1.4.14-3.1

There are no comments yet

  • Hello, guest

Powered by WordPress. Designed by WooThemes