Openssh CVE-2024-6378 漏洞需要升级openssh版本,此次漏洞影响范围>=8.5P1,<9.8P1,当前官方最新版本就是9.8P1,所以必须升级到最新版本
升级方式
由于影响的设备范围很广,如果每台机器手工编译,很浪费时间,所以采取编译RPM包,然后使用RPM包升级的方式来升级
下载编译脚本
git clone https://github.com/boypt/openssh-rpms.git
安装编译需要的依赖
centos 切换阿里源
**CentOS 6**
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
**CentOS 7**
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
**CentOS 8**
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
之后运行 yum clean all && yum makecache生成缓存
安装依赖
yum groupinstall -y "Development Tools"
yum install -y imake rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel perl perl-IPC-Cmd
# CentOS5 :
yum install -y gcc44
下载源码和编译RPM
脚本分成两步:
下载源码
# 进入到刚才下载的编译脚本目录,执行一下脚本下载openssh和openssl的源码
./pullsrc.sh
编译源码
# 执行一下脚本编译rpm包
./compile.sh
安装RPM包
# 进入生成的RPM包目录。
cd $(./compile.sh RPMDIR)
pwd
ls
# 你将在这个目录中找到多个RPM文件。
# 你可以将它们复制到其他机器上,并在那里继续遵循后续步骤。
# 备份当前的SSH配置
如果存在文件 /etc/ssh/sshd_config,则将其移动到 /etc/ssh/sshd_config.$(date +%Y%m%d)
# 安装rpm包。排除所有调试包。
find . ! -name '*debug*' -name '*.rpm' | xargs sudo yum --disablerepo=* localinstall -y
# 主机密钥文件。
chmod -v 600 /etc/ssh/ssh_host_*_key
# 对于CentOS7+:
if [[ -d /run/systemd/system && -f /usr/lib/systemd/system/sshd.service ]]; then
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.$(date +%Y%m%d)
systemctl daemon-reload
fi
# 检查已安装的版本:
ssh -V && /usr/sbin/sshd -V
# 重启服务
service sshd restart