SSL数字证书在服务器配置不当会暴露更多的安全漏洞,因此给黑客提供了攻击网站提供了便利和入口,通常我们会借助SSLLABS进行测试SSL安全部署的评级结果,评级结果A+、A都是相对比较安全的安全配置。
SSL数字证书在服务器配置不当会暴露更多的安全漏洞,因此给黑客提供了攻击网站提供了便利和入口,通常我们会借助SSLLABS进行测试SSL安全部署的评级结果,评级结果A+、A都是相对比较安全的安全配置。
通常交换密钥、加密算法、加密套件等都正常的情况下,使用SSLLABS得到评测结果为F时,一般都是致命缺陷,通常是因旧版的OpenSSL或者使用OpenSSL编译产生的漏洞。本案例中抛出的错误信息如下:
- 服务器易受攻击,引起原因:OpenSSL CCS vulnerability (CVE-2014-0224),评级F;
- 服务器易受攻击,引起原因:OpenSSL Padding Oracle vulnerability (CVE-2016-2107) 评级F;
- 服务器易受攻击,引起原因:Heartbleed attack. 评级F;
关于漏洞的专属解释参考:常见的几种SSL/TLS漏洞及攻击方式
OpenSSL CCS 注入漏洞(CVE-2014-0224)
这是一个2014年暴出的OpenSSL的严重安全漏洞,该漏洞使得攻击者可以拦截恶意中间节点加密和解密数据,同时迫使使用弱密钥的SSL客户端暴露在恶意节点。当软件使用OpenSSL的受影响版本,通过网页浏览、电子邮件和VPN进行内容和身份验证等加密通讯时会有篡改的风险。
受影响的版本
- OpenSSL 1.0.1 - 1.0.1g
- OpenSSL 1.0.0 - 1.0.0l
- OpenSSL 0.9.8y 早前的所有版本
OpenSSL Padding Oracle 攻击(CVE-2016-2017)
这是一个2016年暴出的OpenSSL的严重安全漏洞,该漏洞对于开源加密库的影响可以被用来进行中间人攻击。只要用于连接的是AES CBC密码和支持AES NI的服务器,那么攻击者就可以利用“Padding Oracle攻击”解密HTTPS通信。
受影响的版本
- OpenSSL 1.0.2 - 1.0.2h
- OpenSSL 1.0.1 - 1.0.1t
- OpenSSL 1.0.0
- OpenSSL 0.9.8 早前所有版本
心血漏洞(Heartbleed)(CVE-2014-0160)
在OpenSSL1.0.1版本的心跳包模块存在严重漏洞(CVE-2014-0160),攻击者可以通过构造特殊的数据包,直接远程读取存在漏洞的OpenSSL服务器内存中多达64KB的数据,极有可能导致网站用户帐号密码等敏感数据被非法获取。
受影响的版本
- OpenSSL 1.0.1f
解决方案
1、所以本测试场景解决这些漏洞和评级的办法就是升级openSSL版本
openssl version -a OpenSSL 1.0.2g 1 Mar 2016
保证openssl的版本不在上述受影响的版本范围内即可,然后重新编译时加入最新的openSSL版本
2、重新编译时移除弱加密支持,例如我们在编译Nginx版本时不要再加上弱加密支持
--with-openssl=/root/openssl \--with-openssl-opt=enable-weak-ssl-ciphers#本行移除
编译后的服务器再使用SSLLABS测试可正常达到A的评级,关于Nginx的编译安装请参考:指定版本的openSSL编译安装Nginx