Citrix ADC

書き換えアクションの設定

警告

リライトアクションのパターン機能は、Citrix ADC 12.0ビルド56.20以降では非推奨になっています。また、リライトアクションの検索パラメータを使用することをお勧めします。

書き換え機能を有効にした後、組み込みの書き換えアクションで十分でない限り、1 つ以上のアクションを設定する必要があります。すべての組み込みアクションの名前は、文字列 ns_cvpn で始まり、その後に英字とアンダースコア文字が続きます。組み込みアクションは、クライアントレス VPN 要求または応答の一部をデコードしたり、JavaScript または XML データの変更など、便利で複雑なタスクを実行します。組み込みアクションは、表示、有効化、無効化できますが、変更や削除はできません。

TCP 書き換えのアクションのターゲット式は、次のいずれかの式プレフィックスで開始する必要があります。

  • CLIENT.TCP.PAYLOAD. クライアント要求の TCP ペイロードを書き換えるため。例: CLIENT.TCP.PAYLOAD(10000).AFTER_STR(“string1”)。
  • SERVER.TCP.PAYLOAD. サーバ応答の TCP ペイロードを書き換えるため。たとえば、サーバー.TCP.ペイロード (1000) .B64DECODE.BETWEEN (「文字列 1”,” 文字列 2”) のように指定します。

書き換える文字列を識別するために、これらのプレフィックスを持つすべてのタイプの既存の文字列操作関数を使用できます。書き換えアクションを設定するには、名前を割り当て、アクションタイプを指定し、追加データを指定する 1 つ以上の引数を追加します。次の表に、アクションの種類とアクションで使用する引数を示します。

注:

HTTP 書き換えにのみ使用できるアクションタイプは、[書き換え アクションタイプ] 列で識別されます。

詳細については、リライトアクションタイプpdfを参照してください。

コマンドラインインターフェイスを使用して新しい書き換えアクションを作成するには

コマンドプロンプトで、次のコマンドを入力して、新しい書き換えアクションを作成し、構成を確認します。

  • add rewrite action <name> <type> <target> [<stringBuilderExpr>] [(-pattern <expression> | -patset <string>)] [-bypassSafetyCheck (YES|NO)]
  • show rewrite action <name>

例 1. クライアント IP での HTTP ヘッダーの挿入

> add rewrite action insertact INSERT_HTTP_HEADER "client-IP" CLIENT.IP.SRC
Done

> show rewrite action insertact

        Name: insertact
        Operation: insert_http_header   Target:Client-IP
        Value:CLIENT.IP.SRC
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done

例 2. TCPペイロード内の文字列の置換(TCP書き換え)

> add rewrite action client_tcp_payload_replace_all REPLACE_ALL
  'client.tcp.payload(1000)' '"new-string"' -search text("old-string")
 Done
> show rewrite action client_tcp_payload_replace_all

        Name: client_tcp_payload_replace_all
        Operation: replace_all
        Target:client.tcp.payload(1000)
        Value:"new-string"
        Search: text("old-string")
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done
>

コマンドラインインターフェイスを使用して既存の書き換えアクションを変更するには

コマンドプロンプトで次のコマンドを入力して、既存の書き換えアクションを変更し、構成を確認します。

  • set rewrite action <name> [-target <string>] [-stringBuilderExpr <string>] [(-pattern <expression> | -patset <string>)] [-bypassSafetyCheck (YES|NO)]
  • show rewrite action <name>

:


> set rewrite action insertact -target "Client-IP"
 Done
> show rewrite action insertact

        Name: insertact
        Operation: insert_http_header   Target:Client-IP
        Value:CLIENT.IP.SRC
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done

コマンドラインインターフェイスを使用して書き換えアクションを削除するには

コマンドプロンプトで、次のコマンドを入力して、書き換え操作を削除します。

rm rewrite action <name>

:


> rm rewrite action insertact
Done

構成ユーティリティを使用して書き換えアクションを構成するには

  1. [AppExpert] > [書き換え] > [アクション]に移動します。
  2. 詳細ウィンドウで、次のいずれかの操作を行います。
    • 新しいアクションを作成するには、[追加] をクリックします。
    • 既存のアクションを変更するには、アクションを選択し、[開く] をクリックします。
  3. [作成] または [OK] をクリックします 。ステータスバーに、アクションが正常に構成されたことを示すメッセージが表示されます。
  4. 手順 2 ~ 4 を繰り返して、必要な数の書き換えアクションを作成または変更します。
  5. [閉じる] をクリックします。

[式の追加] ダイアログボックスを使用して式を追加するには

  1. [書き換えアクションの作成] または [書き換えアクションの設定] ダイアログボックスで、入力する type 引数のテキスト領域の下にある [追加] をクリックします。
  2. [式の追加] ダイアログボックスの最初のリストボックスで、式の最初の用語を選択します。

    • HTTP. HTTP プロトコル。HTTP プロトコルに関連するリクエストの側面を調べる場合は、これを選択します。
    • SYS. 保護された Web サイト。リクエストの受信者に関連するリクエストの側面を調べる場合は、これを選択します。
    • CLIENT。要求を送信したコンピュータ。リクエストの送信者の一部を調べる場合は、これを選択します。

選択すると、右端のリストボックスには、式の次の部分に適した用語が一覧表示されます。

  1. 2 番目のリストボックスで、式の 2 番目の項を選択します。選択内容は、前のステップで行った選択内容によって異なり、コンテキストに適切です。2 番目の選択を行うと、[式を構築] ウィンドウの下にある [ヘルプ] ウィンドウ (空白) に、選択した用語の目的と使用方法を示すヘルプが表示されます。

  2. 式が終了するまで、前のリストボックスの右側に表示されるリストボックスから用語を選択するか、値の入力を求めるテキストボックスに文字列または数値を入力します。 PI 式言語およびレスポンダポリシーの式の作成の詳細については、「ポリシーと式」を参照してください。

サンプル HTTP データに対してリライトアクションを使用した場合のエフェクトをテストする場合は、リライト式エバリュエータを使用できます。

注:

リライト式エバリュエータは、設定ユーティリティでのみ使用できます。Citrix ADC コマンドラインバージョンはありません。

[リライトアクションエバリュエーター] ダイアログボックスを使用してリライトアクションを評価するには

  1. [書き換え操作] の詳細ウィンドウで、評価する書き換え操作を選択し、[評価] をクリックします。
  2. [式評価を書き換え] ダイアログボックスで、次のパラメータの値を指定します。(アスタリスクは必須パラメータを示します)。

    [Rewrite Action]:評価するリライトアクションがまだ選択されていない場合は、ドロップダウンリストから選択します。「書き換え」アクションを選択すると、「詳細」セクションに、選択した書き換えアクションの詳細が表示されます。 「新規」(New)-「新規」(New) を選択して「書き換えアクションの作成」(Create Rewrite Action) ダイアログボックスを開き、新しい書き換えアクションを作成します。 [Modify]:[Modify] を選択して [Configure Rewrite Action] ダイアログボックスを開き、選択したリライトアクションを変更します。 [Flow Type]:選択した書き換えアクションを HTTP 要求データまたは HTTP 応答データでテストするかどうかを指定します。デフォルトは [要求] です。応答データを使用してテストする場合は、[応答] を選択します。 [HTTP 要求/応答データ*]:Rewrite アクションエバリュエータがテストに使用する HTTP データを提供する場所です。データをウィンドウに直接貼り付けるか、[サンプル] をクリックしてサンプル HTTP ヘッダーを挿入できます。 [Show end of line]:サンプル HTTP データの各行の末尾に UNIX スタイルの行末文字(n)を表示するかどうかを指定します。 [サンプル]:サンプル HTTP データを [HTTP 要求/応答データ] ウィンドウに挿入します。GET または POST データを選択できます。 [Browse]:ローカルブラウズウィンドウが開き、ローカルロケーションまたはネットワークロケーションからサンプル HTTP データを含むファイルを選択できます。 [Clear]:[HTTP 要求/応答データ] ウィンドウから現在のサンプル HTTP データを消去します。

  3. [評価] をクリックします。リライト・アクション・エバリュエータ は、選択したサンプル・データに対するリライト・アクションの影響を評価し、選択した リライト ・アクションによって変更された結果を 「結果 」ウィンドウに表示します。追加と削除は、ダイアログボックスの左下隅にある凡例に示されているように強調表示されます。
  4. すべてのアクションが望む効果が得られると判断するまで、Rewrite アクションの評価を続けます。

    • [修正] をクリックして [書き換えアクションの 構成] ダイアログボックスを開き、変更を加えて保存し、再度 [評価] をクリックすると、選択した書き換えアクション を修正し、修正したバージョンをテストできます。
    • 同じ要求または応答データを使用して別の書き換えアクションを評価するには、[Rewrite Action] ドロップダウンリストから選択してから、[Evaluate] を再度クリックします。
  5. [閉じる] をクリックして [ 書き換え式評価子] を閉じ、[ 書き換え操作] ウィンドウに戻ります。

  6. リライトアクションを削除するには、削除するリライトアクションを選択し、[ 削除] をクリックします。プロンプトが表示されたら、[OK] をクリックして選択を確定します。