security - 保护 Web 服务器免受 Safari 中的 MITM 攻击

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

我一直在寻找一种方法来确保我的网络服务器能够抵御中间人攻击。即使我在安全警告后选择继续,Google Chrome 和 Firefox 似乎也会阻止对我的服务器的请求。我正在通过使用 Charles 代理拦截 Https 流量来测试此功能,而无需信任 Mac 上的 Charles 证书。

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

Safari Can't Open

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

最佳答案

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

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

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

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

关于security - 保护 Web 服务器免受 Safari 中的 MITM 攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36504363/

相关文章:

android - AsyncHttpClient 和 org.apache.http.client 在 SSL 站点上失败,而标准 Android 方法运行良好

javascript - 在滚动条上隐藏不透明度为 0.9 的固定 div

css - 字体面 : Special fonts for Safari iOS

css - 这个 CSS hack 在 Safari 中有什么用?

security - 如何使用 libcurl 在客户端应用程序中缓存 SSL 客户端证书密码

php - 使用 PHP MYSQL 加密

security - 构建 API - 发送密码的安全方式

ssl - 是否可以签署 key 长度比 CA 证书更长的服务器证书

c++ - 如何停止应用程序执行

java - SSL 身份验证问题