Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security Chrome即时失效URL触发网站锁定_Security_Google Chrome - Fatal编程技术网

Security Chrome即时失效URL触发网站锁定

Security Chrome即时失效URL触发网站锁定,security,google-chrome,Security,Google Chrome,我的网站使用模糊、随机的URL为敏感文档提供一些安全性。例如,URL可能是http://example.com/。URL不被任何其他页面链接,有META标签可选择退出搜索引擎爬网,并且有效期短。为了实现顶级安全性,一些URL还受到登录提示的保护,但许多URL只是受到模糊URL的保护。我们已经决定,这是一个可接受的安全级别 我们实现了一种锁定机制,在多次无效的URL尝试之后,IP地址将被阻止一段时间,以阻止对URL的暴力猜测 然而,Google Chrome有一个名为“即时”的功能(在选项->基本

我的网站使用模糊、随机的URL为敏感文档提供一些安全性。例如,URL可能是
http://example.com/
。URL不被任何其他页面链接,有
META
标签可选择退出搜索引擎爬网,并且有效期短。为了实现顶级安全性,一些URL还受到登录提示的保护,但许多URL只是受到模糊URL的保护。我们已经决定,这是一个可接受的安全级别

我们实现了一种锁定机制,在多次无效的URL尝试之后,IP地址将被阻止一段时间,以阻止对URL的暴力猜测

然而,Google Chrome有一个名为“即时”的功能(在选项->基本->搜索中启用),当URL被输入地址栏时,它将预取URL。这会很快触发一个锁定,因为它试图获取一堆无效的URL,当用户完成时,就不允许再尝试这些URL了

  • 有没有办法退出这个功能,或者忽略来自它的HTTP请求
  • 或者,这种锁定机制只是愚蠢和烦人的用户没有提供任何重要的保护
(说实话,我真的不明白这对Chrome有什么帮助。对于搜索结果来说,在你打字的时候看看谷歌的建议是很有趣的,但是你想要的URL的子集生成有意义的页面的可能性有多大?当我打开这项功能时,我得到的只是一堆404个错误,直到我完成打字为止。))

或者,这种锁定机制只是愚蠢和烦人的用户没有提供任何重要的保护

你可能已经一针见血了:默默无闻的安全不是安全

不要试图“阻止暴力猜测”,而是使用实际上难以猜测的URL:明显的例子是使用加密安全的RNG生成“随机20个字符串”。如果使用base64url(或类似的URL safe base64),则得到64^20=2^6^20=2^120位。不完全是128(或160或256)位,因此如果您愿意,您可以将其延长,但还要注意,正确猜测的预期带宽成本将是巨大的,因此您不必担心,直到您的带宽账单变得巨大

您可能希望通过其他一些方式来保护链接:

  • 使用HTTPS减少窃听的可能性(如果您通过电子邮件发送链接,SMTP服务器之间仍将不加密)
  • 不要链接到任何东西,或者如果你这样做了,则通过HTTPS重定向进行链接(上次我检查时,许多web浏览器仍然会发送
    Referer:
    ,泄漏您之前查看的“安全”URL)。另一种方法是将初始加载设置为不可使用的
    secure
    会话cookie,并重定向到仅对该会话cookie有效的新URL
或者,您可以更改“锁定”以在不影响可用性的情况下仍能工作:

  • 仅在延迟后提供。每次提供文档或HTTP 404时,增加该IP的延迟。可能有一种简单的算法可以逐渐接近速率限制,但对最初的几个请求更“宽容”
  • 对于每个IP地址,一次只允许一个请求。当您收到一个请求时,在任何现有请求上返回HTTP 5xx(我忘了哪一个是“服务器负载过高”)
即使初始延迟呈指数级增加(即1s、2s、4s),“当前”延迟也不会比键入整个URL所需的时间大多少。如果键入随机URL需要10秒,那么再等待16秒加载也不算太糟糕

请记住,想要绕过基于IP的速率限制的人可以租用僵尸网络(带宽的一小部分)



顺便说一句,我(只是稍微)澳大利亚一家未具名的软件公司认为低熵随机生成的密码不是问题,这让我很惊讶,因为你的登录系统中应该有验证码。有趣的是,其中一些密码是服务器对服务器的。

我没有对目标发表评论,但我遇到了类似的问题(从Chrome Instant加载不需要的页面),并发现:

当Google Chrome向您的网站服务器发出请求时,它将发送以下标题:

X-Purpose: preview
检测此情况,并返回HTTP 403(“禁止”)状态代码