CVE-2016-2183漏洞修复

  • 验证openssl版本
  • 升级openssl版本


验证openssl版本

#查询openssl的版本
openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

#OpenSSL 1.0.2k-fips 版本已经修复了 CVE-2016-2183 漏洞。在该版本中,OpenSSL 官方已经针对 CVE-2016-2183 漏洞进行了修复,并且添加了 FIPS 140-2 认证的支持。因此,如果您使用的是 OpenSSL 1.0.2k-fips 版本,则可以认为已经修复了 CVE-2016-2183 漏洞。

CVE-2016-2183 漏洞是在 OpenSSL 1.0.2d 版本中引入的,该版本发布于2015年7月9日。该漏洞是由于 OpenSSL 中 DH 密钥交换算法的一个错误实现导致的,攻击者可以利用此漏洞对传输的加密流量进行中间人攻击,从而窃取加密通信内容。
该漏洞在 OpenSSL 1.0.2i 版本中得到修复,该版本发布于2016年8月25日。在该版本中,OpenSSL 官方对 DH 密钥交换算法实现进行了修复,修复了 CVE-2016-2183 漏洞,并添加了一些其他的安全补丁和功能改进。
如果您使用的是 OpenSSL 1.0.2d 到 1.0.2h 版本之间的任何版本,则可能会受到 CVE-2016-2183 漏洞的影响。因此,建议您尽快升级到 OpenSSL 1.0.2i 或更高版本来修复该漏洞。

需要注意的是,不同的 OpenSSL 版本可能存在不同的安全漏洞和问题,因此建议您始终使用最新版本的 OpenSSL,并根据实际情况及时升级。此外,还需要根据实际情况进行配置和使用 OpenSSL,以确保系统的安全性和稳定性。

升级openssl版本

1、官方地址:https://www.openssl.org/source/;最新的稳定版本是1.1.1系列,且是TLS版本;之前旧版本(包括1.1.0, 1.0.2, 1.0.0 and 0.9.8)不在支持维护;

centos 漏洞汇总 linux cve-2016-2183漏洞修复_动态链接库

openssl version -a		//确认当前版本,备份证书文件和秘钥文件
mv /usr/bin/openssl /usr/bin/openssl.old  /备份执行文件
mv /usr/include/openssl /usr/include/openssl.old
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz
tar zxvf openssl-1.1.1t.tar.gz
cd  ./openssl-1.1.1t/
./config --prefix=/opt/openssl --openssldir=/usr/local/ssl   //预编译,到指定安装路径,生成Makefile文件,-t参数可测试编译情况,--prefix:指定安装目录;--openssldir:指定openssl配置文件路径;加shared还可指定创建动态链接库
make 	//编译,如果编译失败,可执行./make clean,或者编译前用./make test测试编译情况而不直接编译
make install 		//编译成功后安装
#使用新版Openssl
ln -sf /opt/openssl/bin/openssl /usr/bin/openssl
ln -s /opt/openssl/include/openssl/ /usr/include/openssl
#更新动态链接库数据
echo "/opt/openssl/lib/" >> /etc/ld.so.conf
#重新加载动态链接库
ldconfig -v
#再次查看Openssl版本
[root@localhost lib]# openssl version
OpenSSL 1.1.1t  7 Feb 2023
[root@localhost lib]# openssl version -a
OpenSSL 1.1.1t  7 Feb 2023
built on: Mon May 22 08:30:26 2023 UTC
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/ssl"
ENGINESDIR: "/opt/openssl/lib/engines-1.1"
Seeding source: os-specific

可能存在的异常
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

这是由于openssl库的位置不正确造成的。
解决方法:
手动把找不到路径的SO文件 添加软链接