OpenSSH ssh/kex.c 拒绝服务漏洞(CVE-2016-8858)修复方案【升级OpenSSH版本】

免责声明:

本文档所提供的升级OpenSSH版本升级仅用于技术交流和学习;升级操作过程中出现系统异常或网络安全问题以及其他相关问题,本文档编辑者不承担相应责任和不提供相应的服务义务

一:系统环境信息和前期文件准备

1:系统/服务器版本信息

>>Ubuntu 16.04.7 LTS

2:OpenSSH版本信息

>>OpenSSH_7.2p2

3:相关包准备

>>3个包文件

>>3个包获取网址:

  1. openssh-9.6p1.tar.gz:

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz

  1. openssl-1.1.1w.tar.gz:

https://www.openssl.org/source/openssl-1.1.1w.tar.gz

  1. zlib.tar.gz:

https://zlib.net/current/zlib.tar.gz

>>要是上面上个网址下不动的话,可以直接在下面网盘里取

  1. 网盘地址:

openssh升级包文件官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

4:将3个包文件上传到系统/服务器上的“/root”目录下

二:apt更新和依赖安装(此过程需要系统/服务器联网)

1:apt更新(执行命令后需要和截图演示结果一致即可)

>>sudo apt update

2:依赖安装(执行命令后需要和截图演示结果一致即可)

>>sudo apt install -y build-essential zlib1g-dev libssl-dev autoconf gcc g++ make libpam0g-dev libselinux1-dev

三:解压Openssh包并升级OpenSSL和Zlib

1:解压openssh-9.6p1.tar.gz包

>>cd /root

>>tar -zxvf openssh-9.6p1.tar.gz

2:将openssl1.1.1w包移动到上一步解压好的openssh-9.6p1路径下并解压(必须这么干)

>>mv ../openssl-1.1.1w.tar.gz ./

>>tar -zxvf openssl-1.1.1w.tar.gz

3:进入openssl-1.1.1w路径下并进行升级编译安装(依次输入以下命令即可)

>>cd openssl-1.1.1w

>>./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib

>> make -j$(nproc) && sudo make install

>>echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl.conf

>>sudo ldconfig

4:将zlib包移动到当前路径并解压(必须这么干)

>>mv ../../zlib.tar.gz ./

>>tar -zxvf zlib.tar.gz

5:进入解压好的zlib-1.3.1路径下并进行升级(按照下面命令操作即可)

>>cd zlib-1.3.1

>>./configure --prefix=/usr/local/zlib

>>make -j$(nproc) && sudo make install

四:编译安装OpenSSH9.6p1

1:回到openssh9.6p1路径下并进行配置编译参数

>>cd ../../

>>./configure \

   --prefix=/usr/local/openssh \

   --sysconfdir=/etc/ssh \

   --with-ssl-dir=/usr/local/openssl \

   --with-zlib=/usr/local/zlib \

   --with-md5-passwords \

   --with-pam \

   --with-selinux \

   --with-privsep-path=/var/lib/sshd

2:编译与安装

>>make -j$(nproc)

>>sudo make install

五:系统集成与配置(必须进行)

1:替换旧版本文件

>>sudo mv /usr/bin/ssh /usr/bin/ssh.old

>>sudo mv /usr/sbin/sshd /usr/sbin/sshd.old

2:创建符号链接

>>sudo ln -sf /usr/local/openssh/bin/* /usr/bin/

>>sudo ln -sf /usr/local/openssh/sbin/sshd /usr/sbin/sshd

3:配置更新与服务重启

>>sudo systemctl daemon-reload

>>sudo systemctl restart sshd

六:重连系统/服务器并验证

1:重启sshd后可能断开ssh连接,若断开等个几分钟再重新连接即可;

>>ssh -V

七:回滚方面(紧急恢复)

#恢复旧版本

>>sudo rm -rf /usr/local/openssh

>>sudo mv /usr/bin/ssh.old /usr/bin/ssh

>>sudo mv /usr/sbin/sshd.old /usr/sbin/sshd

>>sudo systemctl restart sshd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑猫锦长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值