Nginx等保2.0三级SSL配置必须禁用TLS 1.0/1.1及SSLv3,仅启用TLS 1.2+;密码套件须排除RC4、MD5等弱算法并优先PFS;证书有效期≥90天、RSA密钥≥2048位、链完整;必须启用HSTS、OCSP装订和server_tokens off。

要通过等保2.0测评,Nginx的SSL配置不能只“能用”,必须满足三级系统对传输安全的明确要求:禁用弱协议、限制密码套件、启用HSTS、证书可信且有效。下面按检查逻辑分四类展开,每项都说明查什么、怎么查、不合规会怎样。
协议与版本控制
等保2.0三级明确禁止TLS 1.0/1.1及SSLv3,仅允许TLS 1.2及以上(推荐含TLS 1.3)。
- 检查命令:grep -E "ssl_protocols|ssl_ciphers" /etc/nginx/nginx.conf,确认输出含 ssl_protocols TLSv1.2 TLSv1.3;
- 若出现
SSLv3、TLSv1、TLSv1.1,属高风险项,测评直接扣分 - 注意:部分旧版Nginx(如1.10以下)不支持TLS 1.3,需升级或至少确保TLS 1.2为唯一启用版本
密码套件强度
必须禁用已知不安全算法(如RC4、MD5、SHA1、EXPORT、NULL),优先选用前向保密(PFS)套件。
- 推荐配置示例:ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
- 验证方式:用 openssl s_client -connect yourdomain.com:443 -tls1_2 测试是否可协商出上述任一套件
- 避免使用
!aNULL或!eNULL这类模糊写法——等保测评要求明确排除,而非依赖隐式过滤
证书与密钥合规性
证书不是“有就行”,等保关注有效性、密钥强度和部署完整性。
- 证书有效期:用 openssl x509 -in /path/to/cert.pem -noout -dates 检查,剩余有效期不得少于90天(三级系统建议≥180天)
- 私钥强度:RSA需≥2048位,ECDSA需≥256位;执行 openssl rsa -in key.pem -check -noout 验证
- 证书链完整:确保
ssl_certificate指向包含域名证书+中间CA的合并文件(fullchain.pem),否则浏览器可能报“不安全”
安全增强头与强制策略
这部分体现“主动防护意识”,是等保加分项,也是实际攻防中阻断常见攻击的关键。
- HSTS必须启用:add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; —— 注意
preload需提前提交至HSTS预加载列表,否则慎加 - OCSP装订应开启:ssl_stapling on; + ssl_stapling_verify on;,配合
resolver指令,减少证书吊销验证延迟 - 禁用服务器标识泄露:server_tokens off;,防止暴露Nginx版本被针对性利用











