Citrix ADC

ボット検出

Citrix ADCボット管理システムでは、6つの異なる手法を使用して、着信ボットトラフィックを検出します。この手法は、ボットタイプを検出するための検出ルールとして使用されます。テクニックは、ボット許可リスト、ボットブロックリスト、IPレピュテーション、デバイスフィンガープリント、レート制限、ボットトラップ、TPS、およびCAPTCHAです。

注:

ボット管理では、ブロックリスト、許可リスト、およびレート制限技術について、最大 32 個の構成エンティティがサポートされます。

ボットホワイトリスト。許可リストとしてバイパスできる IP アドレス、サブネット、およびポリシー式のカスタマイズされたリスト。

ボットブラックリスト。Web アプリケーションへのアクセスをブロックする必要のある IP アドレス、サブネット、およびポリシー式のカスタマイズされたリスト。

IP レピュテーション。このルールは、着信ボットトラフィックが悪意のある IP アドレスからのものかどうかを検出します。

デバイスの指紋。このルールは、着信ボットトラフィックの着信リクエストヘッダーにデバイスフィンガープリントIDがあり、着信クライアントボットトラフィックのブラウザ属性があるかどうかを検出します。

制限事項:

  1. クライアントブラウザで JavaScript を有効にする必要があります。
  2. ヘッドレスブラウザではサポートされません。
  3. XML 応答では機能しません。

レート制限。このルールレートでは、同じクライアントからの複数の要求が制限されます。

Botトラップ。クライアントの応答にトラップ URL をアドバタイズすることで、自動ボットを検出してブロックします。クライアントが人間のユーザーの場合、URL は見えず、アクセスできません。この検出技術は、自動ボットからの攻撃を阻止するのに有効です。

TPS。リクエストの最大数とリクエストの増加率が設定された時間間隔を超えた場合、着信トラフィックをボットとして検出します。

CAPTCHA。このルールでは、CAPTCHA を使用してボット攻撃を緩和します。CAPTCHA は、着信トラフィックが人間のユーザーからのものか自動ボットからのものかを判断するためのチャレンジ/レスポンスの検証です。検証は、Web アプリケーションにセキュリティ違反を引き起こす自動ボットをブロックするのに役立ちます。IP レピュテーションおよびデバイスフィンガープリント検出技術では、CAPTCHA をボットアクションとして設定できます。

さて、ボットのトラフィックを検出して管理するための各テクニックを設定する方法を見てみましょう。

アプライアンスをCitrix ADC CLIベースのボット管理構成にアップグレードする方法

アプライアンスを古いバージョン(Citrix ADCリリース13.0ビルド58.32以前)からアップグレードする場合は、最初に既存のボット管理構成をCitrix ADC CLIベースのボット管理構成に手動で1回だけ変換する必要があります。ボット管理構成を手動で変換するには、次の手順を実行します。

  1. 最新バージョンにアップグレードした後、アップグレードツールに接続します “upgrade_bot_config.py” 次のコマンドを使用して

    コマンドプロンプトで、次のように入力します。

    shell "/var/python/bin/python /netscaler/upgrade_bot_config.py > /var/bot_upgrade_commands.txt"

  2. 次のコマンドを使用して構成を実行します。

    コマンドプロンプトで、次のように入力します。

    batch -f /var/bot_upgrade_commands.txt

  3. アップグレードした構成を保存します。

save ns config

Citrix ADC CLI ベースのボット管理を構成する

ボット管理設定を使用すると、1 つ以上のボット検出技術を特定のボットプロファイルにバインドできます。アプライアンスでボット管理機能を有効にすることから、プロセスを開始します。有効にすると、ボット署名ファイルをアプライアンスにインポートします。インポート後、ボットプロファイルを作成する必要があります。次に、着信トラフィックをボットとして評価するためにボットプロファイルがバインドされたボットポリシーを作成し、ポリシーをグローバルまたは仮想サーバーにバインドします。

注:

アプライアンスを古いバージョンからアップグレードする場合は、最初に既存のボット管理構成を手動で変換する必要があります。詳細については、 Citrix ADC CLI ベースのボット管理構成にアップグレードする方法 セクションを参照してください。

Citrix ADCベースのボット管理を構成するには、以下の手順を実行する必要があります。

  1. ボット管理を有効にする
  2. ボット署名のインポート
  3. ボットプロファイルの追加
  4. ボットプロファイルのバインド
  5. ボットポリシーの追加
  6. ボットポリシーをバインド
  7. ボット設定の構成

ボット管理を有効にする

開始する前に、アプライアンスで Bot Management 機能が有効になっていることを確認します。新しいCitrix ADCまたはVPXをお持ちの場合は、構成する前にこの機能を有効にする必要があります。Citrix ADCまたはVPXアプライアンスを以前のバージョンのCitrix ADCソフトウェアバージョンから現在のバージョンにアップグレードする場合は、構成する前にこの機能を有効にする必要があります。コマンドプロンプトで、次のように入力します。

enable ns feature Bot

ボット署名のインポート

デフォルトの署名ボットファイルをインポートし、ボットプロファイルにバインドする必要があります。コマンドプロンプトで、次のように入力します。

import bot signature [<src>] <name> [-comment <string>] [-overwrite]

ここで、 src。インポートした署名ファイルを保存するファイルのローカルパスと名前、または URL(プロトコル、ホスト、パス、ファイル名)。注:インポートするオブジェクトが、アクセスにクライアント証明書認証を必要とする HTTPS サーバー上にある場合、インポートは失敗します。最大長:2047 名。Citrix ADC上のボット署名ファイルオブジェクトに割り当てる名前。これは必須の引数です。最大長:31 コメント. 署名ファイルオブジェクトに関する情報を保持するコメント。最大長:255。 上書きします。既存のファイルを上書きします。 注: overwrite オプションを使用して、署名ファイルのコンテンツを更新します。または、update bot signature <name> コマンドを使用して、Citrix ADCアプライアンスの署名ファイルを更新します。

import bot signature http://www.example.com/signature.json signaturefile -comment commentsforbot –overwrite

注:

上書きオプションを使用して、署名ファイル内のコンテンツを更新できます。また、update bot signature <name> コマンドを使用して、Citrix ADCアプライアンスの署名ファイルを更新することもできます。

ボットプロファイルの追加

ボットプロファイルは、アプライアンス上でボット管理を設定するためのプロファイル設定の集合です。ボット検出を実行する設定を構成できます。

コマンドプロンプトで、次のように入力します。

add bot profile <name> [-signature <string>] [-errorURL <string>] [-trapURL <string>] [-comment <string>] [-whiteList ( ON | OFF )] [-blackList ( ON | OFF )] [-rateLimit ( ON | OFF )] [-deviceFingerprint ( ON | OFF )] [-deviceFingerprintAction ( none | log | drop | redirect | reset | mitigation )] [-ipReputation ( ON | OFF )] [-trap ( ON | OFF )] [-trapAction ( none | log | drop | redirect | reset )] [-tps ( ON | OFF )]

例:

add bot profile profile1 -signature signature -errorURL http://www.example.com/error.html -trapURL /trap.html -whitelist ON -blacklist ON -ratelimit ON -deviceFingerprint ON -deviceFingerprintAction drop -ipReputation ON -trap ON

ボットプロファイルのバインド

ボットプロファイルを作成したら、ボット検出メカニズムをプロファイルにバインドする必要があります。

コマンドプロンプトで、次のように入力します。

bind bot profile <name> ((-blackList [-type ( IPv4 | Subnet | Expression )] [-enabled ( ON | OFF )] [-value <string>] [-action ( log | drop | reset )] [-logMessage <string>] [-comment <string>]) | (-whiteList [-type ( IPv4 | Subnet | Expression )] [-enabled ( ON | OFF )] [-value <string>] [-log ( ON | OFF )] [-logMessage <string>] [-comment <string>])) | (-rateLimit [-type ( session |SOURCE_IP | url )] [-enabled ( ON | OFF )] [-url <string>] [-cookieName <string>] [-rate <positive_integer>] [-timeslice <positive_integer>] [-action ( none | log | drop | redirect | reset )] [-logMessage <string>] [-comment <string>]) | (-ipReputation [-category <ipReputationCategory>] [-enabled ( ON | OFF )] [-action ( none | log | drop | redirect | reset | mitigation )] [-logMessage <string>] [-comment <string>]) | (-captchaResource [-url <string>] [-enabled ( ON | OFF )] [-waitTime <positive_integer>] [-gracePeriod <positive_integer>] [-mutePeriod <positive_integer>] [-requestLengthLimit <positive_integer>] [-retryAttempts <positive_integer>] [-action ( none | log | drop | redirect | reset )] [-logMessage <string>] [-comment <string>]) | (-tps [-type ( SOURCE_IP | GeoLocation | REQUEST_URL | Host )] [-threshold <positive_integer>] [-percentage <positive_integer>] [-action ( none | log | drop | redirect | reset | mitigation )] [-logMessage <string>] [-comment <string>])

例:

次の例は、IPレピュテーション検出技術を特定のボットプロファイルにバインドするためのものです。

bind bot profile profile5 -ipReputation -category BOTNET -enabled ON -action drop -logMessage message

ボットポリシーの追加

ボットトラフィックを評価するためのボットポリシーを追加する必要があります。

コマンドプロンプトで、次のように入力します。

add bot policy <name> -rule <expression> -profileName <string> [-undefAction <string>] [-comment <string>] [-logAction <string>]

各項目の意味は次のとおりです。

名前。ボットポリシーの名前。文字、数字、またはアンダースコア文字 (_) で始まり、文字、数字、ハイフン (-)、ピリオド (.)、ポンド (#)、スペース ()、アットマーク (@)、等しい (=)、コロン (:)、およびアンダースコア文字のみを含める必要があります。ボットポリシーの追加後に変更できます。

Rule. 指定されたリクエストにボットプロファイルを適用するかどうかを決定するためにポリシーが使用する式。これは必須の引数です。最大長さ:1499

profileName. リクエストがこのボットポリシーと一致する場合に適用するボットプロファイルの名前。これは必須の引数です。最大長:127

undefAction. ポリシー評価の結果が未定義(UNDEF)の場合に実行するアクション。UNDEF イベントは、内部エラー状態を示します。最大長:127

コメント。このボットポリシーに関するあらゆる種類の情報。最大長:255

logAction. このポリシーに一致するリクエストに使用するログアクションの名前。最大長:127

例:

add bot policy pol1 –rule "HTTP.REQ.HEADER(\"header\").CONTAINS(\"custom\")" - profileName profile1 -undefAction drop –comment commentforbotpolicy –logAction log1

Bind bot policy global

コマンドプロンプトで、次のように入力します。

bind bot global -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-type ( REQ_OVERRIDE | REQ_DEFAULT )] [-invoke (-labelType ( vserver | policylabel ) -labelName <string>) ]

例:

bind bot global –policyName pol1 –priority 100 –gotoPriorityExpression NEXT -type REQ_OVERRIDE

ボットポリシーを仮想サーバーにバインドする

コマンドプロンプトで、次のように入力します。

bind lb vserver <name>@ ((<serviceName>@ [-weight <positive_integer>] ) | <serviceGroupName>@ | (-policyName <string>@ [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )] [-invoke (<labelType> <labelName>) ] ) | -analyticsProfile <string>@)

例:

bind lb vserver lb-server1 –policyName pol1 –priority 100 –gotoPriorityExpression NEXT -type REQ_OVERRIDE

ボット設定の構成

必要に応じて、デフォルト設定をカスタマイズできます。 コマンドプロンプトで、次のように入力します。

set bot settings [-defaultProfile <string>] [-javaScriptName <string>] [-sessionTimeout <positive_integer>] [-sessionCookieName <string>] [-dfpRequestLimit <positive_integer>] [-signatureAutoUpdate ( ON | OFF )] [-signatureUrl <URL>] [-proxyServer <ip_addr|ipv6_addr|*>] [-proxyPort <port|*>]

各項目の意味は次のとおりです。

defaultProfile. 接続がどのポリシーにも一致しない場合に使用するプロファイル。デフォルト設定は「」です。これは、一致しない接続をさらにフィルタリングしようとせずにCitrix ADCに送り返します。Maximum Length: 31

javaScriptName. ボットネット機能が応答 で使用する JavaScript の名前。文字または数字で始まり、1~31文字の英字、数字、ハイフン(-)およびアンダースコア(_)記号を使用できます。次の要件は、Citrix ADC CLIにのみ適用されます。名前に1つ以上のスペースが含まれる場合は、名前を二重引用符または一重引用符で囲みます(「my cookie name」や「my cookie name」など)。Maximum Length: 31

sessionTimeout. セッションは秒単位でタイムアウトし、その後ユーザーセッションが終了します。

最小値:1, 最大値:65535

sessionCookieName. ボットネット機能がトラッキングに使用するセッションクッキーの名前。文字または数字で始まり、1~31文字の英字、数字、ハイフン(-)およびアンダースコア(_)記号を使用できます。次の要件は、Citrix ADC CLIにのみ適用されます。名前にスペースが1つ以上含まれている場合は、名前を二重引用符または一重引用符で囲みます(「my cookie name」や「my cookie name」など)。Maximum Length: 31

dfpRequestLimit. デバイスフィンガープリントが有効になっている場合にボットセッションCookieなしで許可するリクエストの数。

最小値:1、最大値:4294967295

署名自動更新です。ボットの自動更新署名の有効化/無効化に使用されるフラグ。

設定可能な値:オン、オフ

デフォルト値:OFF

署名URLです。サーバーからボット署名マッピングファイルをダウンロードするためのURL。

デフォルト値:https://nsbotsignatures.s3.amazonaws.com/BotSignatureMapping.json

最大の長さ:2047

ProxyServer。AWS から更新された署名を取得するためのプロキシサーバー IP。

プロキシポート。AWS から更新された署名を取得するプロキシサーバーポート。デフォルト値:8080

例:

set bot settings –defaultProfile profile1 –javaScriptName json.js –sessionTimeout 1000 –sessionCookieName session

Citrix ADC GUIを使用したボット管理の構成

Citrix ADCボット管理を設定するには、まずアプライアンスでこの機能を有効にします。有効にすると、着信トラフィックをボットとして評価し、ボットプロファイルにトラフィックを送信するボットポリシーを作成できます。次に、ボットプロファイルを作成し、そのプロファイルをボット署名にバインドします。代わりに、デフォルトのボット署名ファイルのクローンを作成し、署名ファイルを使用して検出方法を設定することもできます。署名ファイルを作成したら、ボットプロファイルにインポートできます。

ボットの管理ページ

  1. ボット管理機能を有効にする
  2. ボット管理設定の構成
  3. Citrix ボットのデフォルト署名のクローン
  4. Citrix ボット署名をインポートする
  5. ボット署名設定の構成
  6. ボットプロファイルの作成
  7. ボットポリシーの作成

ボット管理機能を有効にする

ボット管理を有効にするには、次の手順を実行します。

  1. ナビゲーションウィンドウで、[システム] を展開し、[設定] をクリックします。
  2. [高度な機能を設定] ページで、[ボット管理] チェックボックスをオンにします。
  3. [OK] をクリックし、[閉じる] をクリックします。

    ボット管理の有効化

デバイスフィンガープリント技術のボット管理設定を構成する

次の手順を実行して、デバイスのフィンガープリント手法を構成します。

  1. Security > Citrix Bot Managementに移動します。
  2. 詳細ペインで、[設定]の下の [Citrix Bot 管理設定の変更] をクリックします。
  3. [Citrix Bot管理設定の構成]で、以下のパラメーターを設定します。

    1. [既定のプロファイル]: ボットプロファイルを選択します。
    2. JavaScriptの名前。ボット管理がクライアントへの応答で使用する JavaScript ファイルの名前。
    3. セッションタイムアウト。ユーザーセッションが終了するまでのタイムアウト(秒単位)。
    4. セッションクッキー。ボット管理システムがトラッキングに使用するセッションクッキーの名前。
    5. デバイスのフィンガープリント要求制限。デバイスフィンガープリントが有効な場合に、ボットセッションクッキーなしで許可するリクエストの数

    ボット管理設定

  4. [OK] をクリックします。

ボット署名ファイルのクローン

次の手順を実行して、ボット署名ファイルのクローンを作成します。

  1. [セキュリティ] > [Citrix Bot 管理署名] に移動します。
  2. Citrix Bot Management Signatures]ページで、デフォルトのボット署名レコードを選択し、[クローン]をクリックします。
  3. [クローンボットの署 名] ページで、名前を入力し、署名データを編集します。
  4. [作成] をクリックします。

    ボット署名ファイルのクローン

ボット署名ファイルのインポート

独自の署名ファイルがある場合は、ファイル、テキスト、または URL としてインポートできます。以下の手順を実行して、ボット署名ファイルをインポートします。

  1. [セキュリティ] > [Citrix Bot 管理署名] に移動します。
  2. Citrix Bot Management Signatures ページで、ファイルを URL、ファイル、またはテキストとしてインポートします。
  3. [続行] をクリックします。

    ボット署名ファイルのインポート

  4. [Citrix Bot 管理署名のインポート]ページで、次のパラメーターを設定します。
    1. 名前。ボット署名ファイルの名前。
    2. コメント。インポートされたファイルに関する簡単な説明。
    3. 上書きします。ファイルの更新中にデータを上書きできるようにするには、このチェックボックスをオンにします。
    4. Signature Data. 署名パラメータの変更
  5. [完了] をクリックします。

    ボット署名ファイルのインポート

Citrix ADC GUIを使用してボット許可リストを構成する

この検出手法により、許可されたリストの URL を設定した URL をバイパスできます。許可リストのURLを構成するには、次の手順を実行します。

  1. [セキュリティ]> [Citrixボット管理] および [プロファイル] に移動します。
  2. Citrixボット管理プロファイル]ページで、ファイルを選択して[編集]をクリックします。
  3. Citrix Bot Managementプロファイル ページで、 署名設定 セクションに移動し、 ホワイトリストをクリックします。
  4. [ホワイトリスト] セクションで、次のパラメータを設定します。
    1. 有効。チェックボックスをオンにすると、検出プロセスの一部として許可リスト URL が検証されます。
    2. タイプを設定します。許可リストのURLを構成します。URL は、ボットの検出中にバイパスされます。[追加] をクリックして、URL をボット許可リストに追加します。
    3. [Citrixボット管理プロファイルのホワイトリストバインディングの構成] ページで、次のパラメーターを設定します。
      1. タイプ。URLタイプは、IPv4アドレス、サブネットIPアドレス、またはポリシー式に一致するIPアドレスにすることができます。
      2. 有効。URL を検証するには、チェックボックスをオンにします。
      3. Value. URL アドレス。
      4. ログ。ログエントリを保存するには、このチェックボックスをオンにします。
      5. Log Message. ログの簡単な説明。
      6. コメント。許可リスト URL に関する簡単な説明。
      7. [OK] をクリックします。

    ボット許可リストの構成

  5. [更新] をクリックします。
  6. [完了] をクリックします。

    ボット許可リストの構成

Citrix ADC GUIを使用してボットブロックリストを構成する

この検出手法により、ブロックリストの URL として設定した URL を削除できます。次の手順を実行して、ブロックリストのURLを構成します。

  1. [セキュリティ]> [Citrixボット管理] および [プロファイル] に移動します。
  2. Citrixボット管理プロファイル]ページで、署名ファイルを選択して[編集]をクリックします。
  3. Citrix Bot Managementプロファイル ページで、「 署名の設定 」セクションに移動し、「 ブラックリスト」をクリックします。
  4. [ブラックリスト] セクションで、次のパラメータを設定します。

    1. 有効。検出プロセスの一部としてブロックリスト URL を検証するには、このチェックボックスをオンにします。
    2. タイプを設定します。ボットブロックリスト検出プロセスの一部となるように URL を設定します。これらの URL は、ボットの検出中に削除されます。[追加] をクリックして、URL をボットブロックリストに追加します。
    3. [Citrixボット管理プロファイルのブラックリストバインディングの構成] ページで、次のパラメーターを設定します。

      1. タイプ。URL タイプには、IPv4 アドレス、サブネット IP アドレス、または IP アドレスを使用できます。
      2. 有効。URL を検証するには、チェックボックスをオンにします。
      3. Value. URL アドレス。
      4. ログ。ログエントリを保存するには、このチェックボックスをオンにします。
      5. Log Message. ログインの簡単な説明。
      6. コメント。ブロックリスト URL に関する簡単な説明。
      7. [OK] をクリックします。

    ボットブロックリストの設定

  5. [更新] をクリックします。
  6. [完了] をクリックします。

    ボットブロックリストの設定

Citrix ADC GUIを使用してIPレピュテーションを構成する

この設定は、ボット IP レピュテーション機能の前提条件です。検出技術を使用すると、着信 IP アドレスから悪意のあるアクティビティがあるかどうかを識別できます。設定の一環として、さまざまな悪意のあるボットのカテゴリを設定し、ボットのアクションをそれぞれに関連付けます。次の手順を実行して、IPレピュテーション手法を設定します。

  1. セキュリティ]> [Citrixボット管理 および プロファイル]に移動します。
  2. Citrixボット管理プロファイル]ページで、署名ファイルを選択して[編集]をクリックします。
  3. Citrixボット管理プロファイル]ページで、[署名の設定]セクションに移動し、[IPレピュテーション]をクリックします。
  4. [IP レピュテーション] セクションで、次のパラメータを設定します。
    1. 有効。チェック・ボックスを選択すると、検出プロセスの一環として受信ボット・トラフィックが検証されます。
    2. カテゴリを設定します。さまざまなカテゴリの着信ボットトラフィックにIPレピュテーション手法を使用できます。設定されたカテゴリに基づいて、ボットトラフィックをドロップまたはリダイレクトできます。[追加] をクリックして、悪意のあるボットのカテゴリを構成します。
    3. [Citrixボット管理プロファイルのIPレピュテーションバインディングの構成] ページで、次のパラメーターを設定します。

      1. Category. リストから悪意のあるボットのカテゴリを選択します。カテゴリに基づいてボットアクションを関連付けます。
      2. 有効。IP レピュテーション署名の検出を検証するには、このチェックボックスをオンにします。
      3. Bot action. 設定されたカテゴリに基づいて、アクションなし、ドロップ、リダイレクト、緩和策、または CAPTCHA アクションを割り当てることができます。
      4. ログ。ログエントリを保存するには、このチェックボックスをオンにします。
      5. Log Message. ログの簡単な説明。
      6. コメント。ボットのカテゴリに関する簡単な説明。
  5. [OK] をクリックします。
  6. [更新] をクリックします。
  7. [完了] をクリックします。

    IP レピュテーションの設定

Citrix ADC GUIを使用してボットレート制限を構成する

この検出手法により、クライアント IP アドレス、セッション、または構成されたリソース (URL など) から事前に定義された時間内に受信した要求の数に基づいて、ボットをブロックできます。次の手順を実行して、レート制限手法を構成します。

  1. [セキュリティ]> [Citrixボット管理] および [プロファイル] に移動します。
  2. Citrixボット管理プロファイル]ページで、署名ファイルを選択して[編集]をクリックします。
  3. Citrixボット管理プロファイル ページで、[署名の設定]セクションに移動し、[レート制限]をクリックします。
  4. [レート制限] セクションで、次のパラメータを設定します。
    1. 有効。チェック・ボックスを選択して、受信ボット・トラフィックを検出プロセスの一部として検証します。
    2. セッション。セッションに基づくレート制限要求。[Add] をクリックして、セッションに基づいてレート制限要求を設定します。
    3. [Citrix Bot Management の署名レート制限の設定] ページで、次のパラメーターを設定します。
      1. Category. リストから悪意のあるボットのカテゴリを選択します。カテゴリに基づいてアクションを関連付けます。
      2. 有効。チェック・ボックスを選択して、着信ボット・トラフィックを検証します。
      3. Bot action. 選択したカテゴリのボットアクションを選択します。
      4. ログ。ログエントリを保存するには、このチェックボックスをオンにします。
      5. Log Message. ログの簡単な説明。
      6. コメント。ボットのカテゴリに関する簡単な説明。
      7. [OK] をクリックします。

    レート制限の設定

  5. [更新] をクリックします。
  6. [完了] をクリックします。

    レート制限の設定

Citrix ADC GUIを使用してデバイスフィンガープリント技術を構成する

この検出技術は、クライアントに Java スクリプトのチャレンジを送信し、デバイス情報を抽出します。デバイス情報に基づいて、この手法はボットトラフィックをドロップまたはバイパスします。検出方法を設定する手順に従います。

  1. [セキュリティ]> [Citrixボット管理] および [プロファイル] に移動します。
  2. Citrixボット管理プロファイル]ページで、署名ファイルを選択して[編集]をクリックします。
  3. Citrixボット管理プロファイル]ページで、[署名の設定]セクションに移動し、[デバイスフィンガープリント]をクリックします。
  4. [デバイスフィンガープリント] セクションで、次のパラメータを設定します。

    1. 有効。ルールを有効にするには、このオプションを設定します。
    2. 構成。指定されたデバイスフィンガープリントに対して、アクション、ドロップ、リダイレクト、緩和策、または CAPTCHA アクションを割り当てません。
    3. ログ。ログエントリを保存するには、このチェックボックスをオンにします。
  5. [更新] をクリックします。
  6. [完了] をクリックします。

デバイスのフィンガープリントの設定

モバイル(Android)アプリケーションのデバイスフィンガープリント手法を構成する

デバイスフィンガープリント技術は、クライアントへのHTML応答にJavaScriptスクリプトを挿入することにより、着信トラフィックをボットとして検出します。JavaScriptスクリプトは、ブラウザーによって呼び出されると、ブラウザーとクライアントの属性を収集し、アプライアンスに要求を送信します。トラフィックがボットであるか人間であるかを判断するために、属性が調べられます。

検出技術はさらに拡張され、モバイル(Android)プラットフォーム上のボットを検出します。Webアプリケーションとは異なり、モバイル(Android)トラフィックでは、JavaScriptスクリプトに基づくボット検出は適用されません。モバイルネットワーク内のボットを検出するために、この手法では、クライアント側のモバイルアプリケーションと統合されたボットモバイルSDKを使用します。SDKは、モバイルトラフィックをインターセプトし、デバイスの詳細を収集して、データをアプライアンスに送信します。アプライアンス側では、検出技術がデータを調べて、接続がボットからのものか人間からのものかを判断します。

モバイルアプリケーションのデバイスフィンガープリント技術のしくみ

次の手順では、モバイルデバイスからのリクエストが人間からのものかボットからのものかを検出するためのボット検出ワークフローについて説明します。

  1. ユーザーがモバイルアプリケーションを操作すると、デバイスの動作がボットモバイルSDKによって記録されます。
  2. クライアントはCitrix ADCアプライアンスに要求を送信します。
  3. アプライアンスは、応答を送信するときに、セッションの詳細とパラメーターを含むボットセッションCookieを挿入して、クライアントパラメーターを収集します。
  4. モバイルアプリケーションが応答を受信すると、モバイルアプリケーションと統合されているCitrixボットSDKが応答を検証し、記録されたデバイスのフィンガープリントパラメータを取得して、アプライアンスに送信します。
  5. アプライアンス側のデバイス指紋検出技術は、デバイスの詳細を検証し、ボットが疑われるかどうかにかかわらず、ボットセッションCookieを更新します。
  6. Cookieの有効期限が切れている場合、またはデバイスの指紋保護がデバイスパラメータを定期的に検証および収集することを好む場合、手順またはチャレンジ全体が繰り返されます。

前提要件

モバイルアプリケーション用のCitrix ADCデバイス指紋検出技術を開始するには、モバイルアプリケーションにボットモバイルSDKをダウンロードしてインストールする必要があります。

CLIを使用して、モバイル(Android)アプリケーションの指紋検出技術を構成します

コマンドプロンプトで、次のように入力します。

set bot profile <profile name> -deviceFingerprintMobile ( NONE | Android )

例:

set bot profile profile 1 –deviceFingerprintMobile Android

GUIを使用して、モバイル(Android)アプリケーションのデバイス指紋検出技術を構成します

  1. [セキュリティ]> [Citrixボット管理] および [プロファイル] に移動します。
  2. Citrixボット管理プロファイル]ページで、ファイルを選択して[編集]をクリックします。
  3. Citrix Bot Management Profile ページで、 ProfileSettingsの 下の DeviceFingerprintをクリックします。
  4. [ ボットモバイルSDK の構成]セクションで、モバイルクライアントの種類を選択します。
  5. [更新] および [完了] をクリックします

モバイルアプリケーション向けのボット管理デバイスの指紋検出技術

ボットトラップ手法を構成する

Citrixボットトラップ技術は、クライアントの応答にトラップURLをランダムまたは定期的に挿入します。トラップURLリストを作成し、 のURLを追加して、クライアントが人間のユーザーの場合、URLが非表示になり、アクセスできないようにすることもできます。ただし、クライアントが自動ボットである場合、URL にアクセスでき、アクセスすると攻撃者はボットに分類され、ボットからの後続のリクエストはブロックされます。トラップ技術は、ボットからの攻撃をブロックするのに効果的です。

トラップURLは、構成可能な長さの英数字のURLであり、構成可能な間隔で自動生成されます。また、この手法では、頻繁にアクセスするWebサイトまたは頻繁にアクセスするWebサイトのトラップインジェクションURLを構成できます。これを行うことで、トラップインジェクションURLに一致するリクエストに対してボットトラップURLをインジェクトする目的を強制できます。

注:

ボットトラップURLは自動生成されますが、Citrix ADCボット管理では、ボットプロファイルでカスタマイズされたトラップURLを構成できます。これは、強化するために行われている ボット検出技術を、それが難しく、攻撃者がトラップURLにアクセスするために作ります。

ボットトラップの構成を完了するには、次の手順を完了する必要があります。

  1. ボットトラップ URL を有効にする
  2. ボットプロファイルでボットトラップURLを設定する
  3. ボットトラップインジェクションURLをボットプロファイルにバインドする
  4. ボット設定でボットトラップのURLの長さと間隔を構成する

ボットトラップのURL保護を有効にする

開始する前に、アプライアンスでボットトラップURL保護が有効になっていることを確認する必要があります。コマンドプロンプトで、次のように入力します。

enable ns feature Bot

ボットプロファイルでボットトラップURLを設定する

ボットトラップURLを構成し、ボットプロファイルでトラップアクションを指定できます。
コマンドプロンプトで、次のように入力します。

add bot profile <name> -trapURL <string> -trap ( ON | OFF ) -trapAction <trapAction>

各項目の意味は次のとおりです。

trapURL。ボット保護がトラップURLとして使用するURL。最大長:127

trap。ボットトラップの検出を有効にします。設定可能な値:ON、OFF、デフォルト値:OFF

trapAction。ボット検出に基づいて実行するアクション。可能な値:NONE、LOG、DROP、REDIRECT、RESET、MITIGATION。デフォルト値:NONE

例:

add bot profile profile1 -trapURL www.bottrap1.com trap ON -trapAction RESET

ボットトラップインジェクションURLをボットプロファイルにバインドする

ボットトラップインジェクションURLを構成し、それをボットプロファイルにバインドできます。 コマンドプロンプトで、次のように入力します。

bind bot profile <profile_name> trapInjectionURL –url <url> -enabled ON|OFF -comment <comment>

各項目の意味は次のとおりです。

URL。ボットトラップURLが挿入されるURL正規表現パターンを要求します。最大長:127

例:

bind bot profile profile1 trapInjectionURL –url www.example.com –enabled ON –comment insert a trap URL randomly

ボット設定でボットトラップのURLの長さと間隔を構成する

ボットトラップURLの長さを構成し、ボットトラップURLを自動生成する間隔を設定することもできます。 コマンドプロンプトで、次のように入力します。

set bot settings -trapURLAutoGenerate ( ON | OFF ) –trapURLInterval <positive_integer> -trapURLLength <positive_integer>

各項目の意味は次のとおりです。

trapURLInterval。ボットトラップURLが更新されるまでの秒単位の時間。デフォルト値:3600、最小値:300、最大値:86400

trapURLLength。自動生成されたボットトラップURLの長さ。デフォルト値:32、最小値:10、最大値:255

例:

set bot settings -trapURLAutoGenerate ON –trapURLInterval 300 -trapURLLength 60

GUIを使用してボットトラップURLを構成する

  1. Security > Citrix Bot Management > Profilesに移動します。
  2. [ Citrixボット管理プロファイル]ページで、[ 編集]をクリックしてボットトラップURL手法を構成します。
  3. [ Citrixボット管理プロファイルの作成] ページで、[一般]セクションにボットトラップURLを入力します。

    ボット管理プロファイルのボットトラップ手法

  4. [ Citrixボット管理プロファイルの作成]ページで、[ プロファイル設定] から[ ボットトラップ]をクリックします。
  5. [ ボットトラップ] セクションで、次のパラメーターを設定します。

    a. 有効。チェックボックスを選択して、ボットトラップの検出を有効にします b。説明。URLについての簡単な説明。 c. アクションを構成します。ボットトラップアクセスによって検出されたボットに対して実行されるアクション。

    ボットトラップ構成のためのボットトラップ手法

  6. [ トラップ挿入URLの構成] セクションで、[ 追加]をクリックします。
  7. [ Citrixボット管理プロファイルのボットトラップバインディングの構成] ページで、次のパラメーターを設定します。

    1. トラップURL。確認するURLをボットトラップインジェクションURLとして入力します。
    2. 有効。ボットトラップインジェクションURLを有効または無効にします。
    3. コメント。トラップインジェクションURLについての簡単な説明。 ボットトラップバインディングのためのボットトラップ技術
  8. [署名の設定] セクションで、[ボットトラップ] をクリックします。
  9. [Bot Trap] セクションで、次のパラメータを設定します。

    1. 有効。チェックボックスをオンにすると、ボットトラップ検出が有効になります。
    2. [構成] セクションで、次のパラメータを設定します。

      1. Action. ボットトラップアクセスによって検出されたボットに対して実行されるアクション。
      2. ログ。ボットトラップバインディングのロギングを有効または無効にします。
  10. [更新] および [完了] をクリックします

ボットトラップのURL設定を構成する

ボットトラップのURL設定を構成するには、次の手順を実行します。

  1. Security> Citrix Bot Managementに移動します。
  2. 詳細ペインで、[設定]の下の [Citrix Bot 管理設定の変更] をクリックします。
  3. [Citrix Bot管理設定の構成]で、以下のパラメーターを設定します。

    1. トラップURL間隔。ボットトラップURLが更新されるまでの秒単位の時間。
    2. トラップURLの長さ。自動生成されたボットトラップURLの長さ。
  4. [OK] をクリックし、[完了] をクリックします。

ボットトラップURL設定のボットトラップ手法

IP レピュテーションとデバイスフィンガープリント検出のための CAPTCHA の構成

CAPTCHAは「Computers and Humans Apart」の略で頭字語である。CAPTCHA は、着信トラフィックが人間のユーザーまたは自動ボットからのものかどうかをテストするように設計されています。CAPTCHA は、Web アプリケーションにセキュリティ違反を引き起こす自動ボットをブロックするのに役立ちます。ADCアプライアンスでは、CAPTCHAはチャレンジレスポンスモジュールを使用して、着信トラフィックが自動ボットではなく人間のユーザーからのものであるかどうかを識別します。

Citrix ADC GUIを使用してボット静的署名を構成する

この検出手法により、ブラウザの詳細からユーザエージェント情報を識別できます。ユーザーエージェント情報に基づいて、ボットは不良または良好なボットとして識別され、ボットアクションを割り当てます。手順に従って、静的署名手法を構成します。

Citrix ADC ボット管理における CAPTCHA の仕組み

Citrix ADCボット管理では、CAPTCHA検証は、ボットポリシーの評価後に実行されるポリシーアクションとして構成されます。CAPTCHA アクションは、IP レピュテーションおよびデバイスフィンガープリント検出技術でのみ使用できます。CAPTCHAがどのように動作するかを理解するための手順は次のとおりです。

  1. IP レピュテーションまたはデバイスフィンガープリントボットの検出中にセキュリティ違反が検出された場合、ADC アプライアンスは CAPTCHA チャレンジを送信します。
  2. クライアントは CAPTCHA 応答を送信します。
  3. アプライアンスは CAPTCHA 応答を検証し、CAPTCHA が有効な場合、要求は許可され、バックエンドサーバーに転送されます。
  4. CATCHA 応答が無効の場合、最大試行回数に達するまで、アプライアンスは新しい CAPTCHA チャレンジを送信します。
  5. 最大試行回数が経過してもCAPTCHA応答が無効である場合、アプライアンスは要求をドロップするか、設定済みのエラー URL にリダイレクトします。
  6. ログアクションを設定した場合、アプライアンスは要求の詳細を ns.log ファイルに保存します。

Citrix ADC GUIを使用してCAPTCHA設定を構成する

ボット管理 CAPTCHA アクションは、IP レピュテーションおよびデバイスフィンガープリント検出技術でのみサポートされます。次の手順を実行して、 CAPTCHA 設定を構成します。

  1. [セキュリティ]> [Citrixボット管理 および プロファイル] に移動します。
  2. Citrixボット管理プロファイル]ページで、プロファイルを選択して[編集]をクリックします。
  3. Citrixボット管理プロファイル]ページで、[署名の設定]セクションに移動し、[CAPTCHA]をクリックします。
  4. [CAPTCHA 設定] セクションで、[追加] をクリックして、プロファイルに CAPTCHA 設定を構成します
  5. [Citrixボット管理CAPTCHAの構成] ページで、以下のパラメーターを設定します。
    1. URL。IP レピュテーションおよびデバイスフィンガープリント検出技術中に CAPTCHA アクションが適用されるボット URL。

    2. 有効。CAPTCHA サポートを有効にするには、このオプションを設定します。
    3. 猶予時間。現在の有効なCAPTCHA応答を受信した後、新しいCAPTCHAチャレンジが送信されなくなるまでの期間。
    4. 待ち時間。クライアントが CAPTCHA 応答を送信するまでの ADC アプライアンスが待機する時間。
    5. ミュート期間。不正な CAPTCHA 応答を送信したクライアントが、次の試行が許可されるまで待機する必要がある期間。このミュート期間中、ADCアプライアンスは要求を許可しません。範囲:60—900 秒、推奨:300 秒
    6. リクエストの長さの制限CAPTCHA チャレンジがクライアントに送信される要求の長さ。長さがしきい値より大きい場合、要求はドロップされます。デフォルト値は 10 ~ 3000 バイトです。
    7. 再試行回数。クライアントが CAPTCHA チャレンジを解決するために再試行できる試行回数。範囲:1 ~ 10、推奨:5.
    8. クライアントが CAPTCHA 検証に失敗した場合、アクション/ドロップ/リダイレクトアクションは実行されません。
    9. ログ。応答CAPTCHAが失敗したときにクライアントからの要求情報を格納するには、このオプションを設定します。データは ns.log ファイルに保存されます。
    10. コメント。CAPTCHA 設定に関する簡単な説明。
  6. [OK] をクリックし、[完了] をクリックします。

    ボットキャプチャGUI設定

  7. [セキュリティ]>[Citrixボット管理]>[署名] に移動します。
  8. Citrix Bot 管理の署名]ページで、署名ファイルを選択し、[編集]をクリックします。
  9. Citrix Bot 管理の署名]ページで[署名の設定] セクションに移動し、[ボット署名]をクリックします。
  10. ボットの署名 」セクションで、次のパラメータを設定します。

  11. スタティック署名を設定します。ボット静的署名レコードを選択し、[Edit] をクリックしてボットアクションを割り当てます。
  12. [OK] をクリックします。
  13. [署名の更新] をクリックします。
  14. [完了] をクリックします。

ボット静的署名

ボット署名の自動更新

ボット静的署名技術は、良いボットおよび悪いボットのリストを含む署名ルックアップテーブルを使用します。ボットは、ユーザーエージェント文字列とドメイン名に基づいて分類されます。着信ボットトラフィックのユーザーエージェント文字列とドメイン名がルックアップテーブルの値と一致する場合、設定されたボットアクションが適用されます。 ボットの署名の更新はAWSクラウドでホストされ、署名ルックアップテーブルは署名の更新のためにAWSデータベースと通信します。自動署名更新スケジューラーは1時間ごとに実行され、 AWSデータベース をチェックし、 Citrix ADCアプライアンスの署名テーブルを更新します。

設定する署名自動更新 URL はhttps://nsbotsignatures.s3.amazonaws.com/BotSignatureMapping.jsonです

注:

プロキシサーバーを設定し、プロキシを介してAWSクラウドからアプライアンスへの署名を定期的に更新することもできます。プロキシ設定の場合、ボット設定でプロキシIPアドレスとポートアドレスを設定する必要があります。

ボット署名の自動更新の仕組み

次の図は、ボット署名がAWSクラウドから取得され、Citrix ADCで更新され、署名更新の概要についてCitrix ADMで表示される方法を示しています。

ボット署名の自動更新

ボット署名自動更新スケジューラは、次の処理を行います。

  1. AWS URI からマッピングファイルを取得します。
  2. マッピングファイル内の最新の署名をADCアプライアンス内の既存の署名とチェックします。
  3. AWS から新しい署名をダウンロードし、署名の整合性を検証します。
  4. 既存のボット署名を、ボット署名ファイル内の新しい署名で更新します。
  5. SNMPアラートを生成し、署名更新サマリーをCitrix ADMに送信します。

ボット署名の自動更新を設定する

ボット署名の自動更新を設定するには、次の手順を実行します。

ボット署名の自動更新を有効にする

ADC アプライアンスのボット設定で自動更新オプションを有効にする必要があります。 コマンドプロンプトで、次のように入力します。

set bot settings –signatureAutoUpdate ON

プロキシサーバー設定の構成 (オプション)

プロキシサーバーを介して AWS 署名データベースにアクセスする場合は、プロキシサーバーとポートを設定する必要があります。 set bot settings –proxyserver –proxyport

例:

set bot settings –proxy server 1.1.1.1 –proxyport 1356

Citrix ADC GUIを使用したボット署名の自動更新の設定

ボット署名の自動更新を設定するには、次の手順を実行します。

  1. Security > Citrix Bot Managementに移動します。
  2. 詳細ペインで、[設定]の下の [Citrix Bot 管理設定の変更] をクリックします。
  3. [Citrixボット管理設定の構成]で、[署名の自動更新]チェックボックスをオンにします。

    ボット自動更新署名の設定

  4. [ OK]をクリックして[閉じる]をクリックします。

ボット管理プロファイルの作成

ボットプロファイルは、ボットタイプの検出に使用されるボット管理設定の集まりです。プロファイルでは、Web App Firewall が各フィルタ(またはチェック)を Web サイトへのボットトラフィックおよびそれらからの応答に適用する方法を決定します。

ボットプロファイルを構成するには、次の手順を実行します。

  1. Security > Citrix Bot Management > Profilesに移動します。
  2. 詳細ペインで、[ 追加]をクリックします。
  3. [Citrix Bot 管理プロファイルの作成] ページで、次のパラメーターを設定します。

    1. 名前。ボットプロファイル名。
    2. Signature. ボット署名ファイルの名前。
    3. Error URL. リダイレクトの URL。
    4. コメント。プロファイルに関する簡単な説明。
  4. [作成]して[閉じる] をクリックします。

ボット管理プロファイルの設定

ボットポリシーの作成

ボットポリシーは、ボット管理システムへのトラフィックを制御し、監査ログサーバーに送信されるボットログを制御します。手順に従って、ボットポリシーを設定します。

  1. [セキュリティ] > [Citrix Bot 管理] > [Bot ポリシー] に移動します。
  2. 詳細ペインで、[ 追加]をクリックします。
  3. [Citrix Bot 管理ポリシーの作成] ページで、次のパラメーターを設定します。
    1. 名前。Bot ポリシーの名前。
    2. 式。テキスト領域に直接ポリシー式または規則を入力します。
    3. Bot Profile. ボットプロファイルを適用する Bot プロファイルです。
    4. Undefined Action. 割り当てるアクションを選択します。
    5. コメント。ポリシーに関する簡単な説明。
    6. ログアクション。ボットトラフィックをロギングするための監査ログメッセージアクション。監査ログのアクションの詳細については、「監査ログのトピック」を参照してください。
  4. [作成]して[閉じる] をクリックします。

ボット管理プロファイルの設定

1 秒あたりのボットトランザクション数 (TPS)

1 秒あたりのリクエスト数(RPS)と RPS の増加率が設定されたしきい値を超えた場合、1 秒あたりのトランザクション数(TPS)ボット技術は着信トラフィックをボットとして検出します。検出技術は、ウェブスクレイピング活動、ブルート強制ログイン、およびその他の悪意のある攻撃を引き起こす可能性のある自動ボットからウェブアプリケーションを保護します。

注:

ボット技術は、両方のパラメーターが構成されていて、両方の値がしきい値制限を超えて増加した場合にのみ、着信トラフィックをボットとして検出します。 特定のURLから多数のリクエストをアプライアンスが受信し、ボット攻撃があるかどうかをCitrix ADCボット管理で検出する必要があるシナリオを考えてみましょう。TPS 検出技術は、1 秒以内の URL からの要求数(設定値)と 30 分以内に受信された要求数の増加率(設定値)を調べます。値がしきい値の制限を超えると、トラフィックはボットと見なされ、アプライアンスは設定されたアクションを実行します。

ボット毎秒(TPS)テクニックの構成

TPS を設定するには、次の手順を完了する必要があります。

  1. ボットの TPS を有効にする
  2. TPS設定をボット管理プロファイルにバインドする

TPS設定をボット管理プロファイルにバインドする

ボットの TPS 機能を有効にしたら、TPS 設定をボット管理プロファイルにバインドする必要があります。

コマンドプロンプトで、次のように入力します。

bind bot profile <name>… (-tps [-type ( SourceIP | GeoLocation | RequestURL | Host )] [-threshold <positive_integer>] [-percentage <positive_integer>] [-action ( none | log | drop | redirect | reset | mitigation )] [-logMessage <string>])

例:

bind bot profile profile1 -tps -type RequestURL -threshold 1 -percentage 100000 -action drop -logMessage log

1 秒あたりのボットトランザクションを有効にする (TPS)

作業を開始する前に、アプライアンスで Bot TPS 機能が有効になっていることを確認する必要があります。コマンドプロンプトで、次のように入力します。

set bot profile profile1 –enableTPS ON

Citrix ADC GUIを使用してボットトランザクション/秒(TPS)を構成する

1秒あたりのボットトランザクションを構成するには、次の手順を実行します。

  1. Security > Citrix Bot Management > Profilesに移動します。
  2. Citrixボット管理プロファイル]ページでプロファイル を選択し、[編集]をクリックします。
  3. [Citrixボット管理プロファイルの作成] ページで、[署名の設定]セクションの[TPS]をクリックします。
  4. [TPS] セクションで、機能を有効にして [追加] をクリックします。

    1 秒あたりのボット管理トランザクション

  5. [Citrixボット管理プロファイルのTPSバインディングの構成] ページで、次のパラメーターを設定します。

    1. タイプ。検出技術で許可されている入力タイプ。可能な値:ソースIP、 ジオロケーション、ホスト、URL。

      SOURCE_IP — クライアントの IP アドレスに基づく TPS。

      ジオロケーション — クライアントの地理的位置に基づく TPS。

      HOST-特定のバックエンドサーバーIPアドレスに転送されるクライアント要求に基づいた TPS。

      URL — 特定の URL からのクライアント要求に基づく TPS。

    2. 固定しきい値。1 秒以内に TPS 入力タイプから許可される要求の最大数。

    3. しきい値のパーセンテージ。30 分間隔内の TPS 入力タイプからのリクエストの最大増加率。

    4. Action. TPS バインディングによって検出されたボットに対して実行されるアクション。

    5. ログ。TPS バインディングのロギングを有効または無効にします。

    6. Log Message. TPS バインディングで検出されたボットについてログに記録するメッセージ。最大長:255。

    7. コメント。TPS 設定に関する簡単な説明。最大長:255

  6. [OK] をクリックし、[閉じる] をクリックします。

1 秒あたりのボット管理トランザクション

ボット検出