金融级SSL配置必须禁用RC4、3DES、MD5/SHA1、EXPORT、NULL/ANONYMOUS/PSK/SRP等不安全算法,强制启用PFS与AEAD加密,推荐使用ECDHE/DHE+AES-GCM/CHACHA20-POLY1305套件并显式启用TLSv1.2/TLSv1.3。

要满足金融级合规要求(如等保三级、JR/T 0185—2023、PCI DSS),负载均衡链路中的 ssl_ciphers 配置不能仅“可用”,必须精准剔除所有已知不安全算法,强制启用前向保密(PFS)和 AEAD 认证加密,并与 TLS 版本策略协同生效。
必须禁用的弱算法关键词
以下类型一旦出现在 ssl_ciphers 字符串中,即视为不合规,需彻底排除:
-
RC4(如
RC4-SHA)——存在 Bar Mitzvah 攻击风险 -
3DES / DES(如
EDE3-SHA、DES-CBC-SHA)——密钥长度不足,CVE-2016-2183 已证实可碰撞 -
MD5 / SHA1 哈希套件(含
-MD5或-SHA但非-SHA256/-SHA384的均属高危;ECDHE-RSA-AES128-SHA中的 SHA1 虽在部分旧标准中“容忍”,但等保三级明确禁止) -
EXPORT 级套件(如
EXP-EDH-RSA-DES-CBC-SHA)——密钥长度 ≤40 位,早已被弃用 -
NULL / ANONYMOUS / PSK / SRP 类套件(如
RSA-AES256-SHA、ECDHE-PSK-AES128-GCM-SHA256)——无认证或静态密钥,不支持前向保密
推荐的金融级 ssl_ciphers 配置
该配置适配主流负载均衡器(如 Nginx、ALB、WAF)及后端服务,覆盖 Chrome/Firefox/Edge/Safari 最新版、Android 7+、iOS 11+,同时满足国密过渡兼容性(如需 SM4 协商,见下文补充):
ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers '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:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers on;
说明:
- 全部套件基于 ECDHE 或 DHE,确保每次会话密钥独立,满足前向保密要求
- 对称加密仅使用 AES-GCM 或 CHACHA20-POLY1305,均为 AEAD 模式,兼具加密与完整性校验
- TLSv1.3 套件由协议自动协商,无需显式写入
ssl_ciphers,但必须通过ssl_protocols显式启用 - 未包含 CAMELLIA、SEED、IDEA 等非主流或审计不足算法,避免监管质疑
金融场景增强项:国密支持与双向认证协同
若部署于国内金融网关、支付通道或信创环境,需叠加国密能力并防止降级:
- 在支持 GMSSL 的负载均衡器上,将国密套件加入
ssl_ciphers并置于最前,例如:TLS_SM4_SM3:ECDHE-SM4-SM3:SM4-SM3:ECDHE-ECDSA-AES128-GCM-SHA256:... - 启用双向认证(mTLS)时,配合
ssl_verify_client on和ssl_client_certificate指向 SM2 签发的 CA 证书 - 日志中记录协商结果:
log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$ssl_protocol" "$ssl_cipher"';,用于审计是否实际使用了 TLSv1.2+SM4 或 TLSv1.3+AES-GCM - 显式禁用非国密回退路径,如添加
!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP后缀强化过滤
上线前必须完成的验证动作
配置 reload 后,须实测确认弱算法已被清除,而非依赖配置语法正确:
- 用
nmap --script ssl-enum-ciphers -p 443 yourdomain.com扫描,输出中不得出现RC4、3DES、MD5、EXPORT、NULL等字样 - 提交至 SSL Labs SSL Test,评级 ≥ A,且 “Handshake Simulation” 中所有客户端(包括 Android 7+、iOS 11+、Chrome 70+)均协商到强套件,无降级行为
- 检查负载均衡器错误日志,确认无
no suitable key exchange algorithm或no ciphers available报错 - 若启用了国密,还需用
openssl s_client -connect yourdomain.com:443 -cipher TLS_SM4_SM3验证国密握手可达


















