OpenSSH漏洞CVE-2024-6387快速修复方案(RPM包制作和升级方案)

新逸网络 106 0

影响版本

OpenSSH < 4.4p1:若未对CVE-2006-5051完成补丁,容易受到这个信号处理竞态条件的影响。

4.4p1 <= OpenSSH < 8.5p1:不受此漏洞影响。

8.5p1 <= OpenSSH < 9.8p1:由于2020年10月的一个错误提交重新引入了这个漏洞。

————————————————

修复方案

升级到9.8p1版本,当前最新版本

升级方式-el7

本站已制作好rpm升级包,可直接升级,经多次测试有效

下载地址:https://download.xinac.net/openssl/rpmbuild/RPMS/el7/

此安装过程同 https://www.xinac.net/9228.html

1、先安装openssl,再安装openssh(openssh9.3起,需要openssl 1.1或以上的版本)

2、openssl安装后所在目录:/usr/local/openssl,不会对系统openssl有任何影响(因为没有修改ld.so.conf,也没有覆盖已有版本,如果此路径已有使用才会有影响

3、使用如下命令安装
rpm -ivh openssl-*.rpm --nodeps --force

方式1
rpm -e --nodeps $(rpm -qa | grep openssh-)
rpm -ivh openssh-*.rpm --nodeps --force

方式2
rpm -Uvh openssh-*.rpm --nodeps --force

方式3
yum localinstall openssh-*.rpm

3、安装后的操作
ssh -V                  # 无报错且版本号一致则安装成功
rpm -qa | grep openssh  # 检查openssh的版本号和是否存在多个版本
systemctl restart sshd  # 无报错则升级成功

升级方式-el8

本站已制作好rpm升级包,可直接升级,经多次测试有效

下载地址:https://download.xinac.net/openssl/rpmbuild/RPMS/el8/

1、el8一般自带的都是1.1.1版本的openssl,不需要额外安装openssl

2、使用如下命令安装(3种方式都可以用)
方式1
rpm -e --nodeps $(rpm -qa | grep openssh-)
rpm -ivh openssh-*.rpm --nodeps --force

方式2
rpm -Uvh openssh-*.rpm --nodeps --force

方式3
yum localinstall openssh-*.rpm

3、安装后的操作
ssh -V                  # 无报错且版本号一致则安装成功
rpm -qa | grep openssh  # 检查openssh的版本号和是否存在多个版本
systemctl restart sshd  # 无报错则升级成功

rpm包制作教程

相关的源码包和配置文件都可以在本站指定网址下载:

https://download.xinac.net/openssl/rpmbuild/

1. 安装依赖包

yum install rpm-build gcc gcc-c++ glibc glibc-devel  openssl openssl-devel \
  pcre-devel zlib zlib-devel make imake wget xmkmf \
  initscripts  krb5-devel pam-devel krb5-devel libX11-devel libXt-devel gtk2-devel

# 安装rpmbuild和依赖
yum install rpm-build rpmdevtools tree

2. 创建rpmbuild目录

# #创建rpmbuild目录
rpmdev-setuptree
tree /root/rpmbuild

3. 下载源码

cd /root/rpmbuild/SOURCES
# openssh-9.8p1.tar.gz
wget -c https://download.xinac.net/openssl/openssh-9.8p1.tar.gz

# x11-ssh-askpass-1.2.4.1.tar.gz
wget -c https://download.xinac.net/openssl/rpmbuild/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz

# sshd.pam
## el7
wget -c https://download.xinac.net/openssl/sshd-el7.pam -O sshd.pam
## el8
wget -c https://download.xinac.net/openssl/sshd-el8.pam -O sshd.pam

tar -zxvf openssh-9.8p1.tar.gz
cp openssh-9.8p1/contrib/redhat/openssh.spec ../SPECS/openssh-9.6.spec

4. openssh.spec文件配置

# spec文件是制作rpm包的关键,可直接从本站下载:https://download.xinac.net/openssl/rpmbuild/SPECS/

cd /root/rpmbuild/SPECS
wget https://download.xinac.net/openssl/rpmbuild/SPECS/openssh-9.8p1-el7.spec

5. 编译

cd /root/rpmbuild/SPECS/
rpmbuild -ba openssh-9.8p1-el7.spec

# 最后提示 exit 0 表示编译完成,否则需要排查问题
# 在 rpmbuild/RPMS/ 目录下就可以看到制作好的包了
tree -L 2 /root/rpmbuild/

# 升级openssh只需要三个包:
openssh-9.8p1-1.el7.rpm
openssh-clients-9.8p1-1.el7.rpm
openssh-server-9.8p1-1.el7.rpm

6. 升级&备份

cp -p /etc/pam.d/sshd /etc/pam.d/sshd_`date +%Y%m%d`
cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_`date +%Y%m%d`

rpm -Uvh /root/rpmbuild/RPMS/x86_64/openssh-*.rpm --nodeps --force

7. 源码升级

源码升级可参考:https://www.xinac.net/9228.html

 

发表评论 取消回复
表情 图片 链接 代码

分享