SameSite Cookie属性の構成サポート
SameSite 属性は、Cookie をクロスサイトコンテキストに使用できるか、同一サイトコンテキストにのみ使用できるかをブラウザに示します。また、アプリケーションがクロスサイトコンテキストでアクセスされる場合は、HTTPS 接続経由でのみアクセスできます。詳細については、 RFC6265を参照してください。
2020年2月まで、SameSite属性はNetScalerで明示的に設定されていませんでした。ブラウザはデフォルト値 (None) を使用しました。SameSite属性を設定しなくても、NetScaler GatewayとCitrix ADC AAAの展開には影響しませんでした。
Google Chrome 80 などの特定のブラウザのアップグレードでは、Cookie のデフォルトのクロスドメイン動作に変更があります。 SameSite 属性は、次のいずれかの値に設定できます。Google Chromeのデフォルト値はLaxに設定されています。他のブラウザーの特定のバージョンでは、SameSite 属性のデフォルト値が None に設定されている場合があります。
-
なし:ブラウザがセキュアな接続でのみクロスサイトコンテキストで Cookie を使用するように指示します。
-
Lax: 同じサイトコンテキストのリクエストに Cookie を使用するようにブラウザに指示します。クロスサイトコンテキストでは、GETリクエストのような安全なHTTPメソッドのみがCookie を使用できます。
-
厳格:Cookie は同じサイトコンテキストでのみ使用します。
Cookie に SameSite 属性がない場合、Google Chrome は SameSite = Lax の機能を想定しています。 その結果、ブラウザーによって Cookie を挿入する必要があるクロスサイトコンテキストを持つ iframe 内の展開では、Google Chrome はクロスサイト Cookie を共有しません。その結果、Web サイト内の iframe が読み込まれないことがあります。
SameSite Cookie 属性を設定する
SameSiteという名前の新しいCookie 属性がVPNおよびCitrix ADC AAA仮想サーバーに追加されます。この属性は、グローバルレベルおよび仮想サーバレベルで設定できます。
SameSite 属性を設定するには、以下を実行する必要があります:
-
仮想サーバーの SameSite 属性を設定する
-
クッキーをパッチセットにバインドする (ブラウザがドロップした場合、クロスサイトクッキーはブラウザによってドロップされる)
CLI を使用して SameSite 属性を設定する
仮想サーバーレベルでSameSite属性を設定するには、次のコマンドを使用します。
set vpn vserver VP1 -SameSite [ STRICT | LAX | None ]
set aaa vserver VP1 -SameSite [ STRICT | LAX | None ]
グローバルレベルで SameSite 属性を設定するには、次のコマンドを使用します。
set vpn param VP1 -SameSite [ STRICT | LAX | None ]
set aaa param VP1 -SameSite [ STRICT | LAX | None ]
注:仮想サーバーレベルの設定は、グローバルレベル設定よりも優先されます。Citrix では、仮想サーバーレベルでSameSiteCookie 属性を設定することをお勧めします。
CLI を使用してクッキーをパッチセットにバインドする
ブラウザがクロスサイトクッキーをドロップした場合、そのCookie 文字列を既存の NS_cookies_SameSite パッチセットにバインドして、SameSite 属性がCookie に追加されるようにすることができます。
例:
bind patset ns_cookies_SameSite "NSC_TASS"
bind patset ns_cookies_SameSite "NSC_TMAS"
