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

Linux 如何使用 fail2ban 防止 SSH 暴力破解
最新回答
海心

2021-04-14 01:00:11

Linux通过Fail2ban实现SSH暴力破解防护

当需要保护SSH免受暴力破解时,业界推荐的低成本且高效的方法就是利用Fail2ban。尤其是对于那些面临黑客攻击的用户,它至关重要。尽管对它的了解已久,但找到简单易懂的设置教程并不容易。本文将提供一个Ubuntu实例,逐步教你如何安装和配置Fail2ban,以确保在密码登录模式下,有效防止恶意登录尝试。

首先,更新并升级你的Ubuntu服务器:

sudo apt update && sudo apt upgrade

然后安装Fail2ban:

sudo apt install fail2ban

接下来,编辑jail.local文件,覆盖默认配置,关注/var/log/auth.log:

创建并编辑`/etc/fail2ban/jail.local`,添加以下内容:

bash
[ssh]
enabled = true
logpath = /var/log/auth.log
maxretry = 6
bantime = 3600

sudo systemctl restart fail2ban

检查服务状态并确认设置正确:

sudo systemctl status fail2ban

当SSH尝试登录超过三次失败,Fail2ban将通过iptables阻止该IP访问。测试方法是尝试登录,如果被ban,说明设置有效。

查看特定日期的失败登录记录,用:

sudo fail2ban-client status

要取消ban,可以使用:

sudo fail2ban-client release IP_ADDRESS

Fail2ban的新版本更新可通过GitHub获取相关资料,如需调整ban时间,可参考:

https://github.com/fail2ban/fail2ban/wiki/Configuring-the-bantime


最后,数据统计显示,92.7%的暴力破解尝试是针对root用户,只需关闭root远程登录,就能大大降低攻击风险。以腾讯和阿里云的Ubuntu实例为例,它们默认只支持非root用户登录,这进一步增强了系统的安全性。

通过上述步骤,你将能够有效地利用Fail2ban增强SSH的安全防护,抵御暴力破解攻击。