16.7. CSRF attacks
Cross-site request forgery (CSRF)攻击使用来自该网站的用户的 HTTP 请求已通过身份验证。使用基于 Cookie 的验证的任何站点都容易受到 CSRF 攻击。您可以通过将状态 Cookie 与发布的形式或查询参数匹配来缓解这些攻击。
OAuth 2.0 登录规格要求状态 Cookie 与传输的 state 参数匹配。Red Hat Single Sign-On 会完全实现此部分规格,因此所有登录都受到保护。
Red Hat Single Sign-On Admin Console 是一个 JavaScript/HTML5 应用程序,它为后端的 Red Hat Single Sign-On admin REST API 发出 REST 调用。这些调用都需要 bearer 令牌身份验证,并且由 JavaScript Ajax 调用组成,因此 CSRF 无法进行。您可以配置 admin REST API 以验证 CORS 源。
Red Hat Single Sign-On 中的用户帐户管理部分可能会受到 CSRF 的影响。为防止 CSRF 攻击,Red Hat Single Sign-On 会设置一个 state cookie,并以隐藏的形式字段或查询参数嵌入到操作链接中。Red Hat Single Sign-On 会根据状态 Cookie 检查查询/form 参数,以验证用户是否进行调用。