Apache中限制TLS协议版本应使用SSLProtocol指令精确控制,推荐配置为“SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1”,仅保留TLSv1.2和TLSv1.3,确保安全合规。

Apache 中限制 TLS 协议版本,核心是用 SSLProtocol 指令明确启用或禁用具体版本,而不是笼统地“开启所有再关掉几个”。推荐写法直接、清晰、无歧义。
标准安全配置(推荐绝大多数场景)
只保留 TLSv1.2 和 TLSv1.3,禁用所有老旧且不安全的协议:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1说明:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
-
all表示先加载所有已编译支持的协议 -
-SSLv2、-SSLv3:必须禁用,存在严重漏洞(如 POODLE) -
-TLSv1、-TLSv1.1:应禁用,不满足 PCI DSS 等主流合规要求,且缺乏现代加密特性 - TLSv1.2 和 TLSv1.3 会自动保留,无需显式加
+TLSv1.2
需兼容老旧客户端时的谨慎写法
仅在业务强依赖旧设备(如 Win7 + IE11、Java 7u80、部分嵌入式系统)且无法升级时启用 TLSv1.1,**绝不在公网主站使用**:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1.3说明:
- 该配置保留 TLSv1.0、TLSv1.1、TLSv1.2,但排除 TLSv1.3(因部分旧客户端无法与 v1.3 共存)
- 务必限定在特定 VirtualHost 内,避免影响其他站点
- 配合
SSLHonorCipherOrder on和分层 CipherSuite,才能真正控制协商结果
关键注意事项
协议限制不是孤立生效的,必须搭配以下设置才可靠:
- SSLHonorCipherOrder on:强制服务端按配置顺序优先选择套件,否则客户端可能绕过你的协议限制选到弱套件
-
SSLCipherSuite 中不能包含仅 TLSv1.0/1.1 支持的算法(如
!RC4:!MD5:!SHA1是基本底线) - Apache 2.4.38+ 默认已禁用 TLSv1.0/1.1,若需启用,确认版本并检查是否被 build 时硬编码屏蔽
- 修改后必须执行
apache2ctl configtest && systemctl reload apache2生效

















