1. 一、前言

  2.         fail2ban可以监视你的系统日志,然后匹配日志的错误信息执行相应的屏蔽动作。网上大部分教程都是关于fail2ban+iptables组合,考虑到CentOS 7已经自带Firewalld,所以这里我们也可以利用fail2ban+Firewalld来防CC***和SSH爆破。

  3. 二、安装fail2ban

  4.      fail2ban可以监控系统日志,并且根据一定规则匹配异常IP后使用Firewalld将其屏蔽,尤其是针对一些爆破/扫描等非常有效。

  5.      #CentOS内置源并未包含fail2ban,需要先安装epel源
                   yum -y install epel-release
         #安装fial2ban
                   yum -y install fail2ban

  6. CentOS 7安装fail2ban+Firewalld防止SSH爆破_第1张图片

    安装成功后fail2ban配置文件位于/etc/fail2ban,其中jail.conf为主配置文件,相关的匹配规则位于filter.d目录,其它目录/文件一般很少用到,如果需要详细了解可自行搜索。

  7. file.jpg

  8. 三、规则配置

  9. 新建jail.local来覆盖fail2ban的一些默认规则:

  10. CentOS 7安装fail2ban+Firewalld防止SSH爆破_第2张图片

  11.   参数说明:

     CentOS 7安装fail2ban+Firewalld防止SSH爆破_第3张图片

          防止SSH爆破 :

    CentOS 7安装fail2ban+Firewalld防止SSH爆破_第4张图片 

       参数说明:

    CentOS 7安装fail2ban+Firewalld防止SSH爆破_第5张图片

      最终配置:

   CentOS 7安装fail2ban+Firewalld防止SSH爆破_第6张图片

   上面的配置意思是如果同一个IP,在10分钟内,如果连续超过5次错误,则使用Firewalld将他IP ban了。输入systemctl start fail2ban启动fail2ban来试试效果。

    四:测试

        测试前:

   CentOS 7安装fail2ban+Firewalld防止SSH爆破_第7张图片

      续超过5次错误测试后:

  CentOS 7安装fail2ban+Firewalld防止SSH爆破_第8张图片