Cookie整合性チェック

最終公開日 : Sep 25, 2026
Cookie の一貫性チェックは、ユーザーから返された Cookie を調べ、Web サイトがそのユーザーに対して設定した Cookie と一致することを確認します。変更された Cookie が見つかると、リクエストが Web サーバーに転送される前にリクエストから削除されます。また、Cookie の暗号化、Cookie のプロキシ、または Cookie へのフラグの追加によって、処理するすべてのサーバー Cookie を変換するように Cookie の一貫性チェックを構成することもできます。このチェックはリクエストとレスポンスに適用されます。
攻撃者は通常、以前に認証されたユーザーになりすまして機密性の高い個人情報にアクセスしたり、バッファオーバーフローを引き起こしたりするために Cookie を改ざんします。バッファオーバーフローチェックは、長い Cookie を使用してバッファオーバーフローを起こそうとする試みから保護します。Cookie の整合性チェックでは、最初のシナリオに焦点を当てます。
ウィザードまたは GUI を使用する場合、 ダイアログボックスの タブで、次のアクションを有効または無効にできます。
  • ブロック
  • ログ
  • 使い方
  • 統計
  • トランスフォーム。有効にすると、Transform アクションによってすべての Cookie が次の設定で指定されているとおりに変更されます。
    • **サーバーの Cookie を暗号化します。**応答をクライアントに転送する前に、Cookie の一貫性チェック緩和リストに記載されているものを除き、Web サーバーによって設定された Cookie を暗号化します。暗号化された Cookie は、クライアントが後続の要求を送信すると復号化され、復号化された Cookie は保護された Web サーバに転送される前に要求に再挿入されます。次の暗号化タイプの 1 つを指定します。
      • **なし。**Cookie を暗号化または復号化しないでください。デフォルト。
      • **復号化のみ。**暗号化された Cookie のみを復号化します。Cookieは暗号化しないでください。
      • **セッションのみを暗号化します。**セッション Cookie のみを暗号化します。永続的な Cookie は暗号化しないでください。暗号化された Cookie をすべて復号化します。
      • **すべてを暗号化します。**セッションCookieと永続的なCookieの両方を暗号化します。暗号化された Cookie をすべて復号化します。 注:Cookie を暗号化する場合、Web App Firewall は Cookie に HttpOnly フラグを追加します。このフラグは、スクリプトが Cookie にアクセスしたり解析したりすることを防ぎます。したがって、このフラグは、スクリプトベースのウイルスやトロイの木馬が復号化された Cookie にアクセスし、その情報を使用してセキュリティを侵害することを防ぎます。これは、 パラメーター設定とは別に処理される パラメーター設定に関係なく行われます。
  • **プロキシサーバーのCookie。**Cookie の一貫性チェックの緩和リストに記載されているものを除き、Web サーバーによって設定されたすべての非永続的 (セッション) Cookie をプロキシします。Cookie は、既存の Web App Firewall セッション Cookie を使用してプロキシされます。Web App Firewall は、保護された Web サーバーによって設定されたセッション Cookie を取り除き、応答をクライアントに転送する前にローカルに保存します。クライアントが後続のリクエストを送信すると、Web App Firewall はセッション Cookie をリクエストに再挿入してから、保護された Web サーバーにリクエストを転送します。次のいずれかの設定を指定します。
    • **なし。**Cookieをプロキシしない。デフォルト。
    • **セッションのみ。**セッション Cookie のみプロキシする。永続的な Cookie をプロキシしない注:Cookie プロキシを有効にした後で無効にした場合 ( に設定した後でこの値を に設定)、Cookie プロキシを無効にする前に確立されたセッションに対して Cookie プロキシが維持されます。したがって、Web App Firewall がユーザーセッションを処理している間は、この機能を安全に無効にできます。
  • Cookieに追加するフラグ。変換中に Cookie にフラグを追加します。次のいずれかの設定を指定します。
    • **なし。**Cookieにフラグを追加しないでください。デフォルト。
    • **HTTP のみ。**httpOnly フラグをすべてのCookieに追加します。HttpOnly フラグをサポートするブラウザでは、このフラグが設定された Cookie にスクリプトからアクセスすることはできません。
    • セキュア。SSL 接続でのみ送信される Cookie に Secure フラグを追加します。Secure フラグをサポートするブラウザは、フラグ付きの Cookie をセキュアでない接続で送信しません。
    • **。**すべての Cookie に HttpOnly フラグを追加し、SSL 接続でのみ送信される Cookie に Secure フラグを追加します。
コマンドラインインターフェイスを使用する場合は、次のコマンドを入力して Cookie 整合性チェックを設定できます。
  • set appfw profile <name> -cookieConsistencyAction [**block**] [**learn**] [**log**] [**stats**] [**none**]
  • set appfw profile <name> -cookieTransforms ([**ON**] | [**OFF**])
  • set appfw profile <name> -cookieEncryption ([**none**] | [**decryptOnly**] | [**encryptSession**] | [**encryptAll**])
  • set appfw profile <name> -cookieProxying ([**none**] | [**sessionOnly**])
  • set appfw profile <name> -addCookieFlags ([**none**] | [**httpOnly**] | [**secure**] | [**all**])
Cookie 整合性チェックの緩和を指定するには、GUI を使用する必要があります。 ダイアログボックスの タブで、 をクリックして ダイアログボックスを開くか、既存のリラクゼーションを選択して をクリックして ダイアログボックスを開きます。どちらのダイアログボックスにも、リラクゼーションを構成するための同じオプションが表示されます。
Cookie整合性チェック緩和の例を以下に示します。
  • **ログオンフィールド。**次の式は、文字列 logon_ で始まり、その後に 2 文字以上 15 文字以下の文字または数字の文字列が続くすべての Cookie 名を除外します。
    ^logon_[0-9A-Za-z]{2,15}$
  • **ログオンフィールド (特殊文字)。**次の式では、文字列 türkçe-logon_ で始まり、その後に 2 文字以上 15 文字以下の文字または数字の文字列が続くすべての Cookie 名が除外されます。
    ^txC3xBCrkxC3xA7e-logon_[0-9A-Za-z]{2,15}$
  • **任意の文字列。**sc-item_という文字列にユーザーがショッピングカートに追加した商品の ID ( +)、2 つ目のアンダースコア (_)、最後に希望する商品の数([1-9][0-9]?)が続くクッキーをユーザーが変更できるようにします。
    ^sc-item_[0-9A-Za-z]+_[1-9][0-9]?$
注意:正規表現は強力です。特に PCRE 形式の正規表現に慣れていない場合は、作成した正規表現をすべて再確認してください。例外として追加する URL を正確に定義し、それ以外は何も定義していないことを確認してください。ワイルドカード、特にドットとアスタリスク(.*)メタキャラクタとワイルドカードの組み合わせを不注意に使用すると、意図しないWebコンテンツへのアクセスをブロックしたり、Cookieの一貫性チェックでそうしない攻撃を許可したりするなど、望ましくない結果が得られる可能性があります。ブロックされています。
Related information