Citrix ADC

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

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

  • 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;Path =/\"" -search "regex(re!(Path =/\\;安全的;HttpOnly) | (path = / \ \;安全)| (path = / \ \;HttpOnly) |(路径= /)!)”-bypassSafetyCheck YES 

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

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

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

    绑定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. 导航到AppExpert >重写> Actions,并按添加添加一个新的重写操作。

    配置重写操作

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

    配置重写策略

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

    绑定重写策略

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