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 # 结构化留档便于对比
# 多节点场景:对同一域名的不同解析结果分别执行,确认配置一致
# 老设备:先做单项检查,避免全量检查造成连接压力检查面与结论口径
| 检查面 | 正常表现 | 需关注的情况 |
|---|---|---|
| 协议版本 | 仅启用较新的协议 | 仍支持已废弃的协议版本 |
| 密码套件 | 禁用弱套件与前向保密缺失组合 | 存在可被降级的弱套件 |
| 证书链 | 链完整且主机名匹配 | 缺中间证书或名称不匹配 |
| 已知问题项 | 与公告核对后确认影响 | 命中需确认是否真实可利用 |
工具命中需人工确认:协议与套件支持的判定较客观,但具体弱项是否可利用要结合部署方式与补丁状态。