ADC

SameSite cookie 属性的配置支持

SameSite 属性指示浏览器能够将 cookie 用于跨站点环境还是仅用于同一站点环境。此外,如果应用程序打算在跨站点上下文中访问,则只能通过 HTTPS 连接进行访问。有关详细信息,请参阅 RFC6265。

直到 2020 年 2 月,NetScaler 才明确设置了 SameSite 属性。浏览器采用了默认值 (None)。未设置 SameSite 属性不会影响 NetScaler Gateway 以及身份验证、授权和审核部署。

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

  • :表示浏览器仅在安全连接时在跨站点上下文中使用 cookie。
  • Lax: 表示浏览器对同一域和跨站点的请求使用 Cookie。对于跨站点,只有像 GET 请求这样的安全 HTTP 方法才能使用 cookie。例如,一个子域 abc.example.com 的 GET 请求可以使用 GET 读取另一个子域 xyz.example.com 的 cookie。 对于跨站点,仅使用安全 HTTP 方法,因为安全 HTTP 方法不会更改服务器状态。有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#lax
  • Strict(严格):仅在同一站点环境中使用 cookie。

如果 cookie 中没有 SameSite 属性,Google Chrome 将假定 SameSite = Lax 的功能。 因此,对于需要浏览器插入 Cookie 的跨站点上下文的 iframe 中的部署,Google Chrome 不会共享跨站点的 Cookie。因此,Web 站点中的 iframe 可能无法加载。

名为 SameSite 的新 cookie 属性将添加到 VPN 以及身份验证、授权和审核虚拟服务器中。可以在全局级别和虚拟服务器级别设置此属性。

要配置 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]
<!--NeedCopy-->

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

set aaa parameter -SameSite [STRICT | LAX | None]
set vpn parameter -SameSite [STRICT | LAX | None]
<!--NeedCopy-->

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

如果浏览器丢弃跨站点 cookie,您可以将该 cookie 字符串绑定到现有 ns_cookies_SameSite patset,以便将 SameSite 属性添加到 cookie 中。

示例:

bind patset ns_cookies_SameSite "NSC_TASS"
bind patset ns_cookies_SameSite "NSC_TMAS"
<!--NeedCopy-->

使用 GUI 设置 SameSite 属性

要在虚拟服务器级别设置 SameSite 属性,请执行以下操作:

  1. 导航到 安全 > AAA — 应用程序流量 > 虚拟服务器。
  2. 选择虚拟服务器,然后单击 Edit(编辑)。
  3. 单击 Basic Settings(基本设置)部分中的编辑图标,然后单击 More(更多)。
  4. SameSite 中,根据需要选择该选项。

选中“SameSite”复选框

要在全局级别设置 SameSite 属性,请执行以下操作:

  1. 导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Change Authentication Settings(更改身份验证设置)。

    更改身份验证设置

  2. Configure AAA Parameter(配置 AAA 参数)页面中,单击 SameSite 列表,然后根据需要选择该选项。

SameSite cookie 属性的配置支持