ADC

ユースケース:NetScalerアプライアンスを使用してWebサイトに対してセキュアおよびHTTPOnly Cookieオプションを強制する方法

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

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

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

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

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

CLIを使用して既存のHTTP仮想サーバーに対してセキュアフラグとHTTPOnlyフラグを強制するようにNetScalerアプライアンスを構成するには

  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」のすべてのインスタンスを「セキュア; 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 フラグを設定する前にクッキーを示しています。

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

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

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

GUIを使用して既存のHTTP仮想サーバーに対してセキュアフラグとHTTPOnlyフラグを強制するようにNetScalerアプライアンスを構成するには

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

    書き換えアクションを構成する

  2. AppExpert > 書き換え > ポリシーに移動し、[ 追加 ] をクリックして新しい書き換えポリシーを追加します。

    書き換えポリシーの構成

  3. [ トラフィック管理] > [負荷分散] > [仮想サーバー] に移動し、書き換え (応答) ポリシーを対応する SSL 仮想サーバーにバインドします。

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

ユースケース:NetScalerアプライアンスを使用してWebサイトに対してセキュアおよびHTTPOnly Cookieオプションを強制する方法