openssh 安全漏洞怎么修复
昨天凌晨两点,全漏我值班的洞修服务器又中招了。攻击日志里那串可疑的全漏IP地址反复尝试连接,SSH端口被暴力扫描了整整四十分钟。洞修这不是全漏第一次,也绝不会是洞修最后一次。OpenSSH作为Linux系统默认的全漏远程管理工具,几乎每台公网服务器都开着它,洞修可它恰恰是全漏黑客最喜欢撬的门。
先说最要命的洞修漏洞——CVE-2024-6387,一个远程代码执行漏洞,全漏攻击者不需要任何凭证就能在目标机器上执行任意命令。洞修简单说,全漏只要你的洞修SSH端口暴露在公网,对方就能像拿着备用钥匙一样直接进门。全漏这个漏洞源于信号处理器的竞争条件,属于老版代码里的遗留问题,影响范围覆盖8.5p1之前的所有版本。
修复手段并不复杂,第一件事就是升级。
Ubuntu和Debian用户执行sudo apt update && sudo apt upgrade openssh-server,CentOS或RHEL系列用sudo yum update openssh-server。升级后务必检查版本号,ssh -V输出里如果显示8.9p1以上就安全了。这里插一句,很多人升级完就完事,其实还得重启服务让新版本生效,sudo systemctl restart sshd,别漏了。
如果因为某些原因暂时无法升级,那就得用临时缓解措施。修改sshd配置文件,把LoginGraceTime设为0,MaxStartups设为2:50:10,这两个参数能限制未认证连接的数量和超时时间,直接掐断攻击者反复尝试的通道。改完记得sudo systemctl reload sshd,不用重启就能生效。
还有个容易被忽略的细节——检查是否开启了UsePAM。默认配置下它是yes,但某些精简安装可能把它关了,这会让系统失去账户锁定机制,暴力破解的成功率直线上升。务必确认这行配置存在且值为yes。
光升级还不够,日常加固得跟上。我见过太多人只盯着漏洞补丁,结果密钥管理一塌糊涂。别用密码登录了,改用密钥认证。生成密钥对时用ssh-keygen -t ed25519,比RSA更安全更短。然后把公钥放到服务器的~/.ssh/authorized_keys里,再修改PasswordAuthentication no,彻底堵死密码爆破这条路。
还有端口别用默认的22。改到高位端口,比如22022,虽然不能防住有耐心的人,但能过滤掉绝大多数自动化扫描脚本。配合Fail2ban这类入侵防御工具,连续失败三次就封IP一段时间的策略,效果立竿见影。
最后说个真实案例。上个月有个客户,用的还是OpenSSH 7.4的老系统,业务不能停,升级窗口排到下季度。我给他临时加了TCP Wrapper白名单,只允许三个固定办公IP访问SSH,其他地址全部拒绝。虽然粗暴,但管用。安全这东西,没有银弹,只有层层设防,让攻击者觉得划不来,自然就转向别的目标了。
记住,修复漏洞不是一次性的动作,而是持续的过程。每季度检查一次sshd -T的输出,确认所有配置项符合预期。别等出了事再慌,到时候代价就大了。
相关文章:
