影响版本
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
本文作者为新逸网络,转载请注明。