原文来自微信公众号:运维之美
前言:SSLv3漏洞(CVE-2014-3566),SSL3.0版本被视为是不安全的。它使用RC4加密或CBC模式加密,前者易受偏差攻击,后者会导致POODLE攻击,在生产环境中,经常会扫描到此漏洞,针对此漏洞,需要apache服务器端停用SSLv3协议。
一、环境准备
理解SSL和TLS:http在数据传输过程中使用的是明文,为了解决这个问题https应运而生,ssl就是基于https的加密协议。当ssl更新到3.0版本后,IETF(互联网工程任务组)对ssl3.0进行了标准化,标准化后的协议就是TLS1.0,所以说TLS是SSL的标准化后的产物,TLS当前有1.0 ,1.1,1.2三个版本,默认使用1.0,到此我们对ssl和TLS有了一个基本的了解。
- web服务器支持TLS1.2需要的服务器运行环境:
Apache对应版本应>=2.2.23;
OpenSSL对应版本应>= 1.0.1
- 查看当前服务器apache版本
[root@host-192-168-149-10 conf.d]# httpd -v
Server version: Apache/2.4.29 (Unix)
Server built: Jan 22 2018 16:51:25
- openssl版本
[root@host-192-168-149-10 conf.d]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
二、环境整改
测试存在安全漏洞的域名,如下通过sslv3访问可以正常返回信息,攻击者可能会利用此漏洞危害系统。
[root@host-192-168-149-10 conf.d]# curl --sslv3 https://cs.df230.xyz/test/api/configs/fedch/all
{
"overdue" : false,
"success" : true,
"errorCode" : null,
"message" : "请求成功",
"data" : {
"global" : {
"copyright" : "功能清单",
}
apache默认支持SSLv3,TLSv1,TLSv1.1,TLSv1.2协议
(注:ssl功能需要在http.conf中启用LoadModule ssl_module modules/mod_ssl.so)
apache默认配置如下
SSLProtocol All -SSLv2
进入目录/usr/local/apache/conf/extra
vi修改ssl.conf按照如下配置,目的是关闭sslv3协议
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLProtocol TLSv1.2
配置保存后,需要service httpd restart重启apache使配置生效
再次测试sslv3访问,无法访问
[root@host-192-168-149-10 conf.d]# curl --sslv3 https://cs.df230.xyz/test/api/configs/fedch/al
curl: (35) SSL connect error
通过google浏览器F12进入开发模式,可以看到浏览器访问当前域名使用的ssl协议为TLS1.2。
至此,漏洞整改完成,so easy!
更多文章,请关注运维之美!