Apache TLS安全配置核心是禁用SSLv3/TLSv1.0/TLSv1.1,仅启用TLSv1.2和TLSv1.3,推荐写法为SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3,并配合SSLHonorCipherOrder on及SSL Labs验证。
apache http server 配置安全的 tls 协议版本,核心是**明确禁用不安全旧协议,只保留 tlsv1.2 和 tlsv1.3**。模糊写法(如 all)或遗漏禁用项,容易导致 sslv3、tlsv1.0 或 tlsv1.1 被意外启用,无法通过合规审计或 ssl labs a+ 评级。
明确指定允许的协议版本
在虚拟主机配置块(<virtualhost></virtualhost>)或全局 SSL 配置中,使用以下写法:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3
这种“全开再逐个关闭”的方式比 TLSv1.2 TLSv1.3 更稳妥——它显式排除所有已知不安全协议,且能防止未来 OpenSSL 升级后新增低版本协议被自动继承。
配合协议控制的必要设置
仅设协议不够,还需两项关键配合:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
-
SSLHonorCipherOrder on:强制服务器按配置顺序选择密码套件,确保前向保密(PFS)优先 -
Protocols h2 http/1.1(可选但推荐):启用 HTTP/2,它要求 TLSv1.2+ 且默认禁用降级协商,进一步收紧传输层行为
验证是否生效
配置完成后必须验证,不能仅依赖语法检查:
- 运行
sudo apachectl configtest确保无语法错误 - 重启服务:
sudo systemctl restart apache2(Debian/Ubuntu)或httpd(RHEL/CentOS) - 用
openssl s_client -connect example.com:443 -tls1_1测试旧协议是否被拒绝(应返回 handshake failure) - 最终用 SSL Labs Server Test 扫描,确认协议栏只显示 TLS 1.2 和 TLS 1.3,且无降级警告
只要协议列表干净、配合 cipher order 和外部验证,TLS 版本这一环就基本到位了。

















