野兽/犯罪/海滩攻击并阻止它

use*_*356 2 security ubuntu apache-2.2

我已经阅读了很多关于这一切的内容,但并不完全确定我理解发生了什么。

还有,这是一、二还是三的问题?

在我看来,它像三个,但都非常令人困惑:

Beast
CRIME
Beach
Run Code Online (Sandbox Code Playgroud)

似乎解决方案可能是简单地不对 HTTPS 流量使用压缩(或者只是在其中之一上使用压缩?)

我使用 GZIP 压缩。没关系,还是那是问题的一部分?

我也使用 Ubuntu 12.04 LTS

另外,非 HTTPS 流量可以吗?

因此,在阅读了所有理论之后,我只想要解决方案。我认为这可能是解决方案,但是有人可以确认我已经理解了所有内容,因此我不太可能遭受这种攻击:

SOLUTION: Use GZIP compression on HTTP traffic, but don't use any compression on HTTPS traffic
Run Code Online (Sandbox Code Playgroud)

Chr*_*s S 5

CRIME 和 BREACH(注意其中有一个“R”)使用 TLS 级别压缩来“泄漏”有关加密数据的信息。很快:如果您可以控制部分数据流并发送不同的数据,那么当您发送与您无法控制的流的一部分相同的数据时,输出将更小(因为压缩会对其进行重复数据删除)并且你会知道你无法控制的部分的内容。

BEAST 利用了 TLS 1.0 中 CBC 加密的缺陷。这在很大程度上是不切实际的,但是已经创建了一个演示漏洞并且绝对有效。有两个潜在的修复方法,禁用 CBC 加密(基本上包括 TLS 的所有“好”加密,留下 RC4,它有自己的漏洞,包括泄漏明文)或禁用 TLS 1.0 并仅使用 TLS 1.1(或更新版本) ,即 1.2)。

这些攻击大多不切实际,但如果您处于高安全性环境(如 PCIDSS 或 EHR)中,则需要禁用 TLS 压缩和 TLS 1.0 CBC 加密。TLS 压缩与内容压缩(即 Deflate 和 GZip)完全分开。根据最新统计数据,大约 2/3 的 HTTPS 服务器对 BEAST“易受攻击”,大约 1/6 对 CRIME“易受攻击”。从正确的角度来看,1/3 很容易受到攻击,因为他们正在运行一个愚蠢的配置,几乎无法在任何级别正确保护数据。

编辑:
回应您的评论:通常作为“SSL 证书”销售的实际上是 x509 证书,除了被协议使用外,与 SSL 无关。当您获得证书时,请确保它是 2048 或 4096 位(前者非常常见)RSA 或 384+ 位 ECDSA。证书使用非对称加密,速度非常慢——因此它们不用于加密通过 SSL/TLS 传输的数据。它们仅用于同意流密码使用的密钥。

常见的流密码有 RSA、RC4、Camellia 和 DES/3DES。这是您遇到 64 位、128 位、256 位加密的地方 - 这是这些流密码的密钥大小。从系统管理员的角度来看,RSA 是广泛支持的密码中“最好的”——但它受到上述 BEAST 攻击中的 CBC 问题的影响。RC4“泄漏”明文。Camellia 非常棒,但并未得到普遍支持,因此您不能在公共环境中依赖它。DES/3DES 已损坏,永远不应再使用。

您基本上与其他数以百万计的人一样在同一个问题上磕磕绊绊:普遍支持和功能安全之间的选择。你现在不能同时拥有。在我看来,禁用 TLS 压缩有点轻而易举,因为内容压缩弥补了大部分差异 - 因此“修复”问题的成本很低。但是流密码的选择几乎是:使用 RC4 或 AES 实现有缺陷的安全性,或者需要 TLS 1.1+ 并破坏您的网站一半的互联网。

脚注:别担心,当量子处理器达到 128+ 位并使破解“SSL 证书”变得微不足道时,这一切看起来就像是洒了牛奶。我们可能距离那个不到 10 年,目前是 4 位。