用户在使用 SSL Labs(现称 Qualys SSL Labs)诊断 SSL 证书配置得分低的问题,他们可以按照以下系统化步骤进行检查:
一、SSL Labs 测试流程
1. 访问测试工具
- 打开 [SSL Labs SSL Test](https://www.ssllabs.com/ssltest/)
- 输入您的域名(例如:example.com)
- 点击 "Submit" 开始测试
- 等待测试完成(通常需要 2-5 分钟)
二、解读测试报告的关键部分
2. 查看总体评分
A+/A:优秀配置
B/C:需要改进
D/F:存在严重安全问题
3. 分析具体问题区域
a) 协议支持问题
常见低分原因:
- 支持 TLS 1.0 或 SSL 3.0(已淘汰)
- 不支持 TLS 1.2 或 1.3
- 协议顺序配置不当
b) 加密套件问题
常见问题:
- 包含弱加密算法(RC4, DES, 3DES)
- 使用 CBC 模式而非 GCM
- 缺少前向保密(Forward Secrecy)
- 加密套件顺序不当
c) 证书问题
常见问题:
- 证书链不完整
- 使用自签名证书
- 证书即将过期或已过期
- 域名不匹配
- SHA-1 签名(已不安全)
d) 其他安全问题
- 缺少 HSTS 头
- 缺少 OCSP Stapling
- 支持不安全的重新协商
- 暴露敏感信息(如服务器版本)
三、常见低分问题及解决方案
问题 1:使用不安全的协议
nginx
错误配置示例(支持老旧协议)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
正确配置示例
ssl_protocols TLSv1.2 TLSv1.3;
问题 2:弱加密套件
nginx
推荐配置(Nginx)
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
问题 3:证书链不完整
解决方案:
- 确保证书包包含完整链:域名证书 + 中间证书 + 根证书
- 使用 SSL Labs 的 "Certificate Chain" 工具检查
问题 4:缺少安全头
nginx
添加 HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
启用 OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
四、服务器配置优化示例
Apache 配置示例
apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets off
Nginx 配置示例
nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
五、自动化监控和测试
1. 定期测试脚本
bash
使用命令行工具测试
curl -s "https://api.ssllabs.com/api/v3/analyze?host=example.com" | jq '.status'
使用 Qualys API 自动化测试
2. 监控建议
- 每月至少测试一次
- 证书到期前 30 天设置提醒
- 关注 SSL Labs 的评分标准变化
六、额外工具推荐
1. Mozilla SSL Configuration Generator
- 根据服务器类型自动生成安全配置
2. CipherScan
- 详细分析服务器支持的加密套件
3. testssl.sh
- 本地命令行测试工具
七、达到 A+ 评级的关键点
1. 强制要求:
- 只启用 TLS 1.2 和 1.3
- 启用前向保密(Forward Secrecy)
- 完整的证书链
- HSTS 头(至少 6 个月)
- OCSP Stapling 启用
2. 推荐配置:
- 支持 TLS 1.3
- 使用 ECDSA 证书
- 启用 CAA 记录
- 支持 0-RTT(TLS 1.3)
用户测试完成后,根据 SSL Labs 的详细报告逐项修复,每次修改后重新测试,直到达到满意的评分。