如何审核 Web 服务器对 BREACH 的抵抗力/漏洞

信息安全 tls 漏洞扫描器 硬化 配置
2021-09-02 22:38:51

BREACH是一种针对 HTTP 压缩的新 SSL 攻击,最近已公开宣布。

我管理一些网络服务器。我如何审核它们以检查其中哪些可能容易受到 BREACH 的影响?有没有一种简单的方法来扫描网络服务器来检查这个?

(关于如何防御 BREACH 的新兴建议似乎是:关闭 HTTP 压缩。因此,一种审计 Web 服务器以检查其是否已禁用 HTTP 压缩的方法可能就足够了。在撰写本文时,Qualys SSL Labs SSL可通过SSL Pulse 页面获得的测试仪似乎没有对此进行测试。)

2个回答

严格来说,您不能真正进行通用测试。Accept-Encoding在 HTTP 中,客户端通过标题行声明它是否支持压缩。然后服务器会觉得被允许使用这些压缩方案。@Adnan 指向这篇博客文章,该文章描述了如何手动向服务器发送 HTTP 请求并查看服务器响应的内容。作为一种审计方法,要检查 HTTP 压缩支持,这有两个问题:

  1. 没有可能的压缩算法的有限列表。至少gzipdeflate并且compress是常见的。使用 TLS 级别的压缩,至少每个“压缩方法”都由单个字节指定,因此只有 255 种可能的压缩方法(不包括“不压缩”方法),并且可以穷举。这不是这里的情况。

  2. 服务器可以自由地在任何文档上应用或不应用压缩,因为它认为合适。例如,Apache 文档显示了如何根据目标文档的类型以及它在站点目录树中的位置来做出压缩决定。IIS对“静态压缩”和“动态压缩”进行了区分:静态压缩仅适用于作为磁盘物理文件的页面或文档。在 IIS 的情况下,是否压缩的决定取决于所请求页面的生成方式,因此每个单独的 URL 可能会有所不同......

目前还没有关于攻击的太多细节,我仍然觉得它本质上对每个目标站点都非常具体,所以我们还有几天的时间;没有必要已经恐慌并宣布禁止压缩。让我们先了解一下实际攻击的一些细节。换句话说,“新兴建议”对我来说似乎有点为时过早。

好吧,现在是 2021 年你可以使用https://www.ssllabs.com/ssltest/https://github.com/drwetter/testssl.sh