Apache需系统性加固TLS:禁用TLS1.0/1.1及SSL,仅启TLS1.2/1.3;选用PFS强加密套件并启用SSLHonorCipherOrder、OCSP Stapling、HSTS;私钥≥2048位RSA或secp384r1,关闭信息泄露与不安全重协商。
要让 apache http 服务器满足企业级 tls 安全标准(如 pci dss、等保2.0、nist sp 800-52r2),不能只开启 https,而需系统性收紧协议版本、加密套件、证书策略和会话管理。核心是禁用老旧不安全组件,启用强算法与现代防御机制。
协议与版本控制
必须显式禁用 TLS 1.0/1.1 及所有 SSL 协议,仅保留 TLS 1.2 和 TLS 1.3:
- 在 /etc/httpd/conf.d/ssl.conf 或虚拟主机配置中添加:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3 - TLS 1.3 需 Apache 2.4.37+ 和 OpenSSL 1.1.1+,确认版本:
httpd -v && openssl version - 避免使用模糊写法如
SSLProtocol +all,必须明确排除不安全版本
加密套件严格筛选
优先选用前向保密(PFS)、抗量子倾向、且经 NIST/FIPS 认可的组合:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 推荐配置(兼容主流现代客户端):
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 - 禁用非 PFS 套件(如 RSA 密钥交换)、弱哈希(MD5/SHA1)、导出级算法(EXPORT)、CBC 模式(除非必要且已打补丁)
- 启用套件过滤增强:
SSLHonorCipherOrder on(强制服务端优先顺序)SSLCompression off(防 CRIME 攻击)
证书与密钥安全强化
企业环境严禁使用自签名或弱密钥,须确保完整信任链与密钥强度:
- 私钥必须为 RSA 2048 位以上 或 ECDSA secp384r1(推荐);禁用 1024 位及 DSA
- 证书必须包含完整中间链(bundle),使用
SSLCertificateChainFile或合并进SSLCertificateFile - 启用 OCSP Stapling 提升验证效率与隐私:
SSLUseStapling onSSLStaplingCache "shmcb:/run/httpd/ocsp(128000)" - 设置 HSTS 强制浏览器走 HTTPS(含子域、有效期至少 6 个月):
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
会话与运行时加固
防止会话劫持、重协商攻击与信息泄露:
- 禁用不安全重协商:
SSLStrictSNIVHostCheck onSSLInsecureRenegotiation off - 限制会话缓存生命周期:
SSLSessionCache "shmcb:/run/httpd/ssl_scache(512000)"SSLSessionCacheTimeout 300 - 关闭服务器标识泄露:
ServerTokens ProdServerSignature Off - 启用 TLS 1.3 的 0-RTT 要谨慎:默认禁用(
SSLDisableTLS13EarlyData on),因存在重放风险

















