OpenSSH 是一套基于安全外壳(SSH)协议的安全网络实用程序,提供强大的加密功能以确保隐私和安全的文件传输,是远程服务器管理和安全数据通信的必备工具。近日,官方修复了一个OpenSSH远程代码执行漏洞 (CVE-2024-6387),该漏洞允许未经身份验证的攻击者在Linux系统上以root身份执行任意代码。鉴于该漏洞的严重性和影响范围较大,建议用户尽快进行修复。以下是详细的修复教程。
01 前提条件
1. SSH访问:确保你有SSH访问受影响的服务器。
2. 备份数据:在进行更新操作之前,建议备份重要数据和配置文件。
3. 检查OpenSSH版本:首先检查当前安装的OpenSSH版本,以确定是否受影响。
ssh -v
02 更新OpenSSH
2.1 使用包管理器更新
对于大多数Linux发行版,你可以使用包管理器(如apt、yum、dnf等)来更新OpenSSH。
Debian/Ubuntu
1.更新包索引:
sudo apt update
2. 安装最新版本的OpenSSH:
sudo apt install openssh-server
3.验证安装的版本:
ssh -V
CentOS/RHEL
1.清理并更新缓存:
sudo yum clean all
sudo yum makecache
2.安装最新版本的OpenSSH:
sudo yum update openssh-server
3.验证安装的版本:
ssh -V
2.2 手动编译安装
如果你的发行版的包管理器没有提供最新版本的OpenSSH,你可以手动下载源代码并编译安装。
1.下载最新的OpenSSH源代码:
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
2.解压缩源代码:
tar -xzf openssh-9.8p1.tar.gz
cd openssh-9.8p1
3.配置、编译并安装:
./configure
make
sudo make install
4.重启SSH服务:
sudo systemctl restart sshd
5.验证安装的版本:
ssh -V
03 后续检查
1. 检查服务状态:确保SSH服务正常运行。
sudo systemctl status sshd
2. 测试SSH连接:使用SSH客户端连接到服务器,确保SSH服务正常工作。
3. 检查日志:查看SSH日志,确保没有异常。
sudo tail -f /var/log/auth.log
04 参考资料
•Qualys Blog: Regresshion – Remote Unauthenticated Code Execution Vulnerability in OpenSSH Server