四、 应对措施第三方软件Fail2ban加固方法
魔高一尺道高一丈,总的来说,只要FTP服务器妄图让正常用户使用,要彻底地杜绝FTP的暴力破解攻击就非常困难,至少目前没有办法实现,下面我们用第三方软件来进行加固,经过笔者长期对比发现Fail2ban对于解决暴力破解、非法扫描能起到比较好的效果,它是一个基于防火墙链添加新规则构成,并发送e-mail通知系统管理员。Fail2ban不仅可以使用自动识别可能的暴力入侵,而且可按照快速且简易的用户自定义规则去分析,因为fail2ban 的原理是调用iptables 实时阻挡外界的攻击,按照你的要求在一段时间内找出符合条件的日志,然后动作,所以你的系统里必选装有iptables,以及Python的支持。
1.下载安装:
在基于debian系统下安装fail2ban是非常畅快的。以root用户执行下列命令:

在GNU/Linux 系统上源码安装,为了编译Fail2ban,你需要下载最新的源码(http://sourceforge.net/projects/fail2ban )。当获取后,你可以该改变你的源码目录,并执行下列命令:

你会在当前工作目录下得到一个Fail2ban的解压后的源码目录。你须CD到新的目录中。现在以root用户执行安装:

Fail2ban 会安装在 /usr/share/fail2ban/ 和 /usr/bin/目录中,装好后,稍微根据自己的情况改一下配置就可以使用了。
2.系统配置
一个典型的配置文件如下:






















每个.conf文件都会被名为 .local的文件覆盖。.conf首先被读取,其次是.local。新的配置会覆盖早先的。因此,.local 文件不必包含每个相应于.conf中的选项,只是填写你想要覆盖的设置。
首先编辑fail2ban.conf












开始启动这个服务启动以后,每天都能在 /var/log/fail2ban.log 中看到有攻击的肉鸡被 ban 了。
下面一步就复制初始化脚本到系统的 /etc/init.d 目录下,执行chkconfig 和update-rc.d 又或手工创建一个符号链接。
设置权限



最后,整合fail2ban到日志循环中,创建文件:"/etc/logrotate.d/fail2ban":









下面我们看看使用它的效果吧,先浏览一下iptables:


















查看fail2ban的日志,通过以下命令就能方便的查看到被记录的非法暴力破解IP:

最后,我们要注意fail2ban是一个日志分析器,在写入日志前不会做任何事情。大多数系统日志守护进程都会缓冲他们的输出。这可能会和fail2ban性能有所冲突。因此,最好能禁止缓冲你的系统日志守护进程,以提高性能。目前来看,只要FTP服务器希望让正常用户使用,要完全杜绝FTP暴力破解攻击就会很难,因此要从细微之处入手,尽量降低被暴力破解的概率。