首页/安全/漏洞与攻击面速查/testssl.sh 传输层配置核查
扫描与验证方法50 条

testssl.sh 传输层配置核查

testssl.sh 对 TLS 配置做系统检查:协议版本、密码套件、证书链、已知弱点;适合纳入证书与加密基线的例行核查。

漏洞与攻击面速查安全更新于 2026-10-13

testssl.sh 检查什么

testssl.sh 对 TLS 配置做系统检查:支持的协议版本、密码套件强度、证书链完整性、证书有效期与名称匹配、已知弱点等,输出按等级标注的结果。它适合纳入证书与加密基线的例行核查,也便于在配置调整前后跑同一命令做对比,确认改动确实生效。

基本信息

工具testssl.sh,命令行执行,依赖 openssl 等组件
检查内容协议版本、密码套件、证书链与有效期、已知弱点
常用参数-p 只看协议、-s 只看套件、--severity 限定等级、--json 输出便于对比
基线建议对外服务启用 TLS 1.2 及以上,禁用已知弱套件
复测方式配置调整后重跑同一命令,比对差异项
注意事项负载均衡与 CDN 场景要确认检查的是真实对外端点

检查项与基线

检查项关注点基线建议
协议版本SSLv3、TLS 1.0 与 1.1 是否仍启用关闭,至少保留 TLS 1.2
密码套件RC4、3DES 等弱套件禁用
证书链中间证书是否缺失补全,避免部分客户端连接失败
证书有效期到期时间与续期安排提前告警,留出更换窗口
名称匹配证书域名与实际访问域名覆盖全部对外域名
已知弱点历史协议级问题按版本与配置确认已修复

常用命令

常用命令
# 完整检查,只展示 HIGH 及以上等级
testssl.sh --severity HIGH https://example.com
# 只看协议与密码套件部分
testssl.sh -p -s https://example.com
# 输出 JSON,便于与历史结果对比
testssl.sh --json out.json https://example.com
# 非标准端口要显式指定
testssl.sh https://example.com:8443

典型使用场景

  • 网站传输层配置的例行核查
  • 证书更换与续期后的复测
  • 合规检查中的加密基线举证材料
  • 负载均衡与 CDN 配置调整后的验证
  • 老系统排查是否仍支持已淘汰的弱协议
  • 变更前后对比,确认调整生效
负载均衡与 CDN 场景下要确认检查的是真实对外端点,回源链路的配置可能与对外表现不一致,两端都要核查。
只看总评级不看细节,容易漏掉证书链缺失中间证书这类问题——它在部分客户端上的表现是连接失败,而评级未必明显降级。

易错点

  • 只看了评级没有看细节:证书链缺失中间证书的问题被漏掉
  • 只检查对外主域名,忽略备用域名与 IP 直连端点的证书配置
  • 弱协议关闭后未复测实际端口配置,旧实例上仍然启用
  • 证书到期告警只发给个人邮箱,人员变动后无人接收
  • 在 CDN 源站上直接跑检查,得到的结论与对外实际表现不一致

数据来源与参考

  • testssl.sh 官方文档(usage 与 severity)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌