阿里云ECS怎么防SSH暴力破解?改端口、密钥登录、fail2ban到底哪个最管用?

阿里云上云采购季 2核2G云服务器99元/年 续费同价

阿里云ECS怎么防SSH暴力破解?改端口、密钥登录、fail2ban到底哪个最管用?

直接给结论:防SSH暴力破解,单靠改端口作用有限,最管用的是「密钥登录 + 禁用密码认证」这套组合拳,再用fail2ban和安全组白名单做双保险。服务器只要开公网,第一天就会被扫描器盯上,密码认证不关掉,弱密码被撞开只是时间问题。

  1. 第一步:换成SSH密钥登录。在阿里云控制台的「密钥对」里创建密钥并绑定实例,或在服务器上用ssh-keygen自行生成、把公钥写入~/.ssh/authorized_keys。私钥只留在自己电脑上,别人就算知道用户名也登不进来。腾讯云CVM同样支持在控制台创建SSH密钥对并绑定实例,操作逻辑基本一致。
  2. 第二步:关闭密码认证。编辑/etc/ssh/sshd_config,把PasswordAuthentication改为no、PermitRootLogin改为no或prohibit-password,然后systemctl restart sshd。这一步生效后,暴力破解就从「猜密码」变成「必须有你的私钥」,攻击基本失效。
  3. 第三步:改默认端口,减少噪音。把22改成2222或更高位端口(注意在安全组和系统防火墙里同步放行新端口)。改端口防不了定向攻击,但能过滤掉绝大多数扫全网的无脑扫描,让/var/log/secure里的失败记录少一个量级,日志也清爽。
  4. 第四步:装fail2ban自动封IP。Ubuntu/Debian用apt install fail2ban、Alibaba Cloud Linux用yum install即可。默认策略是登录失败几次就把来源IP封禁若干分钟,可以按需加长封禁时间。腾讯云对应的思路是用轻量应用服务器Lighthouse自带的一键放行端口加主机安全(云镜)基础防护,也能看到并阻断爆破行为。
  5. 第五步:安全组只对自己放行SSH。如果你是固定办公网络或家宽,直接在安全组里把22(或新端口)的授权对象设成自己的IP/32,比任何软件层防护都彻底。这是阿里云官方文档一直强调的最佳实践:安全组是ECS的第一道防火墙,最小化放行最重要。
  6. 第六步:留好后路再收口。改端口、关密码前,务必先开一个新会话测试能正常登录,别把自己锁在门外。也可以在控制台用VNC(远程连接)作为兜底入口,SSH配错了还能进去救。

注意:

  • 改sshd配置前先保留当前SSH会话不要断开,重启服务后另开终端验证成功再退出旧会话,否则可能连不上。
  • 安全组收紧前确认自己出口IP是否固定,家宽IP会变,变动后要记得更新白名单。
  • 私钥丢失等于失去登录方式,务必多备份一份到安全位置,并记得 passphrase 也别设完就忘。

总结:防暴力破解的核心逻辑是「让密码认证消失」,而不是和扫描器比谁反应快。密钥登录加禁用密码是根治,fail2ban和端口修改是减负,安全组白名单是终极收口,四层叠上去,新手服务器也能稳稳扛住公网扫描。

发表评论