首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenSSL升级及其漏洞说明

OpenSSL升级及其漏洞说明

作者头像
小麦苗DBA宝典
发布2023-04-27 13:30:53
1.4K0
发布2023-04-27 13:30:53
举报

简介

OpenSSL全称为Secure Socket Layer。是Netscape所研发。利用数据加密(Encryption)作技术保障在Internet上传输数据的安全。可确保数据在网络上的传输不会被窃听及截取。当然,OpenSSL是一个强大的password库,我们在使用SSL协议的时候不一定非得採用OpenSSL,只是眼下基本上都是用的OpenSSL,由于它更安全。使用起来也更简单。

官网:www.openssl.org

https://github.com/openssl/openssl

漏洞说明

低版本的OpenSSL存在多个安全漏洞,其中最为著名的漏洞是Heartbleed漏洞(CVE-2014-0160),这是一个严重的漏洞,可以允许攻击者从OpenSSL受影响的服务器上读取机密信息,例如加密密钥、会话令牌和其他敏感数据,而不需要进行身份验证。Heartbleed漏洞影响了OpenSSL 1.0.1版本至1.0.1f版本和1.0.2版本至1.0.2beta版本,这些版本在2012年3月14日至2014年4月7日期间发布。

除了Heartbleed漏洞外,低版本的OpenSSL还存在其他多个漏洞,例如POODLE漏洞(CVE-2014-3566)、BEAST漏洞(CVE-2011-3389)、FREAK漏洞(CVE-2015-0204)等等。这些漏洞都可能导致信息泄露或其他安全问题,因此使用最新版本的OpenSSL非常重要,以确保系统的安全性和稳定性。

OpenSSL 1.0.2k-fips是一种加强安全性的版本,其中的“fips”表示它符合美国联邦信息处理标准(FIPS)的安全要求。在该版本中,许多安全漏洞已被修复,包括Heartbleed漏洞、POODLE漏洞、BEAST漏洞等。但是,与任何软件一样,它可能会存在未知的漏洞或新的安全威胁。OpenSSL 1.0.2k-fips版本修复了Heartbleed漏洞。Heartbleed漏洞最初于2014年4月被公开披露,OpenSSL 1.0.2k-fips版本于2017年1月发布,其中包括对Heartbleed漏洞的修复。

因此,建议及时更新到最新版本的OpenSSL,以获取最新的安全修复和功能更新,并遵循最佳的安全实践,例如使用安全协议(例如TLS 1.2或更高版本)、启用必要的加密算法、禁用不安全的加密算法等,以最大程度地保护系统的安全性。同时,还应定期审查并更新系统中的所有软件包和依赖项,以确保系统的安全性。

在互联网安全协议OpenSSL v1.0.1到1.0.1f的password算法库中发现了一个很严重bug(CVE-2014-0160),该bug同意攻击者读取存在bug的系统的64k处理内存,暴露加密流量的密钥,用户的名字和password,以及訪问的内容。这个漏洞被称之为heartbleed,心脏流血。

据solidot 在April 7报道,OpenSSL已经公布了1.0.1g修复bug,Debian发行版也在半小时修复bug。Fedora公布了一个权宜的修正方案。该bug在2011年引入OpenSSL中。使用OpenSSL 0.9.8的发现版本号不受影响。但Debian Wheezy、Ubuntu 12.04.4、CentOS 6.5、Fedora 18、SUSE 12.2、OpenBSD 5.4、FreeBSD 8.4和NetBSD 5.0.2之后的版本号都收到影响。假设你的同意的系统有如上集中,建议将补丁修复到1.0.1g或以上版本号。

OpenSSL 1.0.2k-fips存在多个漏洞,以下是其中的一些:

  • CVE-2016-2107: padding oracle in AES-NI CBC MAC check
  • CVE-2016-6304: certificate message OOB reads
  • CVE-2017-3731: RSA key generation cache timing vulnerability
  • CVE-2017-3735: DDoS mitigation for ECSDA P-256
  • CVE-2017-3736: EBCDIC overread
  • CVE-2017-3737: BN_mod_exp may produce incorrect results on x86_64
  • CVE-2017-3738: Malformed SHA512 ticket DoS
  • CVE-2017-3739: BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
  • CVE-2017-3740: BN_mod_inverse with odd modulus produces incorrect results
  • CVE-2017-3732: Potential timing side channel in DSA signature generation

请注意,这只是其中的一部分漏洞列表,不一定是全部的漏洞列表。如果您需要更详细的信息,请参考OpenSSL的安全公告。

下载

https://www.openssl.org/source/old/1.1.1/

yum安装

yum install -y openssl openssl-libs  openssl-devel openssl-static 

版本查询

查看现有的版本

openssl version

示例:

[root@test /]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@test /]# 
[root@test /]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
[root@test /]# openssl version -a
OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/etc/pki/tls"
engines:  dynamic 
[root@test openssl-1.1.1q]# 

编译升级

wget  https://www.openssl.org/source/old/1.1.1/openssl-1.1.1q.tar.gz
tar -zxvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q
./config --prefix=/usr/local/openssl
make -j8
make install



ln -sf /usr/local/bin/openssl /usr/bin/openssl
ln -sf /usr/local/include/openssl /usr/include/openssl

ln -sf /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -sf /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1


echo "/usr/local/lib/" >> /etc/ld.so.conf
ldconfig -v

openssl version
openssl version -a

可能存在的异常

openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

这是由于openssl库的位置不正确造成的。

解决方法:

在root用户下执行:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • 漏洞说明
    • 下载
    • yum安装
    • 版本查询
    • 编译升级
    • 可能存在的异常
    相关产品与服务
    多因子身份认证
    多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档