OpenSSH升级版本,OpenSSH 用户枚举漏洞(CVE-2018-15473)修复

本文档介绍了如何在Linux系统中升级OpenSSH到最新版本以修复CVE-2018-15473漏洞。首先,从官方网站下载OpenSSH源码包,然后删除现有版本,安装依赖,编译并安装新版本。接着,配置启动文件,启用root登录,并设置开机自启。最后,验证安装成功并清理旧的SSH密钥对。

OpenSSH 用户枚举漏洞

问题

当OpenSSH 版本过低时,会出现OpenSSH 用户枚举漏洞(CVE-2018-15473),为了系统的安全加固,一般都会将OpenSSH 服务升级到最新版本

准备

官方网站下载:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
准备三个xshell窗口,为了防止手残党

如果系统上没有安装gcc,就执行下面的命令

yum -y install gcc 

步骤

一般我们使用默认安装的路径,其他路径需要自己的记下,在sshd的启动文件中修改,后面会说怎么修改。
将官网下载的安装包传入服务器中
安装之前先删除现有的版本

rpm -e --nodeps `rpm -qa |grep openssh`

在使用卸载命令后不会删除完/etc/ssh/ 路径下的文件 需要手动删除:

rm -f /etc/ssh/*

如果执行了上面两个命令,下载包都没有扔进去的,先执行下面的命令,然后直接将包拖进shell即可

yum -y install lrzsz

进入传入的安装包目录进行解压:

tar xzf openssh-8.8p1.tar.gz

cd openssh-8.8p1

yum -y install openssl-devel

进行编译安装openssh,分为两步:

./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ --with-ssl --with-md5-passwords mandir=/usr/share/man/

make && make install

删除密匙对,只删除密匙对,在重启的时候会重新生成

rm -f /etc/ssh/ssh_host_*

复制启动文件到/etc/init.d/

cp contrib/redhat/sshd.init /etc/init.d/sshd

修改启动文件,注意默认路径请忽律这一步操作;将PID_FILE路径改为刚才第一步记下的路径

vim /etc/init.d/sshd

PID_FILE=刚才第一步记下的路径

OpenSSH 的配置文件默认是没有开启root登录权限的,想要开启权限要修改配置文件

vim /etc/ssh/sshd_config

将PermitRootLogin前面的#删除,将后面的内容改成yes ,如图
在这里插入图片描述
下面都是OpenSSH 的开机自启设置

vim /etc/rc.local
在里面添加以下命令
/etc/init.d/sshd start

最后是赋权

chmod +x /etc/rc.local

OpenSSH 的启动命令和停止命令

启动:/etc/init.d/sshd start
停止:/etc/init.d/sshd stop

验证

ps -ef | grep sshd

这里看图片的路径

输入命令

/usr/sbin/sshd -V

出现以下图片说明成功
在这里插入图片描述
如果遇到ssh命令不能登录其他服务器就清理下面的所有内容

vim /root/.ssh/knows_hosts
### CVE-2018-15473 用户枚举漏洞修复方案 OpenSSH用户枚举漏洞CVE-2018-15473)允许攻击者通过特定的请求探测目标系统中存在的用户账户,从而获取潜在可利用的信息。此漏洞影响 OpenSSH 7.7 及更早版本,在 OpenSSH 7.8 中已得到修复。若当前部署的 OpenSSH 版本低于 7.8,则应尽快升级以防止该漏洞被利用。 #### 升级 OpenSSH 至安全版本 推荐将 OpenSSH 升级至 7.8 或更高版本,以彻底修复 CVE-2018-15473 漏洞。可通过以下方式完成升级- **使用包管理器升级**(适用于支持的发行版) - Debian/Ubuntu 系统: ```bash apt update && apt upgrade openssh-server openssh-client -y ``` - CentOS/RHEL 系统: ```bash yum update openssh-server openssh-clients -y ``` 或对于使用 DNF 的系统: ```bash dnf update openssh-server openssh-clients -y ``` 完成升级后,重启 SSH 服务使更改生效: ```bash systemctl restart sshd ``` - **手动编译安装最新版本** 若官方仓库未提供所需版本,可从 OpenBSD 官方下载源码进行编译安装。步骤如下: 下载并解压源代码包: ```bash wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz tar -zxvf openssh-8.8p1.tar.gz cd openssh-8.8p1 ``` 配置、编译并安装: ```bash ./configure --prefix=/usr/local --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-engine make make install ``` 替换原有二进制文件并重启服务: ```bash cp /usr/local/sbin/sshd /usr/sbin/ systemctl restart sshd ``` #### 临时缓解措施 在无法立即升级的情况下,可以通过修改配置或禁用某些功能来降低风险。例如,限制对公钥身份验证的使用可以有效阻止部分利用尝试,因为攻击者通常依赖于格式错误的身份验证请求来触发漏洞[^3]。可在 `/etc/ssh/sshd_config` 中添加或修改以下配置项: ```bash PubkeyAuthentication no ``` 此外,确保所有用户使用强密码,并启用访问控制策略如 `AllowUsers` 或 `DenyUsers` 来进一步限制登录权限。 #### 验证修复有效性 完成修复操作后,建议执行以下步骤确认漏洞是否已被消除: - 使用命令 `ssh -V` 检查当前运行的 OpenSSH 版本是否为 7.8 或以上。 - 运行自动化安全扫描工具(如 Nessus、OpenVAS)对系统进行检测。 - 尝试远程登录并测试 SSH 服务的响应行为,确保未出现异常拒绝连接等情况[^5]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值