ADC

使用案例:如何对使用 Citrix ADC 设备的网站强制使用安全和 HttpOnly Cookie 选项

Web 管理员可以强制使用 Secure 或 HttpOnly,或者同时使用会话 ID 上的标志以及 Web 应用程序生成的身份验证 cookie。您可以通过在 Citrix ADC 设备上使用 HTTP 负载平衡虚拟服务器和重写策略来修改 SET Cookie 标头以包含这两个选项。

  • HttpOnly - cookie 上的这一选项会导致 Web 浏览器仅使用 HTTP 或 HTTPS 协议返回 cookie。非 HTTP 方法(例如 JavaScript 文档 .cookie 引用)无法访问 cookie。此选项有助于防止由于跨站点脚本而导致的 Cookie 被盗。

    注意

    当 Web 应用程序需要使用客户端脚本(例如 JavaScript 或客户端 Java 小程序)访问 cookie 内容时,您无法使用 HttpOnly 选项。您可以使用本文档中提到的方法仅重写服务器生成的 Cookie,而不是 Citrix ADC 设备生成的 Cookie。例如,AppFirewall、持久性、VPN 会话 cookie 等。

  • Secure - 当传输通过 SSL 加密时,cookie 上的这一选项会导致 Web 浏览器仅返回 cookie 值。此选项可用于防止通过连接窃听窃取 cookie。

注意

以下过程不适用于 VPN 虚拟服务器。

使用 CLI 配置 Citrix ADC 设备以强制使用现有 HTTP 虚拟服务器的安全和 HttpOnly 标志

  1. 创建重写操作。

    此示例配置为同时设置安全标志和 HttpOnly 标志。如果缺少任何一个,请根据需要对其他组合进行修改。

    add rewrite action act_cookie_Secure replace_all http.RES.full_Header ""Secure; HttpOnly; path=/"" -search "regex(re!(path=/\\; Secure; HttpOnly)|(path=/\\; Secure)|(path=/\\; HttpOnly)|(path=/)!)" -bypassSafetyCheck YES
    <!--NeedCopy-->
    

    此策略将“path=/”、“path=/; Secure”、“path=/; Secure; HttpOnly”和“path=/; HttpOnly”的所有实例替换为“Secure; HttpOnly; path=/”。如果大小写不匹配,此正则表达式(正则表达式)将失败。

  2. 创建一个重写策略以触发操作。

    add rewrite policy rw_force_secure_cookie "http.RES.HEADER("Set-Cookie").EXISTS" act_cookie_Secure
    <!--NeedCopy-->
    
  3. 将重写策略绑定到要保护的虚拟服务器。如果使用 Secure 选项,则必须使用 SSL 虚拟服务器。

    bind lb vserver mySSLVServer -policyName rw_force_secure_cookie -priority 100 -gotoPriorityExpression NEXT -type RESPONSE
    <!--NeedCopy-->
    

示例:

以下示例显示了设置 HTTpOnly 标志之前的 cookie

Set-Cookie: CtxsAuthId=C5614491; path=/Citrix/ProdWeb
<!--NeedCopy-->

以下示例显示了设置 httpOnly 标志后的 cookie

Set-Cookie: CtxsAuthId=C5614491; Secure; HttpOnly; path=/Citrix/ProdWeb/
<!--NeedCopy-->

使用 GUI 配置 Citrix ADC 设备以强制使用现有 HTTP 虚拟服务器使用安全和 HttpOnly 标志

  1. 导航到 AppExpert > Rewrite(重写)> Actions(操作),然后单击 Add(添加)以添加新的重写操作。

    配置重写操作

  2. 导航到 AppExpert > 重写 > 策略,然后单击 添加 以添加新的重写策略。

    配置重写策略

  3. 导航到 流量管理 > 负载平衡 > 虚拟服务器,然后将重写(响应)策略绑定到相应的 SSL 虚拟服务器。

    绑定重写策略

使用案例:如何对使用 Citrix ADC 设备的网站强制使用安全和 HttpOnly Cookie 选项