Apache TLS配置需禁用SSLv3/TLSv1.1等旧协议,仅启用TLSv1.2/1.3;严格限定PFS密码套件,启用OCSP Stapling、SNI强校验及会话缓存,私钥权限设为600,最终目标为SSL Labs A+评级。
apache 服务器 tls 配置需兼顾安全性与兼容性,核心是禁用不安全协议和弱密码套件,启用强加密与证书验证机制。以下为生产环境推荐的安全合规参数组,适用于 apache 2.4.50+(配合 openssl 3.0+ 或较新版本)。
一、强制启用 TLS 1.2 和 TLS 1.3,禁用旧协议
在 ssl.conf 或虚拟主机的 <VirtualHost *:443> 块中明确限定协议版本:
-
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3(显式关闭 SSLv3/TLSv1/TLSv1.1,仅允许 TLSv1.2 及以上) - 避免使用
all或模糊写法,防止未来新增不安全协议被自动启用
二、严格限制密码套件(Cipher Suites)
采用前向保密(PFS)、禁用 RC4、SHA1、NULL、EXPORT、anon 等已淘汰算法:
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384- 附加强化策略:
SSLHonorCipherOrder on(强制服务端优先级) - 可选增强:
SSLCompression off(禁用压缩,防范 CRIME 攻击)
三、证书与密钥安全配置
确保证书链完整、私钥权限受控、主机名匹配严格:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
-
SSLCertificateFile /etc/ssl/cert/example.com_public.crt(域名证书) -
SSLCertificateChainFile /etc/ssl/cert/example.com_chain.crt(中间证书,若存在;OpenSSL 1.1.1+ 推荐合并入SSLCertificateFile) -
SSLCertificateKeyFile /etc/ssl/private/example.com.key(私钥文件,权限必须为600,属主 root) -
SSLStrictSNIVHostCheck on(启用 SNI 强校验,防止证书错配)
四、增强身份验证与会话安全
防范重协商、会话劫持与中间人攻击:
-
SSLSessionCache "shmcb:/var/cache/apache2/ssl_scache(512000)"(启用共享内存会话缓存) -
SSLSessionCacheTimeout 300(会话超时 5 分钟,平衡安全与性能) -
SSLUseStapling on(启用 OCSP Stapling) SSLStaplingCache "shmcb:/var/cache/apache2/ssl_stapling(512000)"-
SSLStaplingResponderTimeout 5(OCSP 响应超时设为 5 秒) -
SSLStaplingReturnResponderErrors off(失败时不返回错误,避免降级)
配置完成后,执行 sudo apachectl configtest 验证语法,并重启服务。建议使用 SSL Labs Server Test 进行评分验证,目标为 A+ 级别。关键指标包括:无弱协议、无弱密钥交换、OCSP 启用、HSTS 缺失警告已处理(可通过 Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" 补全)。

















