保护 Web 服务器免受 Safari 中的 MITM 攻击
Securing web server against MITM attack in Safari
我一直在寻找一种方法来确保我的 Web 服务器能够抵御中间人攻击。 Google Chrome 和 Firefox 似乎确实可以阻止对我的服务器的请求,即使我 select 在安全警告后继续前进。我正在通过使用 Charles Proxy 拦截 Https 流量来测试这个,而无需信任我 Mac.
上的 Charles Cert
当我 运行 使用 Safari 进行相同的测试时,如果我选择忽略安全警告,它会让我通过,我希望一定数量的用户这样做。所以似乎需要更多配置来锁定 Safari 流量。我知道这是可能的,因为当尝试使用相同的场景导航到 github.com 时,我收到以下消息:
有谁知道 GitHub 正在做什么来阻止不受信任的连接上的 Safari 流量?
Looks like Safari is supporting HSTS 并且 github 正在使用它。他们的 HTTP 响应包含以下 header:
Strict-Transport-Security:max-age=31536000; includeSubdomains; preload
这样一来,支持 HSTS 的浏览器就知道在可预见的时间内只能使用 https 访问该站点,任何仅使用 http 的尝试都会由浏览器自动升级。
除了仅在首次访问网站后才有效的基本 HSTS github 之外,还添加了 preload
指令。这告诉浏览器制造商,github 喜欢包含在浏览器附带的预加载 HSTS 列表中,这样即使用户以前从未访问过该站点,浏览器也会应用 HSTS。有关详细信息,请参阅 HSTS Preloading。
我一直在寻找一种方法来确保我的 Web 服务器能够抵御中间人攻击。 Google Chrome 和 Firefox 似乎确实可以阻止对我的服务器的请求,即使我 select 在安全警告后继续前进。我正在通过使用 Charles Proxy 拦截 Https 流量来测试这个,而无需信任我 Mac.
上的 Charles Cert当我 运行 使用 Safari 进行相同的测试时,如果我选择忽略安全警告,它会让我通过,我希望一定数量的用户这样做。所以似乎需要更多配置来锁定 Safari 流量。我知道这是可能的,因为当尝试使用相同的场景导航到 github.com 时,我收到以下消息:
有谁知道 GitHub 正在做什么来阻止不受信任的连接上的 Safari 流量?
Looks like Safari is supporting HSTS 并且 github 正在使用它。他们的 HTTP 响应包含以下 header:
Strict-Transport-Security:max-age=31536000; includeSubdomains; preload
这样一来,支持 HSTS 的浏览器就知道在可预见的时间内只能使用 https 访问该站点,任何仅使用 http 的尝试都会由浏览器自动升级。
除了仅在首次访问网站后才有效的基本 HSTS github 之外,还添加了 preload
指令。这告诉浏览器制造商,github 喜欢包含在浏览器附带的预加载 HSTS 列表中,这样即使用户以前从未访问过该站点,浏览器也会应用 HSTS。有关详细信息,请参阅 HSTS Preloading。