在视频安全研究员 Mathy Vanhoef 在其网站 www.krackattacks.com 上发表了文章,演示了可以将 HTTPS 连接降级为 HTTP,然后拦截登录凭据。
我正在运行一个小型 https 服务器(Apache,Ubuntu 16.04),我想以一种拒绝任何降级 HTTPS 请求的尝试的方式对其进行配置。
如何验证我的 Apache 实例是否会接受并尊重浏览器将 HTTPS 降级到 HTTP 的请求?
我如何重新配置 Apache 以拒绝来自浏览器的此类请求?
有什么理由不做上述 (2) 吗?我能想到的其中一件事就是支持使用旧浏览器的用户,我还遗漏了什么吗?
答案1
一个选择就是根本不允许 http 只允许 https。
另一个选择是使用 HTTP 严格传输安全。
您可以在 Apache 中通过添加
标头始终设置 Strict-Transport-Security“max-age=31536000;includeSubDomains”
到启用了 TLS 的虚拟主机。您还应该将 http 上的所有请求重定向到 https,以确保这一点。