【安全漏洞】当OpenSSL漏洞来临之际,运维大战“僵尸”

简介: 【安全漏洞】当OpenSSL漏洞来临之际,运维大战“僵尸”

一、漏洞信息(官方报告)

  1. 风险等级:高
  2. CVE版本号:CVE-2016-2183
  3. 详细描述
TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。
TLS, SSH, IPSec协商及其他产品中使用的DES及Triple DES密码或者3DES及Triple 3DES存在大约四十亿块的生日界,这可使远程攻击者通过Sweet32攻击,获取纯文本数据。
<*来源:Karthik Bhargavan
        Gaetan Leurent
  链接:https://www.openssl.org/news/secadv/20160922.txt
*>
  1. 解决方法
建议:避免使用DES和3DES算法
1、OpenSSL Security Advisory [22 Sep 2016]
链接:https://www.openssl.org/news/secadv/20160922.txt
请在下列网页下载最新版本:
https://www.openssl.org/source/
2、对于nginx、apache、lighttpd等服务器禁止使用DES加密算法 
主要是修改conf文件
3、Windows系统可以参考如下链接:
https://social.technet.microsoft.com/Forums/en-US/31b3ba6f-d0e6-417a-b6f1-d0103f054f8d/ssl-medium-strength-cipher-suites-supported-sweet32cve20162183?forum=ws2016
https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/windows-security/restrict-cryptographic-algorithms-protocols-schannel
  1. 返回信息
DES/3DES Ciphers:
TLS11_RSA_WITH_3DES_EDE_CBC_SHA
TLS1_RSA_WITH_3DES_EDE_CBC_SHA
TLS1_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS12_RSA_WITH_3DES_EDE_CBC_SHA
TLS12_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

二、漏洞修复方案分析

当接到安全部门下发的漏洞通告后,笔者立即组织本团队人员开展修复工作,根据OpenSSL Security Advisory提供的链接 https://www.openssl.org/news/secadv/20160922.txt 官方建议的修复方案如下:

  • OpenSSL 1.1.0 用户应升级至 1.1.0a
  • OpenSSL 1.0.2 用户应升级至 1.0.2i
  • OpenSSL 1.0.1 用户应升级至 1.0.1u

三、现网情况摸排

根据官方建议的修复方案,那么就需要搞清楚现网所有主机操作系统上的openssl版本,需要有针对性的进行升级。

1. 查看openssl版本

openssl version -v
# 如需更详细的信息,可使用-a参数
openssl version -a

说明:笔者现网的操作系统大部分是CentOS7/6以及RedHat7/8,且幸好存在openssl漏洞的主机数量较少,不然就头大咯,经过查看,笔者所处环境的openssl当前版本是OpenSSL 1.0.1e-fips 11 Feb 2013

2. 确定升级方案

笔者的openssl版本是OpenSSL 1.0.1e-fips 11 Feb 2013,也就是1.0.1,根据官方给的修复方案,结合现网的情况,那么就需采取:OpenSSL 1.0.1 用户应升级到 1.0.1u 的升级方案

事不宜迟,马上到openssl官方网站找到对应的源码包:openssl-1.0.1u.tar.gz

wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz

四、开始升级操作

1. 提前创建好自定义安装路径

mkdir /usr/local/openssl-1.0.1u
mkdir /usr/local/ssl-1.0.1u

笔者自定义安装在 /usr/local 下,非必须是该路径,可根据自身情况安装在其他路径也是阔以滴。

2. 解压下载好的源码包

tar -zxf openssl-1.0.1u.tar.gz

3. 开始编译和安装

# 进入解压后的源码包目录
cd openssl-1.0.1u
# 配置openssl安装目录和openssldir
./config --prefix=/usr/local/openssl-1.0.1u --openssldir=/usr/local/ssl-1.0.1u
# 使用2个线程进行同时编译
make -j 2
# 安装
make install
# 完成安装后,可以查看下里面安装好的东东
># ls -l /usr/local/openssl-1.0.1u/
total 12
drwx------ 2 root root 4096 Apr 26 17:17 bin
drwx------ 3 root root 4096 Apr 26 17:17 include
drwx------ 4 root root 4096 Apr 26 17:17 lib
># ls -l /usr/local/ssl-1.0.1u/
total 28
drwx------ 2 root root  4096 Apr 26 17:17 certs
drwx------ 6 root root  4096 Apr 26 17:17 man
drwx------ 2 root root  4096 Apr 26 17:17 misc
-rw-r--r-- 1 root root 10835 Apr 26 17:17 openssl.cnf
drwx------ 2 root root  4096 Apr 26 17:17 private

说明:在笔者的环境中,编译安装都非常顺利,没有出现任何报错,如其他盆友出现有报错,请自行解决,或联系我一起研讨。

五、软链接到新的openssl版本

非常重要的提示:这一步,非常重要,需要谨慎,一定要分析好哪些需要将新版本软链过去,而且要做好备份。

1. 查找旧版的openssl在哪

  • 想知道当前操作系统上的openssl在哪,第一时间想到的是搜索,笔者在这里使用find命令进行查找
># find / -depth -name "openssl"
/usr/include/openssl
/usr/bin/openssl
/usr/lib64/openssl
/usr/local/lib/gcc/x86_64-pc-linux-gnu/8.1.0/include-fixed/openssl
/opt/test/nginx-1.18.0/auto/lib/openssl
/etc/pkiopd/ca-trust/extracted/openssl
/home/ops/abc/python/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl
/home/ops/abc/python/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl

居然找到了那么多关于openssl的路径,那么到底哪些才是需要新版替换呢?那么还需要进一步分析

2. 分析哪些要做软链

# 经分析,下面这两个是需要通过软链替换的,而且要做好备份
/usr/include/openssl
/usr/bin/openssl
# 经分析,这个目录暂时不动,因为新版的路径下/usr/local/openssl-1.0.1u/ 没有lib64,只有lib,为了预防出现其他不可预知的问题,可先不通过软链的方式替换它 
/usr/lib64/openssl
# 经分析,以下这些是应用自身的,可暂且不管
/usr/local/lib/gcc/x86_64-pc-linux-gnu/8.1.0/include-fixed/openssl
/opt/test/nginx-1.18.0/auto/lib/openssl
/etc/pkiopd/ca-trust/extracted/openssl
/home/ops/abc/python/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl
/home/ops/abc/python/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl

3. 备份当前openssl

mv /usr/include/openssl /usr/include/openssl.bak.20220426
mv /usr/bin/openssl /usr/bin/openssl.bak.20220426

4. 配置软链到新版本

ln -s /usr/local/openssl-1.0.1u/include/openssl /usr/include/openssl
ln -s /usr/local/openssl-1.0.1u/bin/openssl /usr/bin/openssl

5. 更新动态链接数据并重新加载

># echo "/usr/local/openssl-1.0.1u/lib" >> /etc/ld.so.conf
># ldconfig -v

6. 最后,查看是否升级成功

># openssl version
OpenSSL 1.0.1u  22 Sep 2016

笔者旧版的openssl是OpenSSL 1.0.1e-fips 11 Feb 2013,升级后是 OpenSSL 1.0.1u  22 Sep 2016,升级成功!

六、总结

通过这个事情,笔者认为:

  1. 需要搞清楚现网的版本是否在安全版本内,如果是安全版本,那么就无需修复;
  2. 如果需要修复,那么一定要先分析官方建议的修复方案;
  3. 查看现网环境的情况,结合官方给的修复建议,进一步确定最终的修复方案;
  4. 然后编写详细的升级方案和回退方案、进行内部评审,如果有测试环境,还需对升级方案进行测试验证;
  5. 在生产环境找1台业务没那么重要的节点先进行升级,如没有问题再去升级其他服务器的openssl。

说了那么多,总而言之是要敬畏每一条指令,每一行代码,每一步操作,运维工程师要时刻对生产环境保持敬畏之心。

相关文章
|
11月前
|
安全 网络安全 数据库
企业网络安全漏洞分析及其解决_kaic
为了防范网络安全事故的发生,互联网的每个计算机用户、特别是企业网络用户,必须采取足够的安全防护措施,甚至可以说在利益均衡的情况下不惜一切代价。事实上,许多互联网用户、网管及企业老总都知道网络安全的要性,却不知道网络安全隐患来自何方,更不用说采取什么措施来防范胃。因此,对于互联网用户来说,掌握必备的网络安全防范措施是很有必要的,尤其是网络管理人员,更需要掌握网络安全技术,架设和维护网络系统安全。 本论文前四章介绍了网络安全的概述,网络安全技术和网络安全漏洞分析;介绍了我国网络安全的现状和网络安全面临的挑战,以及漏洞的分类的分析。第五章主要讲了漏洞扫描系统的必要性,只有发现漏洞才能更好的维持企业网
|
安全
瑞星发布2010企业安全报告 九成国内企业曾被入侵
3月10日,瑞星公司发布《2010中国企业安全报告》,对国内企业和单位所面临的安全风险进行了深入剖析和解读。报告指出,政府、军队、教育科研等机关单位已经成为黑客攻击的重要对象;2010年,高达90%的传统企业内网(仅计算与互联网连通的企业网络)曾被成功侵入;几乎百分之百的互联网公司都遇到过渗透测试、漏洞扫描、内网结构分析等安全事件,而有85%以上曾被黑客成功获取一定权限。
1177 0
|
安全
英特尔曾遭“经验老道”的黑客攻击
据华尔街日报报道,英特今年1月份曾遭遇一次“经验老道”的网络攻击﹐发生时间与谷歌公司报告遭到类似攻击的时间相近。 英特尔在向美国证券与交易委员会(Security and Exchange Commission)提交的年度文件中表示﹐公司时常面临黑客试图攻入其信息技术系统的危险。
514 0
|
存储 安全
瑞星:“云攻击”已成现实
“1亿零53万人次网民遭钓鱼网站侵袭,给中国网民造成的直接经济损失至少在百亿级别。假淘宝网站、假腾讯网站、假工商银行网站、假中国银行网站,占据了钓鱼网站的前四位。” 19日,《瑞星2011上半年互联网安全报告》出炉,瑞星安全专家表示,“云攻击”(Threats to Cloud)已成现实,储存了大量用户资料和行为的“云提供商”,例如微博、社交网站、网络存储,甚至包括传统的电信运营商和酒店业者,正在面临前所未有的安全风险。
721 0
|
机器学习/深度学习 云安全 安全
游戏安全资讯精选 2017年第十期 英国彩票网遭遇DDoS攻击,中断90分钟 DNSMASQ多高危漏洞公告 阿里云协助警方破获国内最大黑客攻击案,攻击峰值690G
英国彩票网遭遇DDoS攻击,中断90分钟,DNSMASQ多高危漏洞公告,阿里云协助警方破获国内最大黑客攻击案,攻击峰值690G
1921 0
|
云安全 安全 云计算
“云计算”安全能解杀毒模式瘫痪危机吗
本文讲的是“云计算”安全能解杀毒模式瘫痪危机吗,不仅仅是趋势科技,几乎所有的信息安全厂商都面临着挑战。目前来看,信息安全的防护和查杀模式已经被日益泛滥的黑客、web威胁几近拖垮,如果不改变防护模式的话,依然遵从过去那种病毒特征码比对杀毒的方式,总有一天,全球所有的计算机客户端都将面临瘫痪,因为黑客攻击、web威胁数量的庞大会耗尽内存和带宽,个人电脑的内存和CPU的升级速度远跟不上病毒爆发的增长速度。
1303 0
|
安全 数据安全/隐私保护 Windows