CentOS7安装Fail2ban阻止暴力破解SSH密码

之前介绍了使用DenyHosts阻止ssh密码暴力破解, 经菜包子了解到Fail2ban比较好用。
简单来说Fail2ban的功能就是防止暴力破解。工作的原理是通过分析一定时间内的相关服务日志,将满足动作的相关IP利用iptables加入到dorp列表一定时间。

安装:

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum install fail2ban

设置开机启动:

systemctl enable fail2ban

Fail2ban的配置文件位于/etc/fail2ban目录

配置文件介绍

/etc/fail2ban/action.d       #动作文件夹,内含默认文件。iptables以及mail等动作配置
/etc/fail2ban/fail2ban.conf  #定义了fai2ban日志级别、日志位置及sock文件位置
/etc/fail2ban/filter.d       #条件文件夹,内含默认文件。过滤日志关键内容设置
/etc/fail2ban/jail.conf      #主要配置文件,模块化。主要设置启用ban动作的服务及动作阀值
/etc/rc.d/init.d/fail2ban    #启动脚本文件

jail.conf示例:

[DEFAULT]                  #全局设置
ignoreip = 127.0.0.1       #忽略的IP列表,不受设置限制
bantime  = 1h              #屏蔽时间,单位:秒
findtime  = 5m             #这个时间段内超过规定次数会被ban掉
maxretry = 3               #最大尝试次数
backend = auto             #日志修改检测机制(gamin、polling和auto这三种)

[sshd]                     #单个服务检查设置,如设置bantime、findtime、maxretry和全局冲突,服务优先级大于全局设置。
enabled  = true            #是否激活此项(true/false)
filter   = sshd            #过滤规则filter的名字,对应filter.d目录下的sshd.conf
action   = iptables[name=SSH, port=ssh, protocol=tcp]    #动作的相关参数,对应action.d/iptables.conf文件
logpath  = /var/log/secure  #检测的日志文件path
bantime  = 24h
findtime  = 5m
maxretry = 3

启动Fail2ban:

systemctl restart fail2ban.service

注意:如果重新启动fail2ban,iptables中的规则就会全部被清空。

标签:ssh, 密码, 破解, CentOS7, Fail2ban

添加新评论