轻量服务器装 fail2ban:SSH 爆破自动封 IP,一劳永逸
你的服务器每天被试多少次密码
公网上的任何一台服务器,22 端口每天都会收到成百上千次的 SSH 爆破尝试(自动化脚本在全网扫描)。`lastb | wc -l` 看一眼失败登录记录,数字会让你吃惊。fail2ban 的作用就是:谁试错超过阈值,自动封它的 IP。
安装与配置
Debian/Ubuntu:`apt install -y fail2ban`。默认配置就能用,但建议自定义 jail:
创建 `/etc/fail2ban/jail.local` 写入:`[sshd]` 段配置 `enabled = true`、`maxretry = 5`(错 5 次)、`bantime = 3600`(封 1 小时)、`findtime = 600`(10 分钟内)。然后 `systemctl restart fail2ban`。
常用管理命令
`fail2ban-client status sshd` 看当前封禁列表;`fail2ban-client set sshd unbanip IP` 手动解封某个 IP(自己被误封时用);`fail2ban-client set sshd addignoreip IP` 加白名单(把自己的常用 IP 加进去)。
注意:自己的 IP 被封后 SSH 连不上,只能通过轻量控制台的网页终端解封——所以部署完 fail2ban 第一件事就是把自己的 IP 加白名单。
常见问题
安装 fail2ban:apt install fail2ban,配置 jail.local 设置 maxretry 和 bantime,重启生效。配合改 SSH 端口和密钥登录,防护效果最佳。
通过云控制台的网页终端登录服务器,执行 fail2ban-client set sshd unbanip 你的IP 解封。建议部署后立即把常用 IP 加入 ignoreip 白名单。
fail2ban-client status sshd 命令查看当前封禁列表(Banned IP list),以及累计失败次数与封禁统计。