Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞

本次教程适用于:Linux(CentOS、Debian),macOS请勿使用。

本文章部分参考:https://cloud.tencent.com/developer/article/1745705

 

图片[1]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
封面

OpenSSH和OpenSSL

🔧OpenSSL

OpenSSL其实是一个开源的C函数库,多用于加密依赖,很多程序的编译,需要OpenSSL作为依赖包。

 🖥OpenSSH

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现,类似于OpenJDK和OracleJDK的区别。需要用到OpenSSL的函数库,所以在更新OpenSSH前,最好先更新OpenSSL。

SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。相对于传统方式,OpenSSH提供了服务端后台程序和客户端工具,并且加密远程控制和文件传输过程中的数据。

简单地说,日常使用OpenSSH:远程控制服务器端,如:远程登录访问Linux的Terminal。且过程中加密传输。

OpenSSL 拒绝服务漏洞

拒绝服务漏洞,代号为:CVE-2021-3449

  • 主要是一些操作,可能会让OpenSSL TLS 强行停止。【我感觉这个漏洞不是很严重啦,但是大家都觉得很严重……那还是有必要修复一下╮( ̄▽ ̄””)╭】
图片[2]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
腾讯云后台警告⚠️

解决方法很简单:升级OpenSSL版本

XMSS Key 解析整数溢出漏洞

XMSS Key漏洞,代号为:CVE-2019-16905

  • 主要是非法用户,可以通过此漏洞,跳过OpenSSH的认证,远程登录到你服务器【不过计算难度挺高的,而且条件苛刻……】。

但是,总归是重大漏洞,需要修复:

图片[3]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
腾讯云后台警告⚠️

解决方法很简单:升级OpenSSH版本

🚀升级OpenSSL

升级的方法很简单:

  • 下载新版本OpenSSL源码
  • 备份旧版本OpenSSL
  • 编译安装新版本OpenSSL

下载新版本OpenSSL源码

这边推荐下载地址:https://ftp.openssl.org/source

图片[4]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
下载文件

比如,我这边下载openssl-1.1.1k.tar.gz。到Linux控制台内,使用wget下载即可(你也可以使用宝塔等软件下载,但是记得权限问题):

wget 'https://ftp.openssl.org/source/openssl-1.1.1k.tar.gz'
图片[5]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
使用wget下载
图片[6]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
下载OpenSSL成功

之后,我们解压这个tar.gz文件夹,并进入:

# 使用tar工具包解压
tar -xf openssl-1.1.1k.tar.gz
# 进入文件夹
cd openssl-1.1.1k
图片[7]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
进入SSL文件夹

备份旧版本OpenSSL

为了避免编译过程中,出现意外(如:远程SSH突然断连,导致编译失败);我们提前备份旧版本OpenSSL,给回滚“留条路”(如果你之前都没有安装OpenSSL,这步可以跳过):

# 备份OpenSSL到用户目录,并重命名为openBak
mv openssl ~/openBak

编译安装新版本OpenSSL

刚刚我们已经在新的OpenSSL目录,所以我们可以直接开始编译。首先,设置配置。我们使用默认的即可:

./config
图片[8]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
设置/config

之后,进行make编译操作:

make

最后,进行make install安装操作:

make install
图片[9]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
make操作ing
图片[10]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
make install操作ing

操作完成后/usr/bin下重新有openssl文件。我们只需要重新建立软连接即可:

ln -s /usr/local/bin/openssl /usr/bin/openssl
图片[11]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
重新建立软链接🔗

到此,OpenSSL升级完成。重新腾讯云安全检测:

图片[12]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
修复OpenSSL成功

升级OpenSSH

OpenSSH的升级的方法也很简单:

  • 下载新版本OpenSSH源码
  • 备份(移除)旧版本OpenSSH
  • 编译安装新版本OpenSSH
  • 重启OpenSSH进程服务(重要‼️)

下载新版本OpenSSH源码

同样,这边推荐下载地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/

和OpenSSL的下载方法一样,不再赘述:

图片[13]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
下载OpenSSH成功

之后,我们解压tar.gz文件后,进入该目录以备后续编译:

图片[14]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
进入OpenSSH目录

备份(移除)旧版本OpenSSH

我们要移除旧版本的OpenSSH配置:

# 备份旧文件
cp /etc/ssh ~/sshBak
# 删除旧文件
rm -rf /etc/ssh/*

编译安装新版本OpenSSH

刚刚我们已经在新的OpenSSH目录,所以我们可以直接开始编译。首先,设置配置。我们使用默认的即可:

./configure

之后,进行make编译操作:

make

最后,进行make install安装操作:

make install
图片[15]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
make(SSH)
图片[16]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
make install(SSH)

这个时候,其实OpenSSH已经更新完成,但是这个时候重启SSH,你可能就无法登录了嗷。

重启OpenSSH进程服务(重要‼️)

这个时候,我们扫描SSH进程:

图片[17]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
扫描SSH进程

因为我没改SSH远程端口,所以我扫描PID是,是:

lsof -i:22

根据返回的PIDkill掉SSH进程:

kill 28259
图片[18]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
kill掉进程

之后,SSH会自动断开。重新连接即可。

到处,OpenSSH升级成功,重新腾讯云安全检测:

图片[19]-Linux升级OpenSSH和OpenSSL,解决XMSS Key 解析整数溢出漏洞、OpenSSL 拒绝服务漏洞-栗子博客
修复OpenSSH成功
© 版权声明
THE END
点赞0
抢沙发
头像
提交
头像

昵称

取消
昵称
一言一语