导语:
ssl 3.0被认为是不安全的,原因在于它使用RC4加密或CBC模式加密,而前者易受偏差攻击,后者会导致POODLE攻击。
生产环境中,经常会扫描到此漏洞,解决方法是apache服务端停用该协议。
(学习视频分享:编程视频)
一、环境准备
理解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!
相关推荐:apache教程
以上是apache禁用sslv3的方法的详细内容。更多信息请关注PHP中文网其他相关文章!