Apache TLS配置核心是通过SSLProtocol和SSLCipherSuite精准控制协议版本与密码套件:必须显式禁用SSLv2-v3及TLS1.0-1.1,启用TLS1.2+;优先选用ECDHE-AES-GCM/ChaCha20等AEAD套件,禁用RSA密钥交换与CBC模式;并配套SSLHonorCipherOrder on等加固指令确保服务端主导协商。

Apache TLS 配置中加密算法的设置,核心是通过 SSLProtocol 和 SSLCipherSuite(或新版推荐的 SSLConfCmd + SSLOptions)指令控制协议版本与密码套件。配得不准,要么兼容性差,要么安全性弱;配得合理,能兼顾现代浏览器支持与攻击防护。
明确禁用不安全协议版本
旧协议(SSLv2/SSLv3、TLS 1.0/1.1)存在已知漏洞(如POODLE、BEAST),必须显式关闭:
- 在
ssl.conf或虚拟主机配置中添加:
注意:Apache 2.4.38+ 原生支持 TLS 1.3,但需 OpenSSL 1.1.1+;若环境不满足,TLSv1.3 会自动降级,无需强行启用。
Apache 2.4.62 官方 tar.gz 源码包是 Linux 及类 Unix 系统构建 Web 服务器的核心基础。通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。
选择强而兼容的密码套件
密码套件决定密钥交换、身份认证、对称加密和摘要算法组合。推荐优先使用 AEAD 类型(如 AES-GCM、ChaCha20-Poly1305),禁用 CBC 模式和弱哈希(MD5、SHA1):
- 典型安全配置(兼容主流浏览器):
- 关键说明:
- ECDHE:前向保密(PFS)必需,密钥交换阶段使用椭圆曲线临时密钥
- AES128/256-GCM:认证加密模式,防篡改且高效
-
禁用 RSA 密钥交换(如
RSA-AES):它不具备前向保密,已被主流标准弃用
启用现代安全增强选项
仅配算法还不够,需配合行为级加固:
-
SSLHonorCipherOrder on:强制服务器按配置顺序选择套件,避免客户端降级协商 -
SSLStrictSNIVHostCheck on:防止 SNI 混淆导致的证书误用 -
SSLOptions +StrictRequire +OptRenegotiate:限制重协商,防范相关 DoS 攻击 - 如需 OCSP Stapling(提升证书状态验证效率),补充:
SSLStaplingCache "shmcb:logs/stapling-cache(128000)"
验证与调试建议
配置完成后务必验证效果:
- 用
openssl s_client -connect yoursite.com:443 -tls1_3测试 TLS 1.3 是否生效 - 访问 SSL Labs Test 获取详细评分与问题定位
- 检查 Apache 日志中是否有
SSL Library Error或套件不匹配警告 - 若内部系统需兼容老旧客户端(如 Windows XP IE8),应单独建隔离虚拟主机,而非降低主站安全水位

















