首页/安全/渗透测试与安全评估速查/testssl.sh 配置检查要点
工具使用要点60 条

testssl.sh 配置检查要点

testssl.sh 检查 TLS 配置:协议版本、密码套件、证书链与公开漏洞项;用 --severity 收敛输出、--jsonfile 留档,结论以配置复核为准。

testssl.sh 配置检查要点

testssl.sh 用于核查服务的传输层加密配置,覆盖协议版本支持情况、密码套件强弱、证书链完整性与若干已知公开问题项。输出较长,因此通常用严重级别参数收敛关注范围,并把结果以结构化格式留档以便对比。两个实践要点:负载均衡场景下同一域名可能由配置不同的多个节点响应,需要抽查节点间的差异;开启全部检查项会显著增加连接数,老旧设备与低配网关应先做单项检查。

基本信息

检查面协议版本、密码套件、证书链与已知问题项
输出收敛按严重级别参数只输出关注等级以上的问题
留档方式结构化与日志文件输出,便于前后对比
注意事项多节点场景需抽查,老旧设备先做单项检查

典型使用场景

  • 合规核查:确认是否禁用过时协议与弱套件
  • 证书巡检:核对有效期、链完整性与主机名匹配
  • 上线前检查:新服务发布前确认加密配置
  • 节点一致性核对:负载均衡多节点配置是否统一
  • 整改复核:调整加密策略后重跑确认结果变化

检查示例

检查示例
testssl.sh --severity HIGH https://example.com      # 只看高等级以上问题
testssl.sh --protocols --ciphers example.com:443    # 分别核查协议与套件
testssl.sh --jsonfile tls.json example.com           # 结构化留档便于对比
# 多节点场景:对同一域名的不同解析结果分别执行,确认配置一致
# 老设备:先做单项检查,避免全量检查造成连接压力

检查面与结论口径

检查面正常表现需关注的情况
协议版本仅启用较新的协议仍支持已废弃的协议版本
密码套件禁用弱套件与前向保密缺失组合存在可被降级的弱套件
证书链链完整且主机名匹配缺中间证书或名称不匹配
已知问题项与公告核对后确认影响命中需确认是否真实可利用
工具命中需人工确认:协议与套件支持的判定较客观,但具体弱项是否可利用要结合部署方式与补丁状态。

易错点

  • 只检查默认节点:负载均衡下节点配置不一致会让结论失真
  • 对老旧设备开启全部检查:连接数骤增可能造成设备或链路压力
  • 把工具命中直接当漏洞:需与补丁状态和实际配置核对后再定性
  • 不做结构化留档:整改前后无法对比,无法证明已修复
  • 忽略 SNI 差异:不同主机的证书与配置可能由同一地址返回不同结果

数据来源与参考

  • testssl.sh 官方仓库(选项说明)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌