Linux 如何使用 fail2ban 防止 SSH 暴力破解


Linux 如何使用 fail2ban 防止 SSH 暴力破解

如果你坚持使用带密码的 SSH 登录, 业内公认的, 防止SSH爆破的最有效且成本最低的方法是利用Fail2ban. 不需要加之一, 而且, 几乎没有副作用.

Fail2ban还能结合 wordpress 防止暴力登录, 今天只说最小可用方式, 也是最实用的方式, 在你使用 ssh 账户和密码登录的情况下, 如何防止别人暴力破解.

centos 下安装 faile2ban

yum -y install epel-releaseyum -y install fail2ban

配置 Fail2Ban

编辑其配置文件 /etc/fail2ban/jail.conf。在配置文件的“[DEFAULT]”区,你可以在此定义所有受监控的服务的默认参数,另外在特定服务的配置部分,你可以为每个服务(例如SSH,apache等)设置特定的配置来覆盖默认的参数配置。

在针对服务的监狱区(在[DEFAULT]区后面的地方),你需要定义一个[ssh-iptables]区,这里用来定义SSH相关的监狱配置。真正的禁止IP地址的操作是通过iptables完成的。

下面是一个包含“ssh-iptables”监狱配置的/etc/fail2ban/jail.conf的文件样例。当然根据你的需要,你也可以指定其他的应用监狱

[DEFAULT]               #全局设置ignoreip = 127.0.0.1/8       #忽略的IP列表,不受设置限制bantime  = 600             #屏蔽时间,单位:秒findtime  = 600             #这个时间段内超过规定次数会被ban掉maxretry = 3                #最大尝试次数backend = auto            #日志修改检测机制(gamin、polling和auto这三种)[ssh-iptables]               #单个服务检查设置,如设置bantime、findtime、maxretry和全局冲突,服务优先级大于全局设置。enabled  = true             #是否激活此项(true/false)修改成 truefilter   = sshd              #过滤规则filter的名字,对应filter.d目录下的sshd.confaction   = iptables[name=SSH, port=sshprotocol=tcp]             #动作的相关参数,对应action.d/iptables.conf文件sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com, sendername=“Fail2Ban”]#触发报警的收件人logpath  = /var/log/secure   #检测的系统的登陆日志文件。这里要写sshd服务日志文件。默认为logpath = /var/log/sshd.log#5分钟内3次密码验证失败,禁止用户IP访问主机1小时。配置如下bantime  = 3600   #禁止用户IP访问主机1小时findtime  = 300    #在5分钟内内出现规定次数就开始工作maxretry = 3    #3次密码验证失败

Linux 如何使用 fail2ban 防止 SSH 暴力破解

重启Fail2Ban

systemctl restart fail2ban

测试

密码输入错误三次之后ssh服务断开

Linux 如何使用 fail2ban 防止 SSH 暴力破解

查看防火墙规则,我们的IP已经被禁止端口访问

Linux 如何使用 fail2ban 防止 SSH 暴力破解

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享