gzipping一切的危险是什么?

时间:2015-08-08 16:12:35

标签: security nginx compression gzip

我有以下nginx conf:

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_comp_level 6;
gzip_min_length  1000;
gzip_proxied any;
gzip_types "*";
gzip_buffers 16 8k;

我曾经gzip_types gzip_types text/plain text/css application/json application/x-javascript text/javascript text/xml application/xml application/xml+rss image/x-icon application/vnd.api+json;,但根据PageSpeed出于某种原因,这对我不起作用。

我的问题是这样 - 抓住一切是否有任何不利之处?当然压缩js,css和html很好。压缩json,图像和其他媒体文件也可能很好。

但是,我们在此连接上执行代理websockets。我想象min_length位会解决大部分问题,但有没有可能出现的问题?

此外,压缩私人数据是否存在安全问题? This相关SO提及CRIME,这似乎表明压缩包含秘密和可变数据的响应是危险的。我也在阅读BREACH,这似乎是相同的。我不是安全专家,所以我不确定对此有多担心,但我们确实使用Django,截至2013年8月他们的建议是完全禁用gzip。

1 个答案:

答案 0 :(得分:3)

在以下情况下可以进行BREACH:

  1. 使用HTTPS进行HTTP压缩
  2. 用户可以使用响应中返回的数据(如搜索框)发出请求
  3. 没有随机响应填充
  4. 因此,如果您访问了邪恶或受到破坏的网站,他们可能会阅读您的银行帐号或CSRF代币。

    无论如何,您可以使用HTTP分块编码来填充您的回复。 https://qualys.jive-mobile.com/#jive-document?content=%2Fapi%2Fcore%2Fv2%2Fposts%2F2211