等保三级下Apache启用HTTPS需满足传输加密、身份认证、协议与密码套件合规三大要求,须禁用SSLv2-v3及TLS1.0-1.1,启用TLS1.2+,配置PFS/AEAD密码套件,使用强证书与完整链,强化HTTP头与重定向,完善日志审计。

Apache在等保三级场景下启用HTTPS,核心是满足传输加密、身份认证、安全协议与密码套件合规三大要求。仅开启SSL/TLS远远不够,需从协议版本、密钥交换、证书验证、HTTP头加固、日志审计等多维度落实等保三级“通信传输”和“安全计算环境”条款。
禁用不安全协议与弱密码套件
等保三级明确要求禁用SSLv2/SSLv3、TLS 1.0/1.1,必须启用TLS 1.2及以上;同时禁止使用RC4、DES、3DES、MD5、SHA1等已被证明不安全的算法。
- 在httpd.conf或ssl.conf中配置:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3 - 严格限定密码套件,优先选用前向保密(PFS)和AEAD类算法,例如:
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 - 强制服务端密码套件优先级:
SSLHonorCipherOrder on
启用强证书与可信链校验
等保三级要求服务器证书由国家认可的CA机构签发,且私钥强度不低于2048位RSA或256位ECC;客户端需校验证书有效性与域名匹配性(若启用了双向认证)。
- 证书必须使用SHA-256及以上签名算法,避免SHA-1签名证书
- 配置完整证书链(含中间CA),防止因链不全导致浏览器信任失败:
SSLCertificateFile /path/to/fullchain.pemSSLCertificateKeyFile /path/to/privkey.pem - 如需双向认证(mTLS),启用并严格校验客户端证书:
SSLVerifyClient requireSSLVerifyDepth 2SSLCACertificateFile /path/to/trusted-ca-bundle.crt
强化HTTP响应头与重定向策略
等保三级强调防信息泄露与会话劫持,需通过HTTP头约束浏览器行为,并确保所有HTTP请求强制跳转至HTTPS。
- 启用HSTS(HTTP Strict Transport Security),防止降级攻击:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" - 添加关键安全头:
Header always set X-Content-Type-Options "nosniff"Header always set X-Frame-Options "DENY"Header always set X-XSS-Protection "1; mode=block"Header always set Referrer-Policy "no-referrer-when-downgrade" - 全局HTTP→HTTPS重定向(推荐在虚拟主机外统一处理):
Redirect permanent / https://yourdomain.com/(放在非SSL虚拟主机中)
日志审计与运行时防护
等保三级要求记录关键安全事件,包括TLS握手失败、证书过期、异常重协商、密码套件不匹配等,便于事后追溯与合规检查。
- 启用SSL详细日志(生产环境建议设为warn或error,调试期可用info):
LogLevel warn ssl:infoSSLStrictSNIVHostCheck on(防止SNI绕过) - 记录TLS版本与密码套件(需mod_ssl支持):
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{SSL_PROTOCOL}x %{SSL_CIPHER}x" combined-ssl - 定期检查证书有效期(可配合脚本+Zabbix/Prometheus告警),避免因过期导致服务中断
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










