Citrix ADC

AppFlow機能の構成

AppFlowは、他のほとんどのポリシーベースの機能と同じ方法で構成します。まず、AppFlow機能を有効にします。次に、フローレコードの送信先となるコレクタを指定します。その後、アクションを定義します。アクションは、設定されたコレクタのセットです。次に、1 つ以上のポリシーを設定し、各ポリシーにアクションを関連付けます。このポリシーは、関連するアクションに送信されるフローレコードの選択要求をCitrix ADCアプライアンスに指示します。最後に、各ポリシーをグローバルに、または特定の仮想サーバーにバインドして、ポリシーを有効にします。

さらにAppFlowパラメータを設定して、テンプレートの更新間隔を指定し、httpURL、httpCookie、およびhttpReferer情報のエクスポートを有効にすることもできます。各コレクターで、エクスポータのアドレスとしてCitrix ADC IPアドレスを指定する必要があります。

Citrix ADCをコレクターのエクスポーターとして構成する方法については、特定のコレクターのドキュメントを参照してください。

構成ユーティリティは、ユーザーがポリシーとアクションを定義するのに役立つツールを提供します。これは、Citrix ADCアプライアンスが特定のフローのレコードをコレクターのセットにエクスポートする方法を正確に決定します(アクション)。コマンドラインインターフェイスは、コマンドラインを好む経験豊富なユーザーに対応するCLIベースのコマンドのセットを提供します。

AppFlow の有効化

AppFlow機能を使用するには、まずAppFlow機能を有効にする必要があります。

AppFlowは、nCore Citrix ADCアプライアンスでのみ有効にできます。

コマンドラインインターフェイスを使用してAppFlow機能を有効にするには

コマンドプロンプトで、次のコマンドのいずれかを入力します。

enable ns feature AppFlow
<!--NeedCopy-->

構成ユーティリティを使用してAppFlow機能を有効にするには

[システム] > [設定] に移動し、[詳細機能の設定] をクリックして、[AppFlow] オプションを選択します。

コレクタの指定

コレクタは、Citrix ADC アプライアンスによって生成されたAppFlow レコードを受信します。AppFlowレコードを送信するには、少なくとも1つのコレクタを指定する必要があります。デフォルトでは、コレクタは UDP ポート 4739 で IPFIX メッセージをリッスンします。コレクタを設定するときに、デフォルトポートを変更できます。同様に、デフォルトでは、NSIPがAppFlowトラフィックの送信元IPとして使用されます。コレクターを構成するときに、このデフォルトの送信元IPをSNIPアドレスに変更できます。未使用のコレクターを削除することもできます。

コマンドラインインターフェイスを使用してコレクタを指定するには

重要

Citrix ADCリリース12.1ビルド55.13以降、使用するコレクターのタイプを指定できます。add appflow collectorコマンドに新しいパラメータ「Transport」が導入されました。デフォルトでは、コレクターはIPFIXメッセージをリッスンします。「Transport」パラメータを使用して、コレクタのタイプをlogstreamまたはipfixまたはリセットのいずれかに変更できます。構成の詳細については、例を参照してください。

コマンドプロンプトで次のコマンドを入力して、コレクタを追加し、構成を確認します。

-  add appflow collector <name> -IPAddress <ipaddress> -port <port_number> -netprofile <netprofile_name> -Transport <Transport>

-  show appflow collector <name>  
<!--NeedCopy-->

add appflow collector col1 -IPaddress 10.102.29.251 -port 8000 -netprofile n2 -Transport ipfix
<!--NeedCopy-->

コマンドラインインターフェイスを使用して複数のコレクタを指定するには

コマンドプロンプトで次のコマンドを入力して、同じデータを追加して複数のコレクターに送信します。

add appflow collector <collector1> -IPAddress <IP>

add appflow collector <collector2> -IPAddress <IP>

add appflow action <action> -collectors <collector1> <collector2>

add appflow policy <policy> true <action>

bind lbvserver <lbvserver> -policy <policy> -priority <priority>
<!--NeedCopy-->

構成ユーティリティを使用して 1 つ以上のコレクタを指定するには

「システム」>「AppFlow」>「コレクター」に移動し、AppFlowコレクターを作成します。

AppFlowアクションの構成

AppFlowアクションはセットコレクターであり、関連付けられたAppFlowポリシーが一致した場合にフローレコードが送信されます。

コマンドラインインターフェイスを使用してAppFlowアクションを構成するには

コマンドプロンプトで、次のコマンドを入力してAppFlowアクションを構成し、構成を確認します。

add appflow action <name> --collectors <string> ... [-clientSideMeasurements (Enabled|Disabled) ] [-comment <string>]

show appflow action  
<!--NeedCopy-->

add appflow action apfl-act-collector-1-and-3 -collectors collector-1 collecter-3
<!--NeedCopy-->

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

「システム」>「AppFlow」>「アクション」に移動し、AppFlowアクションを作成します。

AppFlowポリシーの構成

AppFlowアクションを構成したら、次にAppFlowポリシーを構成する必要があります。AppFlowポリシーは、1つ以上の式で構成されるルールに基づいています。

AppFlowポリシーを作成および管理するために、構成ユーティリティは、コマンドラインインターフェイスでは利用できない支援を提供します。

コマンドラインインターフェイスを使用してAppFlowポリシーを構成するには

コマンドプロンプトで次のコマンドを入力して、AppFlowポリシーを追加し、構成を確認します。

add appflow policy <name> <rule> <action>

show appflow policy <name>
<!--NeedCopy-->

add appflow policy apfl-pol-tcp-dsprt client.TCP.DSTPORT.EQ(22) apfl-act-collector-1-and-3
<!--NeedCopy-->

構成ユーティリティを使用してAppFlowポリシーを構成するには

「システム」>「AppFlow」>「ポリシー」に移動し、AppFlowポリシーを作成します。

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

  1. [式の追加] ダイアログボックスの最初のリストボックスで、式の最初の用語を選択します。

    • HTTP HTTP プロトコル。HTTPプロトコルに関連するリクエストのいくつかの側面を調べる場合は、オプションを選択します。
    • SSL

      保護されたウェブサイト。リクエストの受信者に関連するリクエストのいくつかの側面を調べる場合は、オプションを選択します。

    • クライアント

      要求を送信したコンピュータ。リクエストの送信者のある側面を調べたい場合は、オプションを選択してください。 選択すると、右端のリストボックスには、式の次の部分に適した用語が一覧表示されます。

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

AppFlowポリシーのバインド

ポリシーを有効にするには、ポリシーをグローバルにバインドして、Citrix ADCを通過するすべてのトラフィックに適用するか、特定の仮想サーバーに適用して、その仮想サーバーに関連するトラフィックにのみポリシーが適用されるようにする必要があります。

ポリシーをバインドするときは、ポリシーに優先度を割り当てます。優先順位によって、定義したポリシーが評価される順序が決まります。プライオリティは任意の正の整数に設定できます。

Citrix ADCオペレーティングシステムでは、ポリシーの優先順位は逆の順序で機能します。値が大きいほど、優先順位は低くなります。たとえば、優先度が10、100、および1000の3つのポリシーがある場合、優先度10が割り当てられたポリシーが最初に実行されます。その後、ポリシーは100の優先度で割り当てられ、最後にポリシーは1000の順序を割り当てました。

他のポリシーを任意の順序で追加する余地を十分に残して、必要な順序で評価するように設定することができます。グローバルにバインドするときに、各ポリシー間に50または100の間隔で優先順位を設定することで実現できます。その後、既存のポリシーの優先度を変更せずに、いつでもポリシーを追加できます。

コマンドラインインターフェイスを使用してAppFlowポリシーをグローバルにバインドするには

コマンドプロンプトで次のコマンドを入力して、AppFlowポリシーをグローバルにバインドし、構成を確認します。

bind appflow global <policyName> <priority> [<gotoPriorityExpression [-type <type>] [-invoke (<labelType> <labelName>)]  

show appflow global  
<!--NeedCopy-->

bind appflow global af_policy_lb1_10.102.71.190 1 NEXT -type REQ_OVERRIDE -invoke vserver google
<!--NeedCopy-->

コマンドラインインターフェイスを使用してAppFlowポリシーを特定の仮想サーバーにバインドするには

コマンドプロンプトで次のコマンドを入力して、AppFlowポリシーを特定の仮想サーバーにバインドし、構成を確認します。

bind lb vserver <name> -policyname <policy_name> -priority <priority>
<!--NeedCopy-->

bind lb vserver google -policyname af_policy_google_10.102.19.179 -priority 251
<!--NeedCopy-->

構成ユーティリティを使用してAppFlowポリシーをグローバルにバインドするには

システムに移動> AppFlowで、[ AppFlowポリシーマネージャー]をクリックし、関連するバインドポイント(デフォルトのグローバル)と接続タイプを選択して、AppFlowポリシーをバインドします。

構成ユーティリティを使用してAppFlowポリシーを特定の仮想サーバーにバインドするには

「トラフィック管理」>「負荷分散」>「仮想サーバー」に移動し、仮想サーバーを選択して「ポリシー」をクリックし、AppFlowポリシーをバインドします。

仮想サーバーの AppFlow の有効化

特定の仮想サーバーを通過するトラフィックのみを監視する場合は、それらの仮想サーバー専用のAppFlowを有効にします。AppFlowを有効にして、負荷分散、コンテンツの切り替え、キャッシュリダイレクト、SSL VPN、GSLB、認証仮想サーバーを有効にすることができます。

コマンドラインインターフェイスを使用して仮想サーバーに対してAppFlowを有効にするには

コマンドプロンプトで入力します。

set cs vserver <name> <protocol> <IPAddress> <port> -appflowLog ENABLED
<!--NeedCopy-->

set cs vserver Vserver-CS-1 HTTP 10.102.29.161 80 -appflowLog ENABLED
<!--NeedCopy-->

構成ユーティリティを使用して仮想サーバーでAppFlowを有効にするには

「トラフィック管理」>「コンテンツスイッチング」>「仮想サーバー」に移動し、仮想サーバーを選択し、AppFlowロギングオプションを有効にします。

サービスのAppFlowの有効化

負荷分散仮想サーバーにバインドするサービスに対してAppFlowを有効にできます。

コマンドラインインターフェイスを使用してサービスに対してAppFlowを有効にするには

コマンドプロンプトで入力します。

set service <name> -appflowLog ENABLED
<!--NeedCopy-->

set service ser -appflowLog ENABLED
<!--NeedCopy-->

構成ユーティリティを使用してサービスのAppFlowを有効にするには

「トラフィック管理」>「負荷分散」>「サービス」に移動し、サービスを選択し、AppFlowロギングオプションを有効にします。

AppFlowパラメータの設定

AppFlowパラメータを設定して、コレクタへのデータのエクスポートをカスタマイズできます。

コマンドラインインターフェイスを使用してAppFlowパラメータを設定するには

重要

  • Citrix ADCリリース12.1ビルド55.13から、SNIPの代わりにNSIPを使用してLogstreamレコードを送信できます。set appflow paramコマンドに新しいパラメータ「LogStreamOvernSip」が導入されました。デフォルトでは、「logstreamOverNSIP」パラメーターは「無効」になっているため、「有効」にする必要があります。構成の詳細については、例を参照してください。

  • Citrix ADCリリース13.0ビルド58.xリリース以降、AppFlow機能でWebSaaSアプリケーションオプションを有効にできます。Citrix GatewayサービスからWebまたはSaaSアプリケーションのデータ使用量を受信できるようにすることができます。構成の詳細については、例を参照してください。

コマンドプロンプトで次のコマンドを入力して、AppFlowパラメータを設定し、設定を確認します。

-  set appflow param [-templateRefresh <secs>] [-appnameRefresh <secs>] [-flowRecordInterval <secs>] [-udpPmtu <positive_integer>] [-httpUrl ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpCookie ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpReferer ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpMethod ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpHost ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpUserAgent ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpXForwardedFor ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )][-clientTrafficOnly ( \*\*YES\*\* | \*\*NO\*\*)] [-webSaaSAppUsageReporting ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-logstreamOverNSIP ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )]

-  show appflow Param
<!--NeedCopy-->

set appflow Param -templateRefresh 240 -udpPmtu 128 -httpUrl enabled -webSaaSAppUsageReporting ENABLED -logstreamOverNSIP ENABLED
<!--NeedCopy-->

構成ユーティリティを使用して AppFlow パラメーターを設定するには

「システム」>「AppFlow」に移動し、「AppFlow設定の変更」をクリックして、関連するAppFlowパラメータを指定します。

サブスクライバーIDの難読化のサポート

Citrix ADCリリース13.0ビルド35.xx以降、AppFlow構成が拡張され、レイヤー4またはレイヤー7のAppFlowレコードでMSISDNを難読化するための「subscriberIdObfuscation」アルゴリズムがサポートされるようになりました。ただし、アルゴリズムをMD5またはSHA256として構成する前に、まずAppFlowパラメーターとして有効にする必要があります。このパラメータは、デフォルトでは無効になっています。

CLIを使用してサブスクライバーID難読化アルゴリズムを構成するには

コマンドプロンプトで入力します。

set appflow param [-subscriberIdObfuscation ( ENABLED | DISABLED )  [-subscriberIdObfuscationAlgo ( MD5 | SHA256 )]]
<!--NeedCopy-->

set appflow param –subscriberIdObfuscation ENABLED – subscriberIdObfuscationAlgo SHA256
<!--NeedCopy-->

GUIを使用してサブスクライバーID難読化アルゴリズムを構成するには

  1. [System]>[AppFlow] の順に選択します。
  2. AppFlowの詳細ペインで、[ 設定]の下の[ AppFlow設定の変更]をクリックします。
  3. [AppFlow設定の構成]ページで、次のパラメーターを設定します。

    • サブスクライバーIDの難読化。難読化MSISDNのオプションを有効にします L4/L7 AppFlowレコード。
    • サブスクライバーID難読化アルゴリズム。アルゴリズムタイプをMD5またはSHA256として選択します。
  4. [ OK]をクリックして[閉じる]をクリックします。

    サブスクライバーIDの難読化

例:DataStream 用の AppFlow の設定

次の例は、コマンドラインインターフェイスを使用して AppFlow を DataStream 用に構成する手順を示しています。

enable feature appflow

add db user sa password freebsd

add lbvserver lb0 MSSQL 10.102.147.97 1433 -appflowLog ENABLED

add service sv0 10.103.24.132 MSSQL 1433 -appflowLog ENABLED

bind lbvserver lb0 sv0

add appflow collector col0 -IPAddress 10.102.147.90

add appflow action act0 -collectors col0

add appflow policy pol0 "mssql.req.query.text.contains("select")" act0

bind lbvserver lb0 -policyName pol0 -priority 10
<!--NeedCopy-->

Citrix ADCアプライアンスがデータベース要求を受信すると、アプライアンスは構成済みのポリシーに対して要求を評価します。一致が見つかると、ポリシーで構成されたAppFlowコレクターに詳細が送信されます。