如何在Apache中禁用sslv3
原文来自微信公众号:运维之美,一个涨姿势的公众号!
前言: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!
更多文章,请关注微信公众号“运维之美”!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫