锁形图标无法告诉你证书明天是否会续期,也无法说明陌生网站能否嵌入你的页面。TLS和HTTP响应策略解决不同问题。一起检查有助于分清紧急可用性故障和缺少的防御层。
Sitelemetry的TLS模块记录信任结果、有效期和协商协议;响应头模块检查真实响应,保留最终URL、状态和观察到的值。这些是修复工作的起点,不是应用已经完成全面渗透测试的证明。
此审计的范围
可以测量什么
- 测试连接的TLS信任结果、证书有效日期、签发者和协商协议。
- 观察到的HSTS、CSP、框架嵌入防护、内容类型保护、来源策略及部分信息公开/CORS迹象。
- 扫描实际收到的Cookie安全属性,以及受支持的成功检查。
不能证明什么
- 一次协商得到的TLS版本不是所有受支持协议和密码套件的完整枚举。
- 公开响应不会展示所有登录态Cookie或每条路由的策略。
- TLS或网络导致无法获得HTTP响应时,响应头为未测量,而不是自动判定缺失。
请扫描经过验证且获得授权的目标。套餐与配置决定模块,额外引擎还需满足自身可用条件。比较结果之前先查看覆盖范围。
区分证书错误和策略发现
证书过期可能立刻阻止客户访问,缺少来源策略则有不同后果与紧迫性。先查看主机名、最终跳转目标、到期时间和实际信任错误。问题发生在CDN边缘、源站,还是某个特定主机?根域名的有效证书并不自动覆盖全部子域名。
原生TLS检查会提示观察到的旧协议和临近到期。连接协商为TLS 1.3不能证明旧版本已被禁用。如果需要这种保证,应检查TLS终止配置,并执行范围适当的协议评估。
按实际影响排序
| 发现 | 通常优先级 | 有用证据 |
|---|---|---|
| 证书过期或不受信任 | 高 | 主机名、日期和信任错误 |
| 证书即将到期 | 中;剩余时间越短越紧急 | 剩余天数和续期状态 |
| 缺少HSTS、CSP或框架防护 | 常为中,取决于应用场景 | 实际响应头和页面 |
| 缺少nosniff或来源策略 | 通常低 | 值与内容类型 |
| 公开资源使用CORS通配符 | 结合场景审核 | 数据敏感性和预期使用方 |
缺少CSP并不证明存在XSS,有CSP也不代表XSS不可能发生。公开资源的CORS通配符可能是有意设置。涉及私有数据时,应调查真实认证和Origin行为。不要把每个策略观察都说成已确认的数据泄露。
根据证据逐步部署CSP
整理脚本、字体、图片、连接、框架和支付提供商。强制之前先使用Content-Security-Policy-Report-Only。报告模式可发现兼容性问题,但不会阻止对应动作。如需集中报告,配置合适的接收地址。
Content-Security-Policy-Report-Only: default-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'这只是起点示例,不是通用生产策略。外部服务可能需要明确来源,脚本可能需要nonce或哈希。测试注册、OAuth弹窗、付款、同意选项及错误页。解决合法功能引发的违规后,再把经过审核的策略改为强制响应头。不要只为消除报告而添加宽泛通配符。
把HSTS视为运维承诺
HSTS要求支持它的浏览器在记忆期限内使用HTTPS。延长期限前,先确认HTTPS可靠且证书能正常续期。从受控的短期限开始,观察稳定后再增加。
includeSubDomains也影响子域名,应先审核旧服务和委派主机。预加载有浏览器列表的要求,移除也可能较慢。把preload写进响应头并不会自动提交域名。不要为了消除扫描警告,直接复制长期限、覆盖所有子域名的配置。
检查客户实际收到的响应
修改实际TLS终止点和生成响应的层。如果CDN覆盖响应头,源站文件配置正确也可能无效。多个层重复添加的策略还可能相互影响。应对比主页、登录、应用和错误路由的最终响应,而非只查看一个配置文件。
会话Cookie按需使用Secure和HttpOnly,根据真实跨站流程选择SameSite。JavaScript可读取的偏好Cookie不同于会话令牌。nosniff应配合正确MIME类型。减少不必要的版本公开不等于给旧软件打补丁。各控制的作用可参考OWASP响应头指南。
同时复测安全与功能
- 确认目标主机提供可信证书和预期有效日期。
- 在重定向和缓存更新之后检查实际策略值。
- 在支持的浏览器中测试注册、登录、退出、付款和必要嵌入。
- 重复相同模块,查看发现和未完成检查。
- 保留证书续期监控及经过测试的策略回退方案。
若握手间歇失败,应先保存错误并从另一个相关网络复测,再判断整个网站是否不可用。成功复测解决的是该观察,不是所有传输风险。更全面的检查可参考OWASP TLS指南。
常见问题
Report-Only会消除CSP缺失提示吗?
它是不强制执行的测试阶段。部署可用的Content-Security-Policy响应头之前,报告仍可能提示缺少强制策略。
应该立即启用HSTS预加载吗?
只有在确认要求、子域名准备情况和运维后果后才考虑。它并非适合所有域名的安全默认值。
证书失败时为什么响应头未测量?
经过验证的HTTPS请求没有返回可用响应头。TLS错误是证据,但不能把缺少HTTP响应转化成多个虚构的响应头缺失。
来源与延伸阅读
- MDN:CSP报告模式developer.mozilla.org
- MDN:HTTP Strict Transport Securitydeveloper.mozilla.org
- OWASP:HTTP响应头cheatsheetseries.owasp.org
- OWASP:TLS安全指南cheatsheetseries.owasp.org
由 Sitelemetry 团队根据产品审计范围和链接的一手资料编写。除明确标注的实际观察案例外,示例均用于说明。



