Citrix ADC

ユースケース:Citrix ADCアプライアンスを使用してWebサイトにSecureおよびHttpOnly Cookieオプションを強制する方法

Web管理者は、Secure、HttpOnly、またはセッションIDのフラグとWebアプリケーションによって生成される認証Cookieの両方を強制する場合があります。HTTP負荷分散仮想サーバーとCitrix ADCアプライアンスの書き換えポリシーを使用してこれらの2つのオプションを含めるように、Set-cookieヘッダーを変更することができます。

  • HttpOnly - Cookieのこのオプションにより、WebブラウザーはHTTPまたはHTTPSプロトコルのみを使用してCookieを返します。JavaScriptのdocument.cookie参照などの非HTTPメソッドは、Cookieにアクセスできません。このオプションは、クロスサイトスクリプティングによるCookieの盗難を防ぐのに役立ちます。

    JavaScriptやクライアント側のJavaアプレットなどのクライアント側のスクリプトを使用してWebアプリケーションがCookieのコンテンツにアクセスする必要がある場合は、HttpOnlyオプションを使用できません。このドキュメントに記載されている方法を使用すると、サーバーで生成されたCookieのみを書き換えることができ、Citrix ADCアプライアンスで生成されたCookieは書き換えることができません。たとえば、AppFirewall、永続性、VPNセッションのCookieなどです。

  • Secure - Cookieのこのオプションにより、送信がSSLで暗号化されている場合、WebブラウザーはCookieの値のみを返します。このオプションは、接続の傍受によるCookieの盗難を防ぐために使用できます。

次の手順は、VPN仮想サーバーには適用されません。

CLIを使用して既存のHTTP仮想サーバーでSecureフラグとHttpOnlyフラグを強制するようにCitrix ADCアプライアンスを構成するには

  1. 書き換えアクションを作成します。

    この例は、SecureフラグとHttpOnlyフラグの両方を設定するように構成されています。いずれかが欠落している場合は、必要に応じて他の組み合わせに変更してください。

    add rewrite action act_cookie_Secure replace_all http.RES.full_Header ""Secure; HttpOnly; path=/"" -search "regex(re!(path=/\\; Secure; HttpOnly)|(path=/\\; Secure)|(path=/\\; HttpOnly)|(path=/)!)" -bypassSafetyCheck YES
    <!--NeedCopy-->
    

    このポリシーは、次のすべてのインスタンスを置き換えます。「path=/」、「path=/; Secure」、「path=/; Secure; HttpOnly」、「path=/; HttpOnly」と「Secure; HttpOnly; path=/」。大文字と小文字が一致しない場合、この正規表現(regex)は失敗します。

  2. アクションをトリガーするための書き換えポリシーを作成します。

    add rewrite policy rw_force_secure_cookie "http.RES.HEADER("Set-Cookie").EXISTS" act_cookie_Secure
    <!--NeedCopy-->
    
  3. 書き換えポリシーをセキュリティで保護する仮想サーバーにバインドします。Secureオプションを使用する場合は、SSL仮想サーバーを使用する必要があります。

    bind lb vserver mySSLVServer -policyName rw_force_secure_cookie -priority 100 -gotoPriorityExpression NEXT -type RESPONSE
    <!--NeedCopy-->
    

例:

以下は、httpOnlyフラグを設定する前のCookieの例です

Set-Cookie: CtxsAuthId=C5614491; path=/Citrix/ProdWeb
<!--NeedCopy-->

以下は、httpOnlyフラグを設定した後のCookieの例です

Set-Cookie: CtxsAuthId=C5614491; Secure; HttpOnly; path=/Citrix/ProdWeb/
<!--NeedCopy-->

GUIを使用して既存のHTTP仮想サーバーでSecureフラグとHttpOnlyフラグを強制するようにCitrix ADCアプライアンスを構成するには

  1. [AppExpert]>[Rewrite]>[Actions] の順に移動し、[Add] をクリックして新しい書き換えアクションを追加します。

    書き換えアクションの構成

  2. [AppExpert]>[Rewrite]>[Policies] の順に移動し、[Add] をクリックして新しい書き換えアクションを追加します。

    書き換えポリシーの構成

  3. [Traffic Management]>[Load Balancing]>[Virtual Servers] に移動して書き換え(応答)ポリシーを対応するSSL仮想サーバーにバインドします。

    書き換えポリシーのバインド

ユースケース:Citrix ADCアプライアンスを使用してWebサイトにSecureおよびHttpOnly Cookieオプションを強制する方法