Nginx HTTPS 加密套件安全加固配置及测试说明

来源:本站原创 点击数: 发布时间:2026年06月26日

一、漏洞根源(修复以下风险)

  1. CVE-2016-2183(SWEET32 高危):旧套件含 3DES 64 位分组密码,易生日攻击泄露明文

  2. CBC 模式低危漏洞:CBC 加密易受 BEAST、Lucky13、POODLE 攻击

  3. 纯 RSA 密钥交换信息漏洞:无前向安全 FS,私钥泄露则所有历史抓包可解密

  4. 老旧协议风险:TLS1.0/1.1 存在大量历史安全缺陷

旧配置缺陷:ssl_ciphers HIGH:!aNULL:!MD5;HIGH 是宽泛集合,内置 3DES、CBC、纯 RSA 套件,无法根除漏洞。


二、完整加固配置(生产直接使用)

1. SSL 核心加密配置(443 站点)

# 仅保留安全协议,禁用老旧SSL/TLS
ssl_protocols TLSv1.2 TLSv1.3;

# 服务端优先使用自身加密套件
ssl_prefer_server_ciphers on;

# 白名单仅保留ECDHE+GCM/ChaCha20 AEAD安全套件
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-CHACHA20-POLY1305-SHA256:ECDHE-RSA-CHACHA20-POLY1305-SHA256;

# 会话加固
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets off;

# 关闭不安全SSL重协商
ssl_renegotiation off;

# 可选:开启HSTS防HTTP降级劫持
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

2. 加固逻辑说明

  1. 全部前缀ECDHE:强制临时椭圆曲线密钥交换,具备前向安全 FS

  2. 全部后缀GCM/Poly1305:现代 AEAD 加密,无 CBC 模式漏洞

  3. 无 3DES/DES、无 SHA1、无纯 RSA 套件,一次性消除 4 项扫描漏洞


三、测试验证操作

服务器本地 OpenSSL 命令行(内网快速核验)

  1. 查看当前协商加密套件

echo | openssl s_client -connect www.hutb.edu.cn:443 -servername www.hutb.edu.cn 2>&1 | grep -A2 'New'
预期输出:TLSv1.3 + AES-GCM 安全套件

  1. 强制 TLS1.2 检测 3DES 是否禁用(核心验证 SWEET32)

openssl s_client -connect www.hutb.edu.cn:443 -servername www.hutb.edu.cn -tls1_2 -cipher 3DES
合格标准:握手失败、Cipher=(NONE)

  1. 检测 CBC、纯 RSA 弱套件是否拦截

# CBC套件测试
openssl s_client -connect www.hutb.edu.cn:443 -cipher AES256-CBC 2>&1 | grep Cipher

# 纯RSA密钥交换测试
openssl s_client -connect www.hutb.edu.cn:443 -cipher RSA-AES256-GCM-SHA384 2>&1 | grep Cipher
合格标准:无任何 Cipher 输出,直接拒绝握手