协议与密码套件
证书层检查之外,TLS 协议层本身的配置同样决定安全性。这一组能力关注:握手出了什么版本、什么套件、能不能前向保密、能不能恢复会话。
命令一览
| 命令 | 作用 |
|---|---|
scan-protocols <domain> | 探测支持的 TLS 版本(1.0/1.1/1.2/1.3) |
scan-ciphers <domain> | 探测支持的密码套件(安全/弱) |
check-pfs <domain> | 前向保密支持(ECDHE/DHE) |
check-session-resumption <domain> | 会话恢复(Session ID / RFC 5077 Ticket) |
check-wildcard <domain> | 泛解析证书模式与风险 |
TLS 握手里这一组在看什么
协议层 vs 证书层
证书层(scan-cert-security 的前 12 项)只看证书这个数据结构;本页这组能力看的是握手过程——协商出的版本、套件、扩展。前者可离线,后者必须在线握手。
TLS 版本扫描
bash
cert-skills scan-protocols example.com逐个尝试 TLS 1.0 / 1.1 / 1.2 / 1.3 协商,报告支持/不支持。判定"是否安全"的规则:
密码套件扫描
bash
cert-skills scan-ciphers example.com
cert-skills scan-ciphers example.com --tls-version 1.3逐个探测套件,分"安全"(AES-GCM / ChaCha20)和"弱"(RC4 / 3DES / NULL / EXPORT)。--tls-version 用 1.2/1.3 切换扫描的套件集。
前向保密:PFS
bash
cert-skills check-pfs example.com前向保密(Perfect Forward Secrecy)保证:即使服务器私钥泄露,过去的会话密钥也无法被反推。关键在密钥交换算法:
check-pfs 列出 PFS 套件和非 PFS 套件。现代标准要求至少支持一种 ECDHE 套件。
会话恢复
bash
cert-skills check-session-resumption example.comTLS 会话恢复让客户端复用之前的协商结果,省一次完整握手。两种机制:
| 机制 | 规范 | 原理 |
|---|---|---|
| Session ID | RFC 5077 前 | 服务器存会话状态,客户端带 ID 复用 |
| Session Ticket | RFC 5077 | 服务器把状态加密成 Ticket 给客户端,无状态 |
恢复支持提升握手性能,但需注意 Ticket 的密钥轮换管理。
泛解析证书
bash
cert-skills check-wildcard example.com*.example.com 一张证保护所有子域,方便但有风险:
check-wildcard 分析泛解析层级、覆盖域名列表、风险等级。
与安全评分的关系
协议层结果是 analyze 评分的重要扣分来源:
| 协议层问题 | 评分影响 |
|---|---|
| 支持 TLS 1.0/1.1 | High (−20) |
| 弱套件 RC4/3DES/NULL | High (−20) |
| 无 PFS 套件 | 计入 TLS 检查 |
| 缺 OCSP Stapling | Low (−5) |
| 缺 HSTS | Medium (−10) |