Citrix ADC

对SameSite cookie属性的配置支持

SameSite属性指示浏览器cookie是可用于跨站点上下文还是仅用于同站点上下文。另外,如果应用程序想要在跨站点的上下文中被访问,那么它只能通过HTTPS连接来实现。详细信息请参见RFC6265。

直到2020年2月,Citrix ADC中还没有显式设置SameSite属性。浏览器采用默认值(None)。没有设置SameSite属性不会影响Citrix Gateway和Citrix ADC AAA的部署。

随着某些浏览器的升级,例如谷歌Chrome 80, cookie的默认跨域行为会发生变化。SameSite属性可以设置为以下值之一。“谷歌Chrome”默认设置为“Lax”。对于其他浏览器的某些版本,SameSite属性的默认值可能仍然设置为None。

  • 没有一个:表示浏览器只在安全连接的跨站点上下文中使用cookie。
  • 宽松的:表示浏览器对同站点上下文中的请求使用cookie。在跨站点上下文中,只有像GET请求这样安全的HTTP方法可以使用cookie。
  • 严格的:只在同一站点上下文中使用cookie。

如果在cookie中没有SameSite属性,谷歌Chrome假定SameSite = Lax的功能。因此,在iframe中部署跨站点上下文,需要浏览器插入cookie,谷歌Chrome不共享跨站点cookie。因此,网站内的iframe可能无法加载。

VPN和Citrix ADC AAA虚拟服务器中添加了一个名为SameSite的新cookie属性。可以在全局级别和虚拟服务器级别设置此属性。

配置SameSite属性需要执行以下操作:

  1. 为虚拟服务器设置SameSite属性
  2. 将cookie绑定到patset(如果浏览器删除跨站点cookie)

使用CLI设置SameSite属性

要在虚拟服务器级别设置SameSite属性,可以使用以下命令。

set vpn vserver VP1 -SameSite [STRICT | LAX | None] set authentication vserver AV1 -SameSite [STRICT | LAX | None] 

要在全局级别设置SameSite属性,请使用以下命令。

set aaa parameter -SameSite [STRICT | LAX | None] set vpn parameter -SameSite [STRICT | LAX | None] 

请注意:虚拟服务器级别优先于全局服务器级别。Citrix建议在虚拟服务器级别设置SameSite cookie属性。

通过CLI将cookie绑定到patset上

如果浏览器丢弃了跨站cookie,你可以将该cookie字符串绑定到现有的ns_cookies_SameSite patset上,这样SameSite属性就会被添加到cookie中。

例子:

bind patset ns_cookies_SameSite "NSC_TASS" 

使用GUI设置SameSite属性

在虚拟服务器级别设置SameSite属性。

  1. 导航到安全> AAA -应用流量>虚拟服务器。
  2. 选择虚拟服务器,单击编辑
  3. 控件中的编辑图标基本设置S部分,点击更多的
  4. SameSite,根据需要选择。

选中“SameSite”复选框

在全局级别设置SameSite属性:

  1. 导航到安全> AAA -应用流量>修改认证设置。

    改变身份验证设置

  2. AAA配置参数页面,点击SameSite列表,并根据需要选择选项。

    选择SameSite选项

对SameSite cookie属性的配置支持

在这篇文章中