【问题标题】:Securing web server against MITM attack in Safari在 Safari 中保护 Web 服务器免受 MITM 攻击
【发布时间】:2016-07-29 23:57:39
【问题描述】:

我一直在寻找一种方法来确保我的网络服务器能够抵御中间人的攻击。即使我在安全警告之后选择前进,Google Chrome 和 Firefox 似乎确实可以阻止对我的服务器的请求。我正在通过使用 Charles Proxy 拦截 Https 流量来测试这一点,而无需信任我 Mac 上的 Charles Cert。

当我使用 Safari 运行相同的测试时,如果我选择忽略安全警告,它将让我通过,我希望一定数量的用户会这样做。因此,似乎需要更多配置来锁定 Safari 流量。我知道这是可能的,因为在尝试使用相同场景导航到 github.com 时,我收到以下消息:

有人知道 GitHub 正在做什么来阻止不受信任的连接上的 Safari 流量吗?

【问题讨论】:

    标签: security ssl safari man-in-the-middle


    【解决方案1】:

    Looks like Safari 支持HSTS 并且 github 正在使用它。他们的 HTTP 响应包含以下标头:

    Strict-Transport-Security:max-age=31536000; includeSubdomains; preload
    

    通过这种方式,支持 HSTS 的浏览器知道在可预见的时间内只能使用 https 访问该站点,并且任何仅使用 http 的尝试都将由浏览器自动升级。

    除了基本的 HSTS 仅在第一次访问该站点 github 后才有效之外,还添加了 preload 指令。这告诉浏览器制造商,github 喜欢包含在浏览器附带的预加载 HSTS 列表中,因此即使用户以前从未访问过该站点,浏览器也会应用 HSTS。请参阅HSTS Preloading 了解更多信息。

    【讨论】: