用途
当需要判断某个服务的 TLS 安全态势是否符合预期的加固要求时,可以使用 testssl.sh 技能。该技能主要用于授权渗透测试中的传输层安全评估,重点回答协议支持、证书规范和 TLS 加固是否达标的问题。
阶段定位
- 主要阶段:漏洞分析
- 次要阶段:复测与闭环
适用场景
- 需要评估协议支持、证书规范或 TLS 加固情况。
- 需要验证某个对外暴露的 HTTPS 服务是否符合策略要求。
- 需要确认某项 TLS 修复措施是否真正生效。
不适用场景
- 目标不是已批准的 HTTPS 端点。
- 问题属于应用逻辑,而非传输层安全。
输入
- 已批准的 HTTPS 目标。
- 期望的策略基线或认可的加固标准。
操作流程
- 仅测试已批准的端点。
- 将观察到的协议与证书态势与约定基线进行对比。
- 区分实质性弱点与实际影响较低的政策偏差。
- 将结果与暴露资产的关键性关联。
- 保留基线对比结果,供复测使用。
命令语法
以下示例中的目标需替换为已批准的范围内资产。
# 完整 TLS 评估
./testssl.sh https://portal.contoso.com
# 快速检查(跳过较不常见的密码套件)
./testssl.sh --fast portal.contoso.com:443
# 检查协议及逐协议密码套件
./testssl.sh --protocols --cipher-per-proto portal.contoso.com:443
# 检查已知 TLS 漏洞(POODLE、BEAST、Heartbleed 等)
./testssl.sh --vuln portal.contoso.com:443
# 输出到 JSON 文件
./testssl.sh --jsonfile contoso-tls.json portal.contoso.com:443
# 使用 STARTTLS 测试 SMTP
./testssl.sh --starttls smtp mail.contoso.com:25
# 非标准 HTTPS 端口
./testssl.sh portal.contoso.com:8443
需要采集的证据
- 每个目标的协议与证书态势。
- 可能增加降级或拦截风险的互联网暴露弱点。
- 复测期间的修复差异。
安全边界
- 测试严格限定在已批准主机范围内。
- 报告应结合业务影响进行说明,避免过度夸大原始密码学术语。