技术

防范CVE-2024-6387漏洞:OpenSSH手动更新教程

6ird 2024年7月2日 5 分钟阅读

网络安全公司 Qualys 的威胁研究团队近日披露了一个高危的 OpenSSH 远程代码执行漏洞,编号为 CVE-2024-6387。扫描结果显示,超过1400万台暴露在互联网中的服务器受此漏洞影响。

有趣的是,这个漏洞并非首次出现。它在 2006 年曾被成功修复,但在 2020 年发布的 OpenSSH 新版本中不期而至地重现。这种反复性使得受影响的 OpenSSH 版本情况变得较为复杂,需要特别关注。

受影响的 OpenSSH 版本:

低于 4.4p1 版 (不含此版本):受影响

高于 4.4p1 但低于 8.5p1 (不含此版本):不受影响

8.5p1 及后续版本到 9.8p1 (不含此版本):受影响

考虑到 8.5p1 及之前的版本已经非常老旧估计使用量比较低,因此这里可以直接以 8.5p1 版作为分水岭,若系统使用的 OpenSSH 版本为 9.8p1 以下版本那就受到影响,用户应当尽快更新到 9.8p1 及后续版本。

而现在就教一下大家如何手动更新一下OpenSSH:

查看最新版本文件

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

查看版本

ssh -V

更新安装必须的包

sudo apt-get -y update
sudo apt-get install build-essential zlib1g-dev libssl-dev

下载最新的包:

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

解压:

tar -xzf openssh-9.8p1.tar.gz
cd openssh-9.8p1

编译:

./configure
make

安装:

sudo make install

重启服务:

sudo systemctl restart ssh

查看版本

ssh -V

如果版本没显示openssh-9.8p1,就是需要添加环境变量:

echo 'export PATH=/usr/local/bin:/usr/local/sbin:$PATH' >> ~/.bashrc

验证生效

source ~/.bashrc

查看版本(出现openssh-9.8p1就OK)

ssh -V

修改 ssh.service 文件中的 ExecStartPre、ExecStart 和 ExecReload 行,将 /usr/sbin/sshd 改为 /usr/local/sbin/sshd

sudo sed -i 's|ExecStartPre=/usr/sbin/sshd|ExecStartPre=/usr/local/sbin/sshd|; s|ExecStart=/usr/sbin/sshd|ExecStart=/usr/local/sbin/sshd|; s|ExecReload=/usr/sbin/sshd|ExecReload=/usr/local/sbin/sshd|' /lib/systemd/system/ssh.service

确认修改内容:

grep -E 'ExecStartPre|ExecStart|ExecReload' /lib/systemd/system/ssh.service

重新加载服务:

sudo systemctl daemon-reload
sudo systemctl restart sshd

列出正在运行的SSH进程(确认是否是 /usr/local/sbin/sshd)

ps -ef | grep sshd

注意:以上操作ssh的配置文件就变成了/usr/local/etc/sshd_config,需要给新配置文件更新内容

把新配置文件删掉,创建链接到/etc/ssh/sshd_config,并加载服务

sudo rm /usr/local/etc/sshd_config
sudo ln -s /etc/ssh/sshd_config /usr/local/etc/sshd_config
sudo systemctl daemon-reload
sudo systemctl restart sshd

清理旧版本(可选)

sudo rm /usr/sbin/sshd

目前已经有部分 Linux 系统开发商推出安全更新修复这一漏洞,如果用户尚未检查到更新请换个时候再次检查更新,尽可能第一时间修复此漏洞。

原创防范CVE-2024-6387漏洞:OpenSSH手动更新教程
文章作者:6ird
版权声明:本站文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 6ird@rticles