SSH 一天被扫几千次?三步配好 fail2ban,爆破进来先封 IP

举报
yd_266847877 发表于 2026/10/24 10:03:56 2026/10/24
【摘要】 刚开好一台云服务器,第一件事不是装面板,而是看一眼日志。翻开 /var/log/auth.log,“Failed password” 一行接一行,一天下来能攒几千条——99% 是全网扫描的肉鸡在撞你的 SSH。这事跟你做没做错配置没关系,公网 IP 拿到手,扫描第二天就到。fail2ban 干的事很简单:盯着日志看,同一个 IP 短时间内连续输错几次密码,就调 iptables 把它封掉一段...

刚开好一台云服务器,第一件事不是装面板,而是看一眼日志。翻开 /var/log/auth.log,“Failed password” 一行接一行,一天下来能攒几千条——99% 是全网扫描的肉鸡在撞你的 SSH。这事跟你做没做错配置没关系,公网 IP 拿到手,扫描第二天就到。

fail2ban 干的事很简单:盯着日志看,同一个 IP 短时间内连续输错几次密码,就调 iptables 把它封掉一段时间。它本身是个轻量守护进程,1GB 内存的小机器跑起来毫无压力。

Debian/Ubuntu 上三步装好:

第一步,apt install fail2ban。

第二步,新建 /etc/fail2ban/jail.local,写入:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h

意思是 10 分钟内输错 5 次,就封 1 小时。

第三步,systemctl enable --now fail2ban,然后 fail2ban-client status sshd 看状态。想查现在封了谁、解封某个 IP:fail2ban-client set sshd unbanip x.x.x.x。

几个实战里踩过的坑:

一是先加白名单再开封禁。jail.local 里写上 ignoreip = 127.0.0.1 加上你自己的固定出口 IP,否则你自己输错几次密码也被关在门外,只能走控制台 VNC 进去解,狼狈得很。

二是 bantime 别一上来就设一年。扫描源的 IP 池大得吓人,封一年也没用,fail2ban 挡的是"同一 IP 短时间高频撞"的低端脚本。先 1 小时起步,观察几天再调。

三是 fail2ban 是兜底不是银弹。配合改默认 SSH 端口、只留密钥登录禁用密码,效果是叠加的。安全从来都是组合拳。

最后,偶尔看一眼战果:grep "Ban " /var/log/fail2ban.log | tail,一天拦了多少 IP 一目了然。小内存机器最怕常驻的重服务,fail2ban 这种轻量守护进程反而是最值的投入之一——装上,设好白名单,之后就不用再管它。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。