apache tls安全加固核心是禁用sslv2/3及tls 1.0/1.1,仅启用tls 1.2+,强制使用前向保密加密套件(如ecdhe-aes-gcm),开启ocsp stapling、hsts与sslcompression off,并规范证书管理。

Apache TLS 配置的安全加固,核心是禁用老旧协议、收紧加密套件、启用现代安全特性,并配合可信证书管理。不追求“全兼容”,而要“够安全、可维护”。
禁用不安全的协议版本
SSLv2/SSLv3 和 TLS 1.0/1.1 已被证实存在严重漏洞(如 POODLE、BEAST),必须彻底禁用:
- 在 httpd-ssl.conf 或虚拟主机 SSL 配置块中,明确指定仅允许 TLS 1.2 和 TLS 1.3:
SSLProtocol -all +TLSv1.2 +TLSv1.3
- 避免使用
SSLProtocol all -SSLv2 -SSLv3这类模糊写法,防止未来新增弱协议被意外启用。
限制并强化加密套件
默认套件常包含弱算法(如 RC4、MD5、SHA1、EXPORT 级别),需主动筛选高强度组合:
PHP中文网提供Apache 2.4.62 官方 tar.gz 源码包下载,通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。
- 优先选用前向保密(PFS)且基于 ECDHE 的套件,例如:
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
- 添加
SSLHonorCipherOrder on,强制服务器按配置顺序选择最优套件,而非客户端提议顺序。 - 用
SSLOptions +StrictRequire配合SSLStrictSNIVHostCheck on防止 SNI 绕过。
启用关键安全扩展与头部
TLS 本身只是基础,需搭配协议级和应用级防护提升整体健壮性:
- 启用 OCSP Stapling,减少证书状态查询延迟并防范 OCSP 中断导致的降级:
SSLUseStapling on<br>SSLStaplingCache "shmcb:logs/stapling-cache(128000)"
- 设置严格传输安全(HSTS),强制浏览器后续只走 HTTPS:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
- 配合
SSLCompression off关闭压缩,规避 CRIME 攻击。
证书与密钥管理规范
再强的 TLS 配置也依赖可信、合规的证书体系:
- 使用由公开 CA 签发的证书,避免自签名或私有 CA(除非内网严格可控);
- 私钥权限设为
600,属主仅为运行 Apache 的低权限用户(如www-data); - 定期轮换证书(建议提前 30 天更新),并验证完整证书链是否正确部署(可用
openssl s_client -connect yoursite:443 -servername yoursite -showcerts检查); - 若支持 TLS 1.3,确认密钥交换算法(如 X25519)已启用,可通过
SSLProtocol和SSLCipherSuite联合控制。










