【漏洞修复】TLS协议加密问题漏洞(原理扫描) CVE编号 CVE-2015-4000

前言

在互联网时代,服务器安全一直是一个极其重要的话题。随着软件版本的不断迭代更新,服务器面临的漏洞威胁也不断增加。因此,服务器通常需要定期接受主机各方面的漏洞报告,以便及时发现并修复可能出现的安全隐患。

一般情况下,这些漏洞报告是由于服务器上部署的软件存在安全漏洞所引起的。当扫描程序检测到服务器上安装的软件版本较旧时,就可能发现某些已知的漏洞。为了解决这种情况,最有效的方法就是升级软件版本,以消除可能存在的漏洞。

当出现漏洞报告时,管理员需要及时评估漏洞的风险和紧急程度,并计划相应的修复措施。通常情况下,漏洞修复需要尽快处理,以避免服务器受到攻击或数据泄露等风险。

问题描述

TLS协议1.2及之前版本中存在安全漏洞,该漏洞源于当服务器启用DHE_EXPORT密码套件时,程序没有正确传递DHE_EXPORT选项。攻击者可通过重写ClientHello(使用DHE_EXPORT取代DHE),然后重写ServerHello(使用DHE取代DHE_EXPORT),利用该漏洞实施中间人攻击和cipher-downgrade攻击。

解决方法:升级openssl版本

准备工作:先备份之前openssl相关文件

mv /usr/bin/openssl /usr/bin/openssl_日期old

mv /usr/lib64/openssl /usr/lib64/openssl_日期old

1. 查看服务器openssl的版本

openssl version

如下所示:

 从图中可以看出我们现在openssl的版本是1.1.1k 低于问题描述中1.2版本

2. 查看openssl的路径

which openssl

 3. 下载openssl

下载地址 https://www.openssl.org/source/

方式一:可以先在本地访问这个openssl的下载地址,下载一个比1.2版本高的版本即可,自己选就可以,笔者选择的是openssl-3.0.10版本,下载完成之后 上传到服务器的某个位置。

 方式二:通过wget命令下载
  默认是下载到当前目录下

wget --no-check-certificate https://www.openssl.org/source/openssl-3.0.10.tar.gz

 参数:--no-check-certificate  会跳过证书验证

4. 解压安装openssl

笔者在/usr/local 目录下

tar -zxvf openssl-3.0.10.tar.gz

5. 切换到解压好的目录

cd openssl-3.0.10/

6. 执行配置

./config --prefix=/usr/local/openssl

--prefix=/usr/local/openssl 指定安装路径
如果报如下错误

Can't locate IPC/Cmd.pm in @INC (@INC contains: /usr/local/openssl-3.0.10/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /usr/local/openssl-3.0.10/external/perl/Text-Template-1.56/lib) at /usr/local/openssl-3.0.10/util/perl/OpenSSL/config.pm line 19.
BEGIN failed--compilation aborted at /usr/local/openssl-3.0.10/util/perl/OpenSSL/config.pm line 19.
Compilation failed in require at /usr/local/openssl-3.0.10/Configure line 23.
BEGIN failed--compilation aborted at /usr/local/openssl-3.0.10/Configure line 23.

大概意思是缺少了 IPC::Cmd 模块

解决方法:安装IPC-Cmd模块 根据具体的命令执行安装。

yum -y install perl-IPC-Cmd

 安装成功之后,再次执行命令:./config --prefix=/usr/local/openssl

7. 编译安装

make && make install

8. 创建软连接让系统使用新的openssl

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl/ /usr/include/openssl

9. 更新动态链接库数据

echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf

echo "/usr/local/openssl/lib64/" >> /etc/ld.so.conf

10. 重新加载动态链接库

ldconfig -v

 11.检查安装完成后的版本

openssl version

出现新版本的openssl即安装成功

参考博客:【漏洞修复】TLS protocol中间人攻击漏洞(CVE-2015-4000) 升级ssl_不太灵光的程序员的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/m0_52985087/article/details/132732778