在 Ubuntu 16.04 上修复 OpenSSL CVE-2016-2107

技术

起因是因为看到网友在 SegmentFault 上发布了这篇文章
https://segmentfault.com/a/1190000012067696

2166238147-5a1004c5edb67_articlex.png

提示服务器受到了 CVE-2016-2107 漏洞的影响,因此安全评级降为最低,关于这个 CVE-2016-2107 虽然没有当初的心脏滴血漏洞那么劲爆,但也是一个比较严重的安全漏洞了,它可以被利用来作 Padding Oracle Attack。具体的详情可以看这篇介绍的文章,关于 Padding Oracle Attack 的细节可以看这篇文章

知道了严重程度,接下来就是着手修复了,在 OpenSSL 的官方文档里有如下建议

OpenSSL 1.0.2 users should upgrade to 1.0.2h
OpenSSL 1.0.1 users should upgrade to 1.0.1t

我们的服务器还运行的是 Ubuntu 16.04,登上去查看一下 OpenSSL 的版本

# openssl version
OpenSSL 1.0.1f 6 Jan 2014

发现确实比较低,遗憾的是你无法通过 apt-get upgrade 命令来直接升级这个组件(真是要吐槽下这个所谓 LTS 版是怎么维护的),剩下的途径就只能通过手动编译来升级了,索性直接升到 1.0.2 的最新版好了(虽然最新的 stable 版是 1.1.0,但考虑到已有程序的兼容性还是不要直接升级大版本)。

运行如下命令

wget ftp://ftp.openssl.org/source/openssl-1.0.2m.tar.gz
tar zxf openssl-1.0.2m.tar.gz
cd openssl-1.0.2m/
./config --prefix=/usr/
make && make install

不一会就安装好了,再次检查一下 OpenSSL 版本

# openssl version
OpenSSL 1.0.2m  2 Nov 2017

已经是最新版了,再次检查一下安全情况
因为缓存的关系,如果重新检测去要点击右上角的 刷新报告 按钮

屏幕快照 2017-11-20 下午2.04.48.png

修复完成!

已有 2 条评论
  1. 明月登楼学习笔记
    明月登楼学习笔记

    CentOS 死忠的飘过!