安装 Fail2Ban

内容纲要

一、 安装 Fail2Ban(防暴力破解与恶意扫描)

这是性价比最高的安全工具。很多“突然的访问”其实是全球各地的机器人在扫描你的网站漏洞或尝试暴力破解后台密码。
原理:它会实时监控日志,如果某个 IP 在短时间内频繁尝试登录失败(或访问不存在的页面),它会直接调用防火墙把这个 IP 封禁一段时间。
效果:能过滤掉 90% 的无效垃圾流量,节省大量 CPU 和内存。

1、安装命令(Ubuntu/Debian):

如果之前执行过,就不需要执行了

sudo apt update
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

安装后默认配置就能起到很好的保护作用,无需复杂设置。

2、检查 Fail2Ban 是否真正生效

光看服务运行状态是不够的,我们需要确认它是否已经成功加载了防护规则(监狱)。
你可以按照以下三个步骤来层层验证:

2.1. 检查服务是否正常运行

首先,确保 Fail2Ban 的后台进程是活跃的。输入以下命令:

sudo systemctl status fail2ban

如果看到绿色的 Active: active (running),说明服务已经成功启动。

2.2. 核心检查:查看是否加载了 SSH 防护规则

这是最关键的一步。Fail2Ban 启动后默认可能不会自动开启防护,我们需要确认它是否已经“盯上”了 SSH 登录日志。

sudo fail2ban-client status sshd

如何判断是否生效?
生效的标志:输出结果中,Status for the jail: sshd 下方应该能看到 Number of detected files: 1(或者大于0的数字),并且 File list 显示了你的系统日志路径(如 /var/log/auth.log 或 /var/log/secure)。
未生效的标志:如果提示 ERROR NOK: (‘sshd’,) 或者显示 Number of detected files: 0,说明它虽然启动了,但并没有在监控 SSH 登录,防护是失效的。

2.3. 终极测试:模拟攻击并查看拦截情况

为了彻底放心,你可以手动触发一次“拦截测试”:
找另一台电脑(或手机终端),尝试用错误的密码连续 SSH 登录你的服务器 3 到 5 次。
回到服务器,再次输入 sudo fail2ban-client status sshd。
观察输出结果中的 Currently banned(当前已封禁)数值是否变成了 1,并且在 Banned IP list 里是否出现了你刚才测试的那台设备的 IP。
如果能看到被封禁的 IP,恭喜你,Fail2Ban 已经完美生效!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部