ssh弱口令漏洞
凌晨三点,口令我盯着终端里滚动的漏洞日志,心跳漏了一拍。口令那台被当作跳板机的漏洞CentOS服务器,SSH端口正被某个IP段疯狂爆破——用户名root,口令密码尝试了"admin123"、漏洞"123456"、口令"P@ssw0rd",漏洞像个不知疲倦的口令自动售货机,投币就吐东西。漏洞这已经是口令本月第三起。
SSH弱口令不是漏洞新漏洞,它老得掉渣,口令却依然致命。漏洞很多人觉得"我密码挺复杂啊",口令可现实是,默认端口22暴露在公网,配上"root/toor"这类组合,扫全网用不了半小时。2019年某云厂商的统计显示,针对22端口的暴力破解攻击占所有入侵尝试的40%以上,而这其中绝大多数是弱口令的锅。
真实案例比想象中更戏剧化。我认识一位运维兄弟,公司测试服务器用了"test/123456",结果被挖矿程序盯上,CPU飙到400%,业务告警响了整夜。他后来跟我说,黑客连日志都没清,就大摇大摆地装了个xmrig挖矿脚本,还贴心地改了SSH配置,把端口换成了2222,防止别人抢他的"劳动成果"。
这类攻击的技术门槛低得惊人。Metasploit里现成的ssh_login模块,配合rockyou.txt密码字典,跑个几千次就能撞开一大片。更别说现在还有AI驱动的密码生成,把"qwerty"、"1qaz2wsx"这类键盘路径组合都算进去,传统弱口令基本无处可藏。
可为什么还是有人中招?我观察到一个规律:越小的团队越容易踩坑。大公司有安全基线和扫描工具,小团队往往"先跑起来再说",SSH配置保持默认,密码随手设一个,一用就是三年。更讽刺的是,很多服务器被攻破后,攻击者安装的rootkit比运维自己装的监控工具还专业。
防御手段其实不复杂。禁用root直接登录,改用普通用户加sudo;把SSH默认端口换掉,虽然不能根治,但能过滤掉90%的脚本扫描;开启公钥认证,彻底关掉密码登录。要是实在需要密码,那就用密码管理器生成20位随机串,别再用生日和手机号了。
有一次我给客户做安全评估,发现他们防火墙规则里赫然写着"允许任意IP访问22端口"。运维解释说"方便远程维护"。我问他:"那您觉得,攻击者方便吗?"他愣了两秒,当天下午就改了安全组。
说到底,SSH弱口令是个态度问题,不是技术问题。你永远不知道哪台不起眼的服务器会被扫到,哪个"临时用一下"的密码会变成别人进内网的跳板。别等日志里出现"Accepted password for root from 103.xxx.xxx.xxx"才后悔——那行字出现的时候,你的服务器已经姓"黑客"了。
顺手检查一下自己的服务器吧。如果还在用密码登录SSH,现在就去换密钥。五分钟的事,能省下无数个和攻击者赛跑的凌晨。
