Citrix ADC

用例:如何为使用Citrix ADC设备的网站强制Secure和HttpOnly cookie选项

web管理员可以强制使用Secure、HttpOnly或Session ID上的标志和web应用程序生成的身份验证cookie。您可以使用HTTP负载平衡虚拟服务器修改Set-cookie报头以包含这两个选项,并在Citrix ADC设备上重写策略。

  • HttpOnly—cookie上的此选项将导致web浏览器只返回使用HTTP或HTTPS协议的cookie。非http方法,如JavaScript文档。Cookie引用不能访问Cookie。此选项有助于防止由于跨站点脚本编写而导致的cookie盗窃。

    请注意

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

  • 安全—cookie上的此选项使web浏览器在使用SSL加密传输时只返回cookie值。此选项可用于防止通过连接窃听窃取cookie。

请注意

以下步骤不适用于VPN虚拟服务器。

使用CLI配置Citrix ADC设备,强制现有HTTP虚拟服务器使用Secure和HttpOnly标志

  1. 创建一个重写操作。

    这个例子被配置为同时设置Secure和HttpOnly标志。如果其中一个缺失,则根据需要对其他组合进行修改。

    添加重写动作act_cookie_Secure replace_all http.RES。full_Header“\”安全;HttpOnly;路径=/\"" -search "正则表达式(路径=/\\;安全的;HttpOnly) | (path = / \ \;安全)| (path = / \ \;HttpOnly) |(路径= /)!)”<!——NeedCopy >

    该策略替换所有" path=/ ", " path=/;安全”、“路径= /;安全的;HttpOnly " and " path=/;HttpOnly " with " Secure;HttpOnly;路径= /”。如果大小写不匹配,则正则表达式(regex)失败。

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

    添加重写策略rw_force_secure_cookie "http.RES.HEADER(\"Set-Cookie\")“act_cookie_Secure 
  3. 将重写策略绑定到要保护的虚拟服务器。如果安全选项,则必须使用SSL虚拟服务器。

    bind lb vserver mySSLVServer -policyName rw_force_secure_cookie -priority 100 -gotoPriorityExpression NEXT -type RESPONSE 

例子:

下面的示例显示了设置httpOnly标志之前的cookie

set - cookie: CtxsAuthId = C5614491;路径= / Citrix / ProdWeb < !——NeedCopy >

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

set - cookie: CtxsAuthId = C5614491;安全的;HttpOnly;路径= / Citrix / ProdWeb / < !——NeedCopy >

通过使用GUI配置Citrix ADC设备,强制现有HTTP虚拟服务器使用Secure和HttpOnly标志

  1. 导航到重写>动作,并单击添加添加一个新的重写操作。

    配置重写操作

  2. 导航到重写>策略,并单击添加添加新的重写策略。

    配置重写策略

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

    绑定重写策略

用例:如何为使用Citrix ADC设备的网站强制Secure和HttpOnly cookie选项