菜单

Administrator
发布于 2026-10-10 / 9 阅读
0
0

Fail2Ban 防护:自动封禁 SSH 爆破 IP

服务器放公网上,SSH 每天被扫几千次是常态。Fail2Ban 就是自动封禁这些爆破 IP 的看门狗。

它怎么工作

盯着日志文件(比如 /var/log/auth.log),发现某个 IP 短时间内密码输错太多次,就调用防火墙把它封掉一段时间。

安装

sudo apt update && sudo apt install -y fail2ban
sudo systemctl status fail2ban

配置 SSH 防护

别直接改 jail.conf(升级会被覆盖),写 jail.local:

sudo vim /etc/fail2ban/jail.local
[sshd]
enabled = true
port = ssh
maxretry = 5
findtime = 600
bantime = 3600

maxretry 5:10 分钟内输错 5 次就封;bantime 3600:封 1 小时(设 -1 永久封)。

sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

常用管理命令

sudo fail2ban-client status              # 看有哪些 jail 在跑
sudo fail2ban-client status sshd          # 看封了谁
sudo fail2ban-client set sshd unbanip 1.2.3.4   # 手动解封

白名单:别把自己锁外面

[DEFAULT]
ignoreip = 127.0.0.1/8 你的家庭IP

和密钥登录配合

Fail2Ban 是第二道门。第一道永远是禁密码、只用密钥登录(L10 讲过)。

小结

配置

含义

推荐值

maxretry

触发封禁的失败次数

5

findtime

统计窗口(秒)

600

bantime

封禁时长(秒)

3600


评论