手动更新OpenSSH(规避远程代码执行漏洞CVE-2024-6387)
SSH 登录认证及安全防护
近日,OpenSSH 远程代码执行漏洞 (CVE-2024-6387) 的曝光引发了广泛关注。该漏洞是由于 OpenSSH 服务 (sshd) 中的信号处理程序竞争问题,未经身份验证的攻击者可以利用此漏洞在 Linux 系统上以 root 身份执行任意代码。目前该漏洞技术细节已在互联网上公开,该漏洞影响范围较大,建议大家尽快做好自查及防护措施。
影响版本: 8.5p1 - 9.7p1
查看最新版本文件
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
Ubuntu 的软件源更新了 https://ubuntu.com/security/notices/USN-6859-1
Debian 11 12 已经修复了 https://security-tracker.debian.org/tracker/CVE-2024-6387
centos暂时不知道
尽量使用包管理更新openssh
make install安装会导致后续无法使用包管理更新
查看版本
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
最后重启
以下是附加的检查(可以忽略)
which ssh
如果输出 /usr/bin/ssh 或 /usr/sbin/ssh,表示当前系统使用的是旧版本的路径。
ls -l /usr/bin/ssh /usr/local/bin/ssh /usr/sbin/sshd /usr/local/sbin/sshd
这会显示多个可能的安装路径,如果 /usr/local/bin/ssh 和 /usr/local/sbin/sshd 文件存在,表示新版本的 OpenSSH 已安装在这些目录下。
原创文章,作者:陌涛,如若转载,请注明出处:https://imotao.com/8653.html
微信扫一扫