【问题标题】:SSL needed on redirect?重定向需要 SSL?
【发布时间】:2016-01-18 13:43:16
【问题描述】:

我从一个我不是专家的客户那里继承了一个奇怪的情况。这个客户端有 3 个域名,主要的一个是,例如 domain-a.com。他们还有 domain-b.com 和 domain-c.com 重定向到 domain-a.com。所有域都位于同一台服务器上。

所以问题出现了,因为他们在所有 3 个域上都有 SSL 证书,并且 domain-c.com 上的证书已过期,他们需要获得一个新证书。这让我想到,如果只是重定向,他们甚至需要 domain-b 或 domain-c 上的证书吗?还要考虑 domain-c.com 域是他们电子邮件的域,但据我所知,两者并不相互影响。

TL;DR:在重定向到具有 SSL 证书的页面时是否需要 SSL 证书。

【问题讨论】:

  • 如果曾经收到过https://domain-b.com/anythinghttps://domain-c.com/anything 的请求,那么可以。

标签: ssl https ssl-certificate


【解决方案1】:

是的。

重定向是发生在 SSL 信封内的 HTTP 级别操作。
客户端需要“看到”重定向之前与原始主机建立 SSL 连接,然后在完成重定向后,它必须与目标主机建立另一个 SSL 连接。
所以你在重定向到一个页面时肯定需要一个 SSL 证书。

【讨论】:

  • 没有。因为正如您所说,在被重定向后,TSL 握手必须再次使用域-a 完成,所以域-b 上不需要 SSL 连接。但是如果用户尝试访问domain-b.com,那么除非你在 domain-b 上安装了证书,否则她会收到错误消息
【解决方案2】:

如果您通过 TLS 向 domain-b 和 domain-c 发出请求而不是 yes,则您需要对它们提供 TLS 支持。

其中还有一个与安全相关的方面。到 domain-b.com 和 domain-c.com 的纯文本通信意味着纯文本重定向到 domain-a.com。因为它重定向到 SSL,所以只有与 domain-a.com 的通信是安全的。这使得来自 domain-b 和 domain-c 的重定向容易受到 MITM 攻击。攻击者可以拦截请求并将客户端重定向到他们控制的不同站点。

这不容易防止,除非您在所有域上都设置了类似HTTP Strict Transport Security(HSTS,RFC)的东西并且访问者在之前访问过这些网站em> 他们在浏览器的预加载列表中。

无论如何,为了使其更安全:在客户端首次请求三个域中的任何一个时将客户端升级到 TLS,并在从域 b 和域 c 转到域 a 时重定向到 https 而不是 http .在所有域上使用带有预加载和 HTTP Public Key Pinning 的 HSTS,一切顺利。

【讨论】:

    猜你喜欢
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    相关资源
    最近更新 更多