【发布时间】:2011-08-15 22:50:53
【问题描述】:
我有一个包含 2 个子域的域,如下所示:www.domain.com 和 secure.domain.com(带有 ssl)。 www 子域将运行 vbulletin(容易受到 xss 攻击),并且安全子域背后的 web 服务很好,更安全,并且对攻击更敏感,因为那里涉及真钱。 domain.com 是 301 重定向到 www.domain.com。现在我想在不影响安全子域的安全性的情况下对这两个服务进行单点登录。在我看来,有两种方法可以做到这一点:
使用 OpenID 并在认证成功后,将 cookie 域分别设置为子域,例如 .www.domain.com 和 .secure.domain.com,这样secure.domain.com cookie 就不会发送给攻击者如果 www.domain.com 遭到入侵
仅允许用户从 secure.domain.com 登录并设置 2 个 cookie,1 个使用 .domain.com 用于无缝验证 www.domain.com,另一个 cookie 使用 .secure.domain.com 进行验证用户已通过安全子域进行身份验证。
我的理解是,当涉及到跨单个域及其子域上的多个 Web 应用程序的 sso 时,在顶级域(例如 domain.com)上运行任何应用程序都会存在潜在的安全风险,因为顶级域上的应用程序将始终发送子域设置的所有cookie,子域将能够设置和接收顶级域的cookie。
问题是这样的:我的假设是正确的还是我遗漏了什么?
【问题讨论】:
标签: security cookies xss single-sign-on vbulletin