使用Fail2ban防御对WordPress的CC攻击

最近发现自己的服务器和wordpress经常被各种扫描和CC攻击,各种暴力破解密码,扫描漏洞,让本来就配置不高的vps不堪重负。本来我也没怎么在意,但这几天经常mysql就瘫痪了,让我不得不用shell自动重启mysql。因为实在烦的不行,所以看看是否有办法能缓解下这种问题。搜寻了半天,有2个不错的解决方法。

  1. 使用nginx+waf的组合,
  2. fail2ban

今天就说下我通过fail2ban的解决方法。关于fail2ban的安装和功能,这里就不多介绍了,基本常用linux的小伙伴们都熟悉。这里我使用fail2ban的filter功能来尝试干掉哪些频繁扫描我某些特定文件未果,以及不停尝试我登录密码的货门。

  1. 防御屏蔽哪些扫描特定名字目录文件未果导致404的的IP, 在/etc/fail2ban/filter.d/目录下创建文件: nginx-dos.conf文件,内容入下:

    针对下图这种模式的扫描.fail2ban stop wordpress cc attack
  2. 防御和屏蔽暴力穷举wordpress密码的的攻击IP, 在/etc/fail2ban/filter.d/目录下创建文件: wp-cclogin.conf文件,内容入下:

    针对下图这种模式的扫描.fail2ban stop wordpress cc attack
  3. 编写完毕filter之后,下一步我们需要加载这些filter,编辑/etc/fail2ban/jail.local,加入如下内容
  4. 重启fail2ban

至此,终于可以消停一阵子了。今天查看了下日志,确实这种无脑的扫描少了好多。下次我再试试nginx+waf的方法。