Citrixボット管理システムは、さまざまな手法を使用して受信ボットトラフィックを検出します。この手法は、ボットタイプを検出するための検出ルールとして使用されます。テクニックは次のとおりです。
ボット管理では、ブロックリスト、許可リスト、およびレート制限の手法について、最大 32 個の構成エンティティがサポートされています。
ボット許可リスト -許可リストとしてバイパスできるIPアドレス (IPv4とIPv6)、サブネット (IPv4とIPv6)、およびポリシー表現のカスタマイズされたリスト。
ボットブロックリスト -ウェブアプリケーションへのアクセスをブロックする必要がある IP アドレス (IPv4 と IPv6)、サブネット (IPv4 と IPv6)、およびポリシー表現のカスタマイズされたリスト。
IPレピュテーション -このルールは、受信ボットトラフィックが悪質なIPアドレスからのものかどうかを検出します。
デバイスフィンガープリント -このルールは、受信ボットトラフィックの受信リクエストヘッダーにデバイスフィンガープリント ID と、受信クライアントボットトラフィックのブラウザ属性があるかどうかを検出します。
-
クライアントブラウザで JavaScript を有効にする必要があります。
-
XML 応答では機能しません。
ボットログ表現 -検出技術により、追加情報をログメッセージとしてキャプチャできます。データには、URL を要求したユーザーの名前、送信元 IP アドレス、およびユーザーが要求を送信した送信元ポート、または式から生成されたデータを指定できます。
レート制限 -このルールは、仮想サーバー、URL、ドメイン、URL とドメインの組み合わせなど、ユーザー定義エンティティからの複数のリクエストをレート制限します。
ボットトラップ -クライアントの応答にトラップ URL をアドバタイズすることで、自動ボットを検出してブロックします。クライアントが人間のユーザーの場合、URL は見えず、アクセスできないように見えます。この検出技術は、自動ボットからの攻撃をブロックするのに効果的です。
TPS -最大リクエスト数とリクエストの増加率が設定された時間間隔を超えると、受信トラフィックをボットとして検出します。
CAPTCHA -このルールはボット攻撃を軽減するためにCAPTCHAを使用します。CAPTCHA は、受信トラフィックが人間のユーザーからのものか、自動化されたボットからのものかを判断するためのチャレンジ/レスポンスの検証です。この検証は、Web アプリケーションにセキュリティ違反を引き起こす自動ボットをブロックするのに役立ちます。CAPTCHA は、IP レピュテーションおよびデバイスフィンガープリント検出技術のボットアクションとして設定できます。
それでは、ボットトラフィックを検出して管理するための各手法をどのように構成できるかを見てみましょう。
アプライアンスをCitrix CLIベースのボット管理構成にアップグレードする方法
アプライアンスを古いバージョン(Citrixリリース13.0ビルド58.32以前)からアップグレードする場合、最初に既存のボット管理構成をCitrix CLIベースのボット管理構成に手動で変換する必要があるのは1回だけです。ボット管理設定を手動で変換するには、次の手順を実行します。
-
最新バージョンにアップグレードしたら、次のコマンドを使用してアップグレードツールupgrade_bot_config.pyに接続します。
コマンドプロンプトで入力します:
shell "/var/python/bin/python /Citrix/upgrade_bot_config.py > /var/bot_upgrade_commands.txt"
-
次のコマンドを使用して、構成を実行します。
コマンドプロンプトで入力します:
batch -f /var/bot_upgrade_commands.txt
-
アップグレードした設定を保存します。
save ns config
Citrix CLI ベースのブート管理を設定する
ボット管理設定では、1 つ以上のボット検出手法を特定のボットプロファイルにバインドできます。 Citrix ベースのボット管理を設定するには、次の手順を実行する必要があります:
-
ボット管理を有効にする
-
ボット署名のインポート
-
ボットプロファイルの追加
-
ボットプロファイルのバインド
-
ボットポリシーの追加
-
バインドボットポリシー
-
ボット設定の構成
開始する前に、アプライアンスでボット管理機能が有効になっていることを確認します。新しいCitrixまたはVPXをお持ちの場合は、構成する前に機能を有効にする必要があります。Citrix アプライアンスを以前のバージョンから現在のバージョンにアップグレードする場合は、構成する前に機能を有効にする必要があります。コマンドプロンプトで入力します:
enable ns feature Bot
デフォルトのシグニチャボットファイルをインポートし、ボットプロファイルにバインドできます。コマンドプロンプトで入力します:
import bot signature [<src>] <name> [-comment <string>] [-overwrite]
各項目の意味は次のとおりです:
src -ローカルパス名または URL (プロトコル、ホスト、パス、およびファイル名)。最大の長さ:2047インチ。
インポートするオブジェクトが、アクセスにクライアント証明書認証を必要とする HTTPS サーバー上にある場合、インポートは失敗します。
name -ボット署名ファイルオブジェクトの名前。これは必須の議論です。最大長:31
comment -署名ファイルオブジェクトに関する説明。最大長:255
overwrite -既存のファイルを上書きするアクション。
overwriteオプションを使用して、署名ファイルの内容を更新します。または、 update bot signature <name> コマンドを使用してCitrixアプライアンス上の署名ファイルを更新します。
import bot signature http://www.example.com/signature.json signaturefile -comment commentsforbot –overwrite
ボットプロファイルは、アプライアンスでボット管理を設定するためのプロファイル設定の集まりです。ボット検出を実行するように設定を構成できます。
コマンドプロンプトで入力します:
add bot profile <name> [-signature <string>] [-errorURL <string>] [-trapURL <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 )]
例:
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> | (-ipReputation [-category <ipReputationCategory>] [-enabled ( ON | OFF )] [-action ( none | log | drop | redirect | reset | mitigation )] [-logMessage <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>]
各項目の意味は次のとおりです。
Name -ボットポリシーの名前。文字、数字、またはアンダースコア文字(_)で始まり、文字、数字、ハイフン(-)、ピリオド(.)ポンド(#)、スペース()、アットマーク(@)、等号(=)、コロン(:)、およびアンダースコア文字のみを含める必要があります。ボットポリシーの追加後に変更できます。
Rule -指定されたリクエストにボットプロファイルを適用するかどうかをポリシーが決定するために使用する表現。これは必須の議論です。 最大長:1499
profileName -リクエストがこのボットポリシーに一致した場合に適用するボットプロファイルの名前。これは必須の議論です。最大長:127
undefAction -ポリシー評価の結果が未定義(UNDEF)の場合に実行するアクション。UNDEF イベントは、内部エラー状態を示します。 最大長:127
Comment -このボットポリシーに関する説明。最大長:255
logAction -このポリシーに一致するリクエストに使用するログアクションの名前。 最大長:127
例:
add bot policy pol1 –rule "HTTP.REQ.HEADER(\"header\").CONTAINS(\"custom\")" - profileName profile1 -undefAction drop –comment commentforbotpolicy –logAction log1
コマンドプロンプトで入力します:
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>]
例:
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 に送り返します。最大長:31
javaScriptName -ボットネット機能が応答に使用する JavaScript の名前。文字または数字で始まり、1 ~ 31 の英字、数字、およびハイフン(-)とアンダースコア(_)記号で構成する必要があります。次の要件はCitrix CLIにのみ適用されます。名前に1つ以上のスペースが含まれる場合は、名前を二重引用符または一重引用符で囲みます(たとえば、「私のCookie 名」や「私のCookie 名」)。最大長:31
sessionTimeout -セッションは秒単位でタイムアウトし、その後ユーザーセッションは終了します。
Minimum value -1、最大値:65535
sessionCookieName -ボットネット機能が追跡に使用するセッション Cookie の名前。文字または数字で始まり、1 ~ 31 の英字、数字、およびハイフン(-)とアンダースコア(_)記号で構成する必要があります。次の要件はCitrix CLIにのみ適用されます。名前に1つ以上のスペースが含まれる場合は、名前を二重引用符または一重引用符で囲みます(たとえば、「私のCookie 名」や「私のCookie 名」)。最大長:31
dfpRequestLimit -デバイスフィンガープリントが有効になっている場合に、ボットセッション Cookie なしで許可するリクエストの数。最小値:1、最大値:4294967295
signatureAutoUpdate -ボットの自動更新シグネチャを有効/無効にするために使用されるフラグ。指定可能な値:オン、オフ。 デフォルト値:OFF
signatureUrl -ボット署名マッピングファイルをサーバーからダウンロードするための URL。デフォルト値: https://nsbotsignatures.s3.amazonaws.com/BotSignatureMapping.json。最大長:2047
proxyServer - AWSから更新された署名を取得するためのプロキシサーバーIP。
proxyPort -AWSから更新された署名を取得するためのプロキシサーバーポート。デフォルト値:8080
proxyUsername -シグニチャアップデートをダウンロードする際にプロキシサーバを認証するためのユーザー名。
proxyPassword — シグニチャアップデートをダウンロードする際にプロキシサーバを認証するためのパスワード。
例:
set bot settings –defaultProfile profile1 –javaScriptName json.js –sessionTimeout 1000 –sessionCookieName session -proxyServer 10.102.30.112 -proxyPort 3128 -proxyUsername defaultuser -proxyPassword defaultPassword
Citrix GUI を使用してボット管理を構成する
Citrix ボット管理を設定するには、最初にアプライアンスでこの機能を有効にします。有効にすると、ボットポリシーを作成して、着信トラフィックをボットとして評価し、そのトラフィックをボットプロファイルに送信できます。次に、ボットプロファイルを作成し、そのプロファイルをボット署名にバインドします。別の方法として、デフォルトのボットシグネチャファイルのクローンを作成し、シグネチャファイルを使用して検出手法を設定することもできます。署名ファイルを作成したら、それをボットプロファイルにインポートできます。
-
ボット管理機能を有効にする
-
ボット管理設定を構成する
-
Citrix ボットのデフォルト署名のクローン作成
-
Citrix ボット署名をインポートする
-
ボット署名設定を構成する
-
ボットプロファイルの作成
-
ボットポリシーの作成
ボット管理を有効にするには、次の手順を実行します。
-
ナビゲーションペインで、
を展開し、
>
をクリックします。
-
[ 拡張機能の構成 ]ページで、[ NetScaler ボット管理 ]チェックボックスを選択します。
-
[OK] をクリックします。
次の手順を実行して、デバイスフィンガープリント技術を設定します:
-
-
-
「 **Citrix ボット管理設定の構成」**で、次のパラメータを設定します。
-
デフォルトプロファイル-ボットプロファイルを選択します。
-
JavaScript 名-ボット管理者がクライアントへの応答に使用する JavaScript ファイルの名前。
-
セッションタイムアウト-ユーザーセッションが終了するまでのタイムアウト (秒単位)。
-
セッションCookie-ボット管理システムが追跡に使用するセッションクッキーの名前。
-
デバイスフィンガープリント要求制限。デバイスフィンガープリントが有効になっている場合に、ボットセッション Cookie なしで許可するリクエストの数。
-
プロキシサーバー-最新の署名のアップロード元となるプロキシサーバーのIPアドレス。
-
プロキシポート — 最新の署名のアップロード元となるマシンのポート番号。
-
プロキシユーザー名 — プロキシサーバーの認証用のユーザー名
-
プロキシパスワード-プロキシサーバーの認証用パスワード。
「プロキシサーバー」フィールドと「プロキシポート」フィールドが設定されている場合、「プロキシユーザー名」フィールドと「プロキシパスワード」フィールドが有効になります。
-
[OK] をクリックします。
次の手順を実行して、ボット署名ファイルのクローンを作成します。
-
-
[Citrix Bot Management Signatures ]ページで、デフォルトのボット署名レコードを選択し、[ クローン]をクリックします。
-
-
[Create] をクリックします。
独自の署名ファイルがある場合は、ファイル、テキスト、または URL としてインポートできます。ボット署名ファイルをインポートするには、 次の手順を実行します。
-
-
Citrix Bot Managementの署名ページで、デフォルトのボット署名レコードを選択し、**「インポート」**をクリックします。
-
[Citrix Bot 管理署名のインポート ]ページで、次のパラメーターを設定します。
-
インポートファイルタイプを選択する
-
選択したインポートタイプに基づいて、詳細を入力します。
-
[続行] をクリックします。
-
「 Citrix Bot 管理署名のインポート」ページで、次のパラメータを設定します。
-
名前-ボット署名ファイルの名前。
-
コメント-インポートされたファイルに関する簡単な説明。
-
上書き-ファイル更新中にデータを上書きできます。
-
署名データ-署名パラメータの変更
-
[完了] をクリックします。
Citrix GUI を使用してボット許可リストを構成する
この検出技術により、許可されたリストの URL を設定した URL をバイパスできます。許可リストの URL を設定するには、次の手順を実行します:
-
-
[Citrix Bot 管理プロファイル ]ページでファイルを選択し、[ 編集]をクリックします。
-
Citrix Bot 管理プロファイルページで 、「 プロファイル設定 」セクションに移動し、「 許可リスト」をクリックします。
-
「 許可リスト 」セクションで、次のパラメータを設定します:
-
有効-選択すると、検出プロセスの一環として許可リストの URL が検証されます。
-
タイプの設定-許可リストの URL を設定します。URL は、ボットの検出中にバイパスされます。「 追加 」をクリックして、ボット許可リストに URL を追加します。
-
「 Citrix Bot 管理プロファイルの許可リストバインディングの設定 」ページで、次のパラメータを設定します:
-
タイプ-URL タイプを選択します。
-
有効-選択して URL を検証します。
-
値-URL を入力します。
-
ログ-選択してログエントリを保存します。
-
ログメッセージ-ログの簡単な説明。
-
コメント-許可リストの URL に関する簡単な説明。
-
[OK] をクリックします。

-
[Update] をクリックします。
-
[完了] をクリックします。
Citrix GUI を使用してボット禁止リストを構成する
この検出技術により、ブロックリストとして設定した URL を削除できます。ブロックリスト URL を設定するには、次の手順を実行します。
-
-
[Citrix Bot 管理プロファイル ]ページでファイルを選択し、[ 編集]をクリックします。
-
Citrix Bot 管理プロファイルページで 、「 プロファイル設定 」セクションに移動し、「 ブロックリスト」をクリックします。
-
「 ブロックリスト 」セクションで、次のパラメーターを設定します:
-
有効-選択すると、検出プロセスの一環としてブロックリストの URL が検証されます。
-
タイプの設定-ボットブロックリスト検出プロセスの一部となる URL を設定します。これらの URL はボット検出中に削除されます。「 追加 」をクリックして URL をボット禁止リストに追加します
-
「 Citrix Bot 管理プロファイルのブロックリストバインディングの設定 」ページで、次のパラメータを設定します。
-
タイプ-URL タイプを選択します。
-
有効-選択して URL を検証します。
-
値-URL アドレスを入力します。
-
ログ-選択してログエントリを保存します。
-
ログメッセージ-ログの詳細の簡単な説明。
-
コメント-ブロックリスト URL に関する簡単な説明。
-
[OK] をクリックします。

-
[Update] をクリックします。
-
[完了] をクリックします。
Citrix GUI を使用して IP レピュテーションを設定する
IP レピュテーションボット手法では、Webroot の IP レピュテーションデータベースとクラウドサービスプロバイダーデータベースを使用して、クライアントのリクエストが悪意のある IP アドレスかパブリッククラウド IP アドレスかを検証します。ボットカテゴリの一部として設定され、ボットアクションが関連付けられます。 Webroot IP レピュテーションとクラウドサービスプロバイダーのデータベースカテゴリを設定するには、次の手順を実行します。
-
-
Citrix Bot 管理プロファイルページでプロファイルを選択し 、「 編集」をクリックします。
-
Citrix Bot 管理プロファイルページで 、「 プロファイル設定 」セクションに移動し、「 IPレピュテーション」をクリックします。
-
-
有効-選択すると、検出プロセスの一環として受信ボットトラフィックを検証します。
-
カテゴリを設定します。IP レピュテーション技術は、さまざまなカテゴリの着信ボットトラフィックに使用できます。設定されたカテゴリに基づいて、ボットトラフィックをドロップまたはリダイレクトできます。
をクリックして、悪意のあるボットカテゴリを設定します。
-
「 Citrix Bot 管理プロファイルの IP レピュテーションバインディングの設定 」ページで、次のパラメータを設定します:
-
カテゴリ-Webroot IP レピュテーションボットカテゴリを選択して、クライアントリクエストが悪質な IP アドレスであることを検証します。
-
IP_BASED-このカテゴリは、クライアント IP アドレス (IPv4 および IPv6) が悪意のあるものかどうかをチェックします。
-
BOTNET-このカテゴリには、ボットネット C&C チャネル、およびボットマスターによって制御される感染したゾンビマシンが含まれます。
-
SPAM_SOURCES-このカテゴリには、プロキシを介したスパムメッセージのトンネリング、異常な SMTP アクティビティ、フォーラムスパムアクティビティが含まれます。
-
SCANNERS-このカテゴリには、プローブ、ホストスキャン、ドメインスキャン、パスワード総当たり攻撃など、すべての偵察が含まれます。
-
DOS:このカテゴリには、DOS、DDOS、異常同期フラッド、異常トラフィック検出が含まれます。
-
REPUTATION-このカテゴリは、マルウェアに感染していることが現在知られている IP アドレス (IPv4 および IPv6) からのアクセスを拒否します。このカテゴリには、Webroot レピュテーションインデックススコアが平均的に低い IP アドレスも含まれます。このカテゴリを有効にすると、マルウェアの配布ポイントに接触していると特定されたソースからのアクセスが防止されます。
-
フィッシング-このカテゴリには、フィッシングサイトをホストしている IP アドレス (IPv4 および IPv6) や、広告クリック詐欺やゲーム詐欺などのその他の詐欺行為が含まれます。
-
PROXY-このカテゴリには、プロキシサービスを提供する IP アドレス (IPv4 および IPv6) が含まれます。
-
ネットワーク-TORまたはダークネットとも呼ばれるオニオンルーターなど、プロキシおよび匿名化サービスを提供するIP。
-
MOBILE_THREATS-このカテゴリは、クライアントの IP アドレス (IPv4 および IPv6) と、モバイルデバイスに有害なアドレスのリストをチェックします。
-
カテゴリ。Webroot パブリッククラウドサービスプロバイダーのカテゴリを選択して、クライアントリクエストがパブリッククラウド IP アドレスであることを検証します。
-
AWS-このカテゴリは、AWS のパブリッククラウドアドレスのリストでクライアント IP アドレスをチェックします。
-
GCP-このカテゴリは、クライアントの IP アドレスを Google Cloud Platform のパブリッククラウドアドレスのリストで確認します。
-
AZURE-このカテゴリは、Azure のパブリッククラウドアドレスのリストでクライアントアドレスをチェックします。
-
ORACLE-このカテゴリは、Oracle のパブリッククラウドアドレスのリストでクライアント IP アドレスをチェックします。
-
IBM-このカテゴリは、クライアントの IP アドレスと IBM のパブリック・クラウド・アドレスのリストをチェックします。
-
SALESFORCE-このカテゴリは、クライアントの IP アドレスと Salesforce のパブリッククラウドアドレスのリストをチェックします。
Webroot IP レピュテーションボットカテゴリに指定可能な値:IP、ボットネット、SPAM_SOURCES、スキャナー、DOS、レピュテーション、フィッシング、プロキシ、ネットワーク、MOBILE_THREATS。
Webroot パブリッククラウドサービスプロバイダーのカテゴリに指定可能な値:AWS、GCP、AZURE、ORACLE、IBM、SALESFORCE。
-
有効-選択すると、IP レピュテーション署名の検出が検証されます。
-
ボットアクション-設定されたカテゴリに基づいて、アクションを割り当てない、ドロップ、リダイレクト、または緩和アクションを割り当てることができます。
-
ログ-選択してログエントリを保存します。
-
ログメッセージ-ログの簡単な説明。
-
コメント-ボットカテゴリに関する簡単な説明。
-
[OK] をクリックします。
-
[Update] をクリックします。
-
[完了] をクリックします。

IP レピュテーションを無効にする場合は、必ずダウンロードを停止してください。IP レピュテーションのダウンロードを停止するには、次の手順を実行します。
-
-
デフォルトの非侵入型プロファイルを****BOT_BYPASS に変更します。
ボットレート制限手法を使用すると、ユーザーの位置情報、クライアント IP アドレス、セッション、Cookie、または構成されたリソース (URL) に基づいて、特定の時間枠内でボットトラフィックを制限できます。 ボットレート制限手法を設定すると、次のことが保証されます。
-
悪意のあるボットアクティビティをブロックします。
-
ウェブサーバーへのトラフィックの負担を軽減。
Citrix CLI を使用してボットのレート制限を設定する
コマンドプロンプトで入力します:
bind bot profile <name>... -ratelimit -type <type> Geolocation -countryCode <countryName> -rate <positive_integer> -timeSlice <positive_integer> [-action <action> ...] [-limitType ( BURSTY | SMOOTH )] [-condition <expression>] [-enabled ( ON | OFF )]
各項目の意味は次のとおりです。
*SOURCE_IP -クライアント IP アドレスに基づくレート制限。
*SESSION -設定された Cookie 名に基づくレート制限。
*URL -設定された URL に基づくレート制限。
*GEOLOCATION -設定された国名に基づくレート制限。
Possible values -セッション、ソースIP、URL、ジオロケーション
例:
bind bot profile geo_prof -ratelimit -type Geolocation -countryCode IN -rate 100 -timeSlice 1000 -limitType BURSTY -condition HTTP.REQ.HEADER("User-Agent").contains("anroid") -action log,drop -enabled on
Citrix GUI を使用してボットのレート制限を構成する
ボットレート制限検出手法を設定するには、次の手順を実行します。
-
-
[Citrix Bot管理プロファイル ]ページで、プロファイルを選択して[ 編集]をクリックします。
-
Citrix Bot 管理プロファイルページで 、「 プロファイル設定 」セクションに移動し、「 レート制限」をクリックします。
-
「 レート制限 」セクションで、次のパラメータを設定します。
-
有効-選択すると、検出プロセスの一環として受信ボットトラフィックが検証されます。 b.
をクリックして、レート制限バインディングを設定します。
-
[Citrix Bot Managementのレート制限の構成 ]ページで、次のパラメータを設定します。
-
タイプ-以下のパラメータに基づいてボットのトラフィックをレート制限します。
-
位置情報-ユーザーの地理的位置に基づくレート制限。
-
Source_IP-クライアント IP アドレスに基づいてトラフィックをレート制限します。
-
セッション-セッションまたはCookie 名に基づいてボットトラフィックをレート制限します。
-
URL-設定された URL に基づいてボットトラフィックをレート制限します。
-
国-位置情報を国または地域として選択します。
-
レート制限タイプ — 次のタイプに基づいてトラフィックのタイプを制限します。
-
レート制限接続-1 つの条件に対して複数のルールを作成できます。
-
有効-選択して受信ボットトラフィックを検証します。
-
リクエストしきい値-特定の期間内に許可されるリクエストの最大数。
-
期間-ミリ秒単位の時間枠。
-
アクション-選択したカテゴリのボットアクションを選択します。
-
ログ-ログエントリを保存するチェックボックスを選択します。
-
ログメッセージ-ログの簡単な説明。
-
コメント-ボットカテゴリに関する簡単な説明。
-
[OK] をクリックします。
-
[Update] をクリックします。
-
[完了] をクリックします。
Citrix GUIを使用してデバイスフィンガープリント技術を構成する
この検出技術は、Java スクリプトチャレンジをクライアントに送信し、デバイス情報を抽出します。デバイス情報に基づいて、この技術はボットトラフィックをドロップまたはバイパスします。手順に従って、検出手法を設定します。
-
-
[Citrix Bot管理プロファイル ]ページで、署名ファイルを選択して[ 編集]をクリックします。
-
[Citrix Bot 管理プロファイル ]ページで、[ 署名の設定] セクションに移動し、[ デバイスフィンガープリント]をクリックします。
-
デバイスフィンガープリントセクションで 、次のパラメータを設定します:
-
有効-選択するとルールが有効になります。
-
構成-次のオプションのいずれかを選択します。
-
なし-トラフィックを許可します。
-
ドロップ-トラフィックをドロップします。
-
リダイレクト-トラフィックをエラー URL にリダイレクトします。
-
緩和策 (CAPTCHA)-トラフィックを検証して許可します。
デバイスフィンガープリント Cookie を使用するセッションリプレイ攻撃では、デバイスのフィンガープリント設定が「軽減」に設定されていても、リクエストはドロップされます。
-
ログ-選択してログエントリを保存します。
-
[Update] をクリックします。
-
[完了] をクリックします。
モバイル (Android) アプリケーション用のデバイスフィンガープリント技術を構成する
デバイスフィンガープリント技術は、クライアントへの HTML 応答に JavaScript スクリプトを挿入することにより、着信トラフィックをボットとして検出します。JavaScript スクリプトは、ブラウザによって呼び出されると、ブラウザとクライアントの属性を収集し、アプライアンスに要求を送信します。これらの属性を調べて、トラフィックが Bot か人間かを判断します。
検出技術はさらに拡張され、モバイル (Android) プラットフォームでボットを検出できます。ウェブアプリケーションとは異なり、モバイル (Android) トラフィックでは、JavaScript スクリプトに基づくボット検出は適用されません。 モバイルネットワーク内のボットを検出するために、この手法では、クライアント側のモバイルアプリケーションと統合されたボットモバイル SDK を使用します。SDK は、モバイルトラフィックをインターセプトし、デバイスの詳細を収集し、データをアプライアンスに送信します。アプライアンス側では、検出技術はデータを調べ、接続が Bot または人間からのものかどうかを判断します。
モバイルアプリケーション用のデバイスフィンガープリント手法の仕組み
次の手順では、モバイルデバイスからのリクエストが人間かボットかを検出するボット検出ワークフローについて説明します。
-
ユーザーがモバイルアプリケーションを操作すると、デバイスの動作はボットのモバイル SDK によって記録されます。
-
クライアントは Citrix アプライアンスにリクエストを送信します。
-
応答を送信すると、アプライアンスは、セッションの詳細とクライアントパラメータを収集するためのパラメータを含むボットセッションクッキーを挿入します。
-
モバイルアプリケーションが応答を受信すると、モバイルアプリケーションと統合されたCitrix Bot SDKが応答を検証し、記録されたデバイスフィンガープリントパラメータを取得してアプライアンスに送信します。
-
アプライアンス側のデバイスフィンガープリント検出技術は、デバイスの詳細を検証し、ボットセッションクッキーが疑わしいボットであるかどうかにかかわらず、ボットセッションクッキーを更新します。
-
クッキーの有効期限が切れた場合、またはデバイスの指紋保護がデバイスパラメータを定期的に検証して収集することを好む場合は、すべての手順またはチャレンジが繰り返されます。
モバイルアプリケーション向けのCitrix デバイスフィンガープリント検出技術を開始するには、モバイルアプリケーションにボットモバイルSDKをダウンロードしてインストールする必要があります。
CLI を使用してモバイル(Android)アプリケーションの指紋検出技術を構成する
コマンドプロンプトで入力します:
set bot profile <profile name> -deviceFingerprintMobile ( NONE | Android )
例:
set bot profile profile 1 –deviceFingerprintMobile Android
GUI を使用してモバイル(Android)アプリケーションのデバイス指紋検出技術を構成する
-
-
[Citrix Bot 管理プロファイル ]ページでファイルを選択し、[ 編集]をクリックします。
-
[Citrix Bot管理プロファイル ]ページで、[ プロファイル設定 ]の[ デバイスフィンガープリント]をクリックします。
-
セクションで、モバイルクライアントの種類を選択します。
-
クライアントがボットとして識別された場合、Citrix ボット管理により、追加情報をログメッセージとしてキャプチャできます。データには、URL を要求したユーザーの名前、送信元 IP アドレス、およびユーザーが要求を送信した送信元ポート、または式から生成されたデータを指定できます。カスタムログを実行するには、ボット管理プロファイルでログ式を設定する必要があります。
CLI を使用してボットプロファイルのログ式をバインドします
コマンドプロンプトで入力します:
bind bot profile <name> (-logExpression -name <string> -expression <expression> [-enabled ( ON | OFF )]) -comment <string>
例:
bind bot profile profile1 –logExpression exp1 –expression HTTP.REQ.URL –enabled ON -comment "testing log expression"
GUI を使用してログ式をボットプロファイルにバインドする
-
-
[Citrix Bot 管理プロファイル ]ページで、[ プロファイル設定 ]セクションから[ ボットログ式 ]を選択します。
-
-
[Citrix Bot Management プロファイルのボットログ式バインドの構成 ]ページで、次のパラメータを設定します。
-
ログ表現名-ログ表現の名前。
-
式-ログ式を入力します。
-
有効-ログ式バインディングを有効または無効にします。
-
コメント-ボットログ表現バインディングに関する簡単な説明。
-
「**OK」をクリックして「**完了」をクリックします。
Citrix ボットトラップ手法では、サーバーの応答にトラップ URL がランダムまたは定期的に挿入されます。トラップ URL リストを作成し、その URL を追加することもできます。クライアントが人間のユーザーの場合、URL は見えず、アクセスできないように見えます。ただし、クライアントが自動化されたボットの場合、URL はアクセス可能であり、アクセスされると、攻撃者はボットに分類され、ボットからの後続のリクエストはブロックされます。このトラップ技術は、ボットからの攻撃をブロックするのに効果的です。
トラップ URL は、設定可能な長さの英数字の URL で、設定可能な間隔で自動生成されます。また、この方法では、よくアクセスする Web サイトまたは頻繁にアクセスする Web サイトのトラップ挿入 URL を設定することもできます。これにより、トラップ挿入 URL に一致するリクエストに対してボットトラップ URL を挿入する目的を指示できます。
ボットトラップURLは自動生成されますが、Citrixボット管理ではボットプロファイルでカスタマイズされたトラップURLを構成できます。これは、 ボット検出技術を強化し、攻撃者がトラップ URL にアクセスしにくくするために行われます。
ボットトラップの設定を完了するには、次の手順を完了する必要があります。
-
ボットトラップ URL を有効にする
-
ボットプロファイルでのボットトラップ URL の設定
-
ボットトラップ挿入 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 -ボットトラップ検出を有効にします。指定可能な値:オン、オフ。デフォルト値:OFF
-
trapAction -ボット検出に基づいて実行されるアクション。 可能な値:なし、ログ、ドロップ、リダイレクト、リセット、緩和。デフォルト値:なし
例:
add bot profile profile1 -trapURL www.bottrap1.com trap ON -trapAction RESET
ボットトラップ挿入 URL をボットプロファイルにバインドする
ボットトラップ挿入 URL を設定し、ボットプロファイルにバインドできます。 コマンドプロンプトで入力します:
bind bot profile <profile_name> trapInsertionURL –url <url> -enabled ON|OFF -comment <comment>
各項目の意味は次のとおりです。
URL -ボットトラップURLが挿入されるリクエストURLの正規表現パターン。最大長:127
例:
bind bot profile profile1 trapInsertionURL –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
-
-
[Citrix Bot管理プロファイル ]ページで、[ 編集 ]をクリックしてボットトラップURL手法を構成します。
-
[Citrix Bot 管理プロファイルの作成] ページで、基本設定を編集してトラップURLを入力し、[ OK]をクリックします。
-
Citrix Bot 管理プロファイルページで、「プロファイル設定 」から「 ボットトラップ」をクリックします。
-
-
Enabled。チェックボックスを選択してボットトラップ検出を有効にします
-
説明。URL に関する簡単な説明。
-
「 アクションを設定 」セクションで、次のパラメータを設定します。
-
操作。ボットトラップアクセスによって検出されたボットに対して実行されるアクション。
-
ログ。ボットトラップバインディングのロギングを有効または無効にします。
-
-
[Citrix Bot管理プロファイルのボットトラップバインドの構成 ]ページで、次のパラメーターを設定します。
-
トラップ URL。ボットトラップ挿入 URL として確認する URL を入力します。
-
Enabled。ボットトラップ挿入 URL を有効または無効にします。
-
-
ボットトラップ URL 設定を構成するには、次の手順を実行します。
-
-
詳細ペインの[ 設定 ]で、[ Citrix Bot管理設定の変更]をクリックします。
-
[Citrix Bot管理設定の構成]で、次のパラメーターを設定します。
-
トラップ URL 間隔。ボットトラップ URL が更新されるまでの時間(秒単位)。
-
トラップ URL の長さ。自動生成されたボットトラップ URL の長さ。
-
Citrix ボット管理では、HTTPリクエストヘッダー、HTTPリクエスト本文、HTTPリクエストURL、または高度なポリシー式を使用してクライアントIPアドレスを抽出する高度なポリシー式を構成できるようになりました。抽出された値は、ボット検出メカニズム(TPS、ボットトラップ、レート制限など)で使用して、着信要求がボットかどうかを検出できます。
クライアント IP 式を設定していない場合は、デフォルトまたは既存の送信元クライアント IP アドレスがボットの検出に使用されます。式が設定されている場合、評価結果には、ボット検出に使用できるクライアント IP アドレスが提供されます。
受信要求がプロキシサーバを介して送信され、クライアントの IP アドレスがヘッダーに存在する場合は、クライアント IP 式を設定して使用して、実際のクライアント IP アドレスを抽出できます。この設定を追加することで、アプライアンスはボット検出メカニズムを使用して、ソフトウェアクライアントとサーバーにより多くのセキュリティを提供できます。
CLI を使用して、ボットプロファイルでクライアント IP ポリシー式を設定します
コマンドプロンプトで入力します:
add bot profile <name> [-clientIPExpression <expression>]
例:
add bot profile profile1 –clientIPExpression 'HTTP.REQ.HEADER("X-Forwarded-For") ALT CLIENT.IP.SRC.TYPECAST_TEXT_T'
add bot profile profile1 –clientIPExpression 'HTTP.REQ.HEADER("X-Forwarded-For") ALT CLIENT.IPv6.SRC.TYPECAST_TEXT_T'
GUI を使用してボットプロファイルでクライアント IP ポリシー式を構成する
-
-
-
[Citrix Bot管理プロファイルの作成] ページで、[クライアントIP式]を設定します。
-
IP レピュテーションとデバイスフィンガープリント検出のための CAPTCHA の構成
CAPTCHA は、「Computers and Humans Apart を伝える完全に自動化された Public Turing test」の略の頭字語です。 CAPTCHA は、着信トラフィックが人間のユーザーまたは自動ボットからのものかどうかをテストするように設計されています。CAPTCHA は、ウェブアプリケーションにセキュリティ違反を引き起こす自動ボットをブロックするのに役立ちます。Citrix では、CAPTCHAはチャレンジレスポンスモジュールを使用して、受信トラフィックが自動ボットではなく人間のユーザーからのものかどうかを識別します。
この検出手法により、ブラウザの詳細からユーザエージェント情報を識別できます。ユーザーエージェント情報に基づいて、ボットは不良または良好なボットとして識別され、ボットアクションを割り当てます。スタティックシグニチャ手法を設定するには、次の手順に従います。
-
ナビゲーションペインで、[ セキュリティ]>[Citrix ボット管理]>[署名]の順に展開します。
-
Citrix Bot 管理の[署名 ]ページで、署名ファイルを選択し、[ 編集]をクリックします。
-
[Citrix Bot Managementの署名 ]ページで、[ 署名の設定 ]セクションに移動し、[ ボット署名]をクリックします。
-
-
スタティックシグニチャを設定します。このセクションには、ボットの静的署名レコードのリストがあります。レコードを選択し、
をクリックして、そのレコードにボットアクションを割り当てることができます。
-
[OK] をクリックします。
-
-
[完了] をクリックします。
Citrix のボット管理は、Webアプリケーションをボットから保護します。 ボットの静的シグネチャは、着信リクエストのユーザーエージェントなどのリクエストパラメータに基づいて、良いボットと悪いボットを識別するのに役立ちます。ファイル内のシグネチャのリストは巨大で、新しいルールが追加され、古いルールが定期的に削除されます。管理者は、カテゴリで特定のシグニチャまたはシグニチャのリストを検索したい場合があります。署名を簡単にフィルタリングできるように、 Bot Signatureページには検索機能が強化されています 。検索機能を使用すると、シグニチャルールを検索し、アクション、シグニチャ ID、開発者、シグニチャ名などの 1 つ以上のシグニチャパラメータに基づいてそのプロパティを設定できます。
アクション-特定のカテゴリのシグニチャルールに設定したいボットアクションを選択します。使用可能なアクションタイプは次のとおりです。
-
選択項目を有効にする-選択したすべての署名ルールを有効にします。
-
選択項目を無効にする-選択したすべてのシグニチャルールを無効にします。
-
選択したものをドロップ-選択したすべてのシグニチャルールに「ドロップ」アクションを選択します。
-
選択したリダイレクト-選択したすべてのシグニチャルールに「リダイレクト」アクションを適用します。
-
選択項目をリセット-選択したすべてのシグニチャルールに「リセット」アクションを適用します。
-
選択したログ-選択したすべてのシグニチャルールに「ログ」アクションを適用します。
-
Drop Selected を削除-選択したすべてのシグニチャルールに対するドロップアクションの設定を解除します。
-
選択したリダイレクトを削除-選択したすべてのシグニチャルールへのリダイレクトアクションの設定を解除します。
-
Reset Selected を削除-選択したすべてのシグニチャルールに対するリセットアクションの設定を解除します。
-
選択したログを削除-選択したすべてのシグニチャルールへのログアクションの設定を解除します。
カテゴリ-カテゴリを選択して、それに応じてシグニチャルールをフィルタリングします。次に、シグニチャルールのソートに使用できるカテゴリの一覧を示します。
-
アクション-ボットのアクションに基づいてソートします。
-
カテゴリ-ボットカテゴリに基づいてソートします。
-
開発者-ホスト企業の発行元に基づいてソートします。
-
有効-有効になっている署名ルールに基づいてソートします。
-
Id-署名ルール ID に基づいてソートします。
-
ログ-ロギングが有効になっているシグニチャルールに基づいてソートします。
-
名前-シグニチャルール名に基づいてソートします。
-
タイプ-署名タイプに基づいてソートします。
-
バージョン-シグニチャルールのバージョンに基づいてソートします。
Citrix GUIを使用して、アクションとカテゴリの種類に基づいてボットの静的署名ルールを検索する
-
-
-
[ Citrix Bot Management 署名 ]ページで、[ 静的署名 ]セクションの[編集]をクリックします。
-
セクションで、ドロップダウンリストからシグニチャアクションを選択します。
-
検索機能を使用してカテゴリを選択し、それに応じてルールをフィルタリングします。
-
[Update] をクリックします。
Citrix GUI を使用してボットの静的署名ルールプロパティを編集する
-
-
-
[ Citrix Bot Management 署名 ]ページで、[ 静的署名 ]セクションの[編集]をクリックします。
-
セクションで、ドロップダウンリストからアクションを選択します。
-
検索機能を使用してカテゴリを選択し、それに応じてルールをフィルタリングします。
-
静的署名リストから、シグニチャを選択してプロパティを変更します。
-
**[OK]**をクリックして確定します。
Citrix のボット管理におけるCAPTCHAの仕組み
Citrixボット管理では、CAPTCHA検証はボットポリシーが評価された後に実行されるポリシーアクションとして構成されます。CAPTCHA アクションは、IP レピュテーションおよびデバイスフィンガープリント検出技術でのみ使用できます。以下に、CAPTCHA の仕組みを理解する手順を示します。
-
IP レピュテーションまたはデバイスフィンガープリントボットの検出中にセキュリティ違反が観察された場合、ADC アプライアンスは CAPTCHA チャレンジを送信します。
-
クライアントは CAPTCHA レスポンスを送信します。
-
アプライアンスは CAPTCHA 応答を検証し、CAPTCHA が有効な場合、要求は許可され、バックエンドサーバーに転送されます。
-
CATCHA 応答が無効な場合、アプライアンスは最大試行回数に達するまで新しい CAPTCHA チャレンジを送信します。
-
最大試行回数の後でも CAPTCHA 応答が無効である場合、アプライアンスは要求をドロップするか、設定されたエラー URL にリダイレクトします。
-
ログアクションを設定した場合、アプライアンスは要求の詳細を ns.log ファイルに保存します。
Citrix GUI を使用してキャプチャ設定を構成する
ボット管理 CAPTCHA アクションは、IP レピュテーションおよびデバイスフィンガープリント検出技術でのみサポートされます。CAPTCHA 設定を構成するには、次の手順を実行します。
-
-
[Citrix Bot 管理プロファイル]ページでプロファイルを選択し 、[ 編集]をクリックします。
-
[Citrix Bot管理プロファイル ]ページで、[ 署名の設定 ]セクションに移動し、[ CAPTCHA]をクリックします。
-
「 CAPTCHA 設定 」セクションで、「 追加」をクリックして、プロファイルに CAPTCHA 設定を構成します 。
-
[Citrix Bot管理CAPTCHAの構成 ]ページで、次のパラメーターを設定します。
-
URL。IP レピュテーションおよびデバイスフィンガープリント検出技術中に CAPTCHA アクションが適用されるボット URL。
-
Enabled。CAPTCHA サポートを有効にするには、このオプションを設定します。
-
猶予時間。現在の有効な CAPTCHA 応答を受信した後、新しい CAPTCHA チャレンジが送信されないまでの期間。
-
待ち時間。ADC アプライアンスがクライアントが CAPTCHA 応答を送信するまで待機するまでに要した時間。
-
ミュート期間。不正な CAPTCHA 応答を送信したクライアントが、次の試行を許可されるまで待つ必要がある期間。このミュート期間中、ADC アプライアンスは要求を許可しません。範囲:60 ~ 900 秒、推奨:300 秒
-
リクエストの長さ制限。CAPTCHA チャレンジがクライアントに送信される要求の長さ。長さがしきい値より大きい場合、要求はドロップされます。デフォルト値は 10 ~ 3000 バイトです。
-
再試行回数。クライアントが CAPTCHA チャレンジを解決するために再試行できる試行回数。範囲:1—10、推奨:5。
-
クライアントが CAPTCHA 検証に失敗した場合、アクション/ドロップ/リダイレクトアクションは実行されません。
-
ログ。このオプションを設定すると、レスポンス CAPTCHA が失敗したときにクライアントからのリクエスト情報を保存できます。データはns.logファイルに保存されます。
-
-
-
-
Citrix Bot 管理の[署名 ]ページで、署名ファイルを選択し、[ 編集]をクリックします。
-
[Citrix Bot Managementの署名 ]ページで、[ 署名の設定 ]セクションに移動し、[ ボット署名]をクリックします。
-
-
スタティックシグニチャを設定します。ボット静的署名レコードを選択し、
をクリックして、ボットアクションをそのレコードに割り当てます。
-
[OK] をクリックします。
-
-
[完了] をクリックします。
ボット静的シグニチャ手法では、シグニチャルックアップテーブルと良いボットと不良ボットのリストを使用します。ボットは、ユーザーエージェント文字列とドメイン名に基づいて分類されます。着信ボットトラフィックのユーザーエージェント文字列とドメイン名がルックアップテーブルの値と一致する場合、設定されたボットアクションが適用されます。 ボット署名の更新は AWS クラウドでホストされ、署名ルックアップテーブルは、署名の更新のために AWS データベースと通信します。自動署名更新スケジューラーは1時間ごとに実行され、 AWSデータベースをチェックし 、Citrixアプライアンスの署名テーブルを更新します。
設定するシグニチャ自動更新 URLは、https://nsbotsignatures.s3.amazonaws.com/BotSignatureMapping.json
また、プロキシサーバーを設定し、プロキシを介して AWS クラウドからアプライアンスにシグネチャを定期的に更新することもできます。プロキシ設定の場合、ボット設定でプロキシ IP アドレスとポートアドレスを設定する必要があります。
次の図は、ボット署名がAWSクラウドから取得され、Citrixで更新され、Citrix ADM で署名更新の概要がどのように表示されるかを示しています。
ボットシグネチャ自動更新スケジューラは、次のことを行います。
-
AWS URI からマッピングファイルを取得します。
-
マッピングファイル内の最新のシグニチャを、ADC アプライアンスの既存のシグニチャでチェックします。
-
AWS から新しい署名をダウンロードし、署名の整合性を検証します。
-
既存のボット署名を、ボット署名ファイル内の新しい署名で更新します。
-
SNMPアラートを生成し、署名の更新の概要をNetScaler 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 GUI を使用してボットシグネチャの自動更新を設定する
ボット署名の自動更新を設定するには、次の手順を実行します。
-
-
詳細ペインの[ 設定 ]で、[ Citrix Bot管理設定の変更]をクリックします。
-
[Citrix Bot管理設定の構成]で、[ 署名の自動更新 ]チェックボックスをオンにします。
-
「 **OK」をクリックして「**閉じる」をクリックします。
ボットプロファイルは、ボットタイプの検出に使用されるボット管理設定の集まりです。プロファイルでは、Web App Firewall が各フィルタ(またはチェック)を Web サイトへのボットトラフィックに適用する方法と、それらからの応答を決定します。
ボットプロファイルを設定するには、次の手順を実行します。
-
-
-
[Citrix Bot管理プロファイルの作成 ]ページで、次のパラメーターを設定します。
-
名前。ボットプロファイル名。
-
署名。ボット署名ファイルの名前。
-
エラー URL。リダイレクトの URL。
-
-
ボットポリシーは、ボット管理システムへのトラフィックを制御し、監査ログサーバーに送信されるボットログも制御します。手順に従って、ボットポリシーを設定します。
-
-
-
[Citrix Bot管理ポリシーの作成 ]ページで、次のパラメーターを設定します。
-
名前。ボットポリシーの名前。
-
式。ポリシー式またはルールをテキスト領域に直接入力します。
-
ボットプロファイル。ボットポリシーを適用するボットプロファイル。
-
未定義のアクション。 割り当てるアクションを選択します。
-
-
ログアクション。ボットトラフィックを記録するための監査ログメッセージアクション。監査ログアクションの詳細については、「監査ログ」のトピックを参照してください。
-
1 秒あたりのトランザクション数 (TPS) ボット技術は、1 秒あたりの要求数 (RPS) と RPS の増加率が設定されたしきい値を超えた場合に、着信トラフィックをボットとして検出します。 この検出技術は、ウェブスクレイピングアクティビティ、ブルートフォースログイン、その他の悪意のある攻撃を引き起こす可能性のある自動ボットから Web アプリケーションを保護します。
ボット技術は、両方のパラメータが設定されていて、両方の値がしきい値制限を超えて増加した場合にのみ、着信トラフィックをボットとして検出します。 アプライアンスが特定のURLから多くのリクエストを受け取り、Citrixボット管理者にボット攻撃があるかどうかを検出させたいシナリオを考えてみましょう。TPS 検出技術は、1 秒以内に URL から送信された要求の数(設定値)と 30 分以内に受信された要求数の増加率(設定値)を調べます。値がしきい値制限を超えると、トラフィックはボットと見なされ、アプライアンスは設定されたアクションを実行します。
1 秒あたりのボットトランザクション (TPS) 手法の設定
TPS を設定するには、次の手順を完了する必要があります:
-
ボットの TPS を有効にする
-
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) を有効にする
開始する前に、アプライアンスでボット TPS 機能が有効になっていることを確認する必要があります。コマンドプロンプトで入力します:
set bot profile profile1 –enableTPS ON
Citrix GUIを使用して1秒あたりのボットトランザクション数(TPS)を構成する
1 秒あたりのボットトランザクションを設定するには、次の手順を実行します。
-
-
[Citrix Bot管理プロファイル ]ページで、プロファイルを選択して[ 編集]をクリックします。
-
[Citrix Bot管理プロファイルの作成 ]ページで、[ 署名の設定 ]セクションの[ TPS ]をクリックします。
-
セクションで、機能を有効にし、
をクリックします。
-
「 Citrix Bot 管理プロファイルの TPS バインディングの設定 」ページで、次のパラメータを設定します。
-
タイプ。検出手法で許可される入力タイプ。指定可能な値:ソース IP、 ジオロケーション、ホスト、URL。
SOURCE_IP — クライアント IP アドレスに基づいた TPS。
GEOLOCATION — クライアントの地理的位置に基づく TPS。
HOST-特定のバックエンドサーバーの IP アドレスに転送されたクライアント要求に基づく TPS。
URL — 特定の URL からのクライアント要求に基づく TPS。
-
固定しきい値。1 秒の間隔内に TPS 入力タイプから許可される要求の最大数。
-
パーセンテージしきい値。30 分以内の TPS 入力タイプからのリクエストの最大増加率。
-
操作。TPS バインディングによって検出されたボットに対して実行されるアクション。
-
ログ。TPS バインディングのログを有効または無効にします。
-
メッセージをログに記録します。TPS バインディングによって検出されたボットのログを記録するメッセージです。最大長:255
-
-
マウスとキーボードのダイナミクスに基づくボット検出
Citrix のボット管理では、ボットを検出してWebスクレイピングの異常を軽減するために、マウスとキーボードの動作に基づいた高度なボット検出技術を採用しています。人間の直接的なインタラクション(CAPTCHA検証など)を必要とする従来のボット手法とは異なり、強化された手法はマウスとキーボードのダイナミクスを受動的に監視します。次に、Citrixアプライアンスはリアルタイムのユーザーデータを収集し、人間とボットの間の行動を分析します。
マウスとキーボードのダイナミクスを用いたパッシブボット検出は、既存のボット検出メカニズムに比べて次のような利点があります。
マウスとキーボードのダイナミクスを使用したボット検出の仕組み
キーボードとマウスのダイナミクスを使用したボット検出技術は、ウェブページロガーとボット検出器の 2 つのコンポーネントで構成されています。ウェブページロガーは、ユーザーがウェブページでタスクを実行しているときのキーボードとマウスの動きを記録する JavaScript です(登録フォームへの入力など)。その後、ロガーはデータをCitrixアプライアンスにバッチで送信します。その後、アプライアンスはデータをKMレコードとして保存し、NetScaler ADMサーバーのボットディテクタに送信し、ユーザーが人間かボットかを分析します。
次の手順では、コンポーネントがどのように相互作用するかを説明します:
-
Citrix 管理者は、ADM StyleBook、CLI、NITRO、またはその他の方法でポリシー表現を構成します。
-
URL は、管理者がアプライアンスで機能を有効にすると、ボットプロファイルで設定されます。
-
クライアントが要求を送信すると、Citrixアプライアンスはセッションとセッション内のすべての要求を追跡します。
-
リクエストがボットプロファイルで設定された式と一致する場合、アプライアンスはレスポンスに JavaScript(ウェブページロガー)を挿入します。
-
JavaScript はすべてのキーボード、マウスアクティビティを収集し、KM データを POST URL (一時的) に送信します。
-
Citrixアプライアンスはデータを保存し、セッションの終了時にCitrix ADM サーバーに送信します。アプライアンスが POST 要求の完全なデータを受信すると、そのデータは ADM サーバーに送信されます。
-
NetScaler ADMサービスはデータを分析し、その分析に基づいてNetScaler ADMサービスGUIで結果を利用できます。
JavaScript ロガーは、次のマウスとキーボードの動きを記録します。
マウスとキーボードのダイナミクスを使用してボット検出を構成する
Citrixボット管理構成には、キーボードおよびマウスベースの検出機能の有効化または無効化、およびボットプロファイル内のJavaScriptURLの構成が含まれます。 マウスとキーボードのダイナミクスを使用してボットの検出を設定するには、次の手順を実行します。
-
キーボードとマウスベースの検出を有効にする
-
HTTP レスポンスに JavaScript を注入できるタイミングを決定する式を設定します。
設定を開始する前に、アプライアンスでキーボードおよびマウスベースのボット検出機能が有効になっていることを確認します。
コマンドプロンプトで入力します:
add bot profile <name> -KMDetection ( ON | OFF )
例:
add bot profile profile1 –KMDetection ON
トラフィックを評価し、JavaScript を挿入するボット式を設定します。JavaScript は、式が true と評価された場合にのみ挿入されます。
コマンドプロンプトで入力します:
bind bot profile <name> -KMDetectionExpr -name <string> -expression <expression> -enabled ( ON | OFF ) –comment <string>
例:
bind bot profile profile1 -KMDetectionExpr -name test -expression http.req.url.startswith("/testsite") -enabled ON
キーボードマウスベースのボット検出のために HTTP レスポンスに挿入された JavaScript ファイル名を設定する
ユーザーアクションの詳細を収集するために、アプライアンスは HTTP レスポンスに JavaScript ファイル名を送信します。JavaScript ファイルは KM レコードのすべてのデータを収集し、アプライアンスに送信します。
コマンドプロンプトで入力します:
set bot profile profile1 – KMJavaScriptName <string>
例:
set bot profile profile1 –KMJavaScriptName script1
KM レコードとしてアプライアンスに送信し、ADM サーバーで処理できるマウスとキーボードの動作データの最大サイズを設定できます。
コマンドプロンプトで入力します:
set bot profile profile1 -KMEventsPostBodyLimit <positive_integer>
例:
set bot profile profile1 – KMEventsPostBodyLimit 25
JavaScriptを構成してキーボードとマウスの動作生体認証を収集するようにCitrixアプライアンスを構成すると、アプライアンスはデータをCitrix ADM サーバーに送信します。NetScaler ADMサーバーが行動バイオメトリクスからボットを検出する方法の詳細については、「 ボット違反 」トピックを参照してください。
GUI を使用してキーボードとマウスのボットの式設定を構成する
-
-
[Citrix Bot 管理プロファイル]ページでプロファイルを選択し 、[ 編集]をクリックします。
-
-
検出を有効にします。このオプションを有効にすると、ボットベースのキーボードとマウスのダイナミクスの動作を検出できます。
-
イベント投稿本体の制限。Citrixアプライアンスが処理するためにブラウザから送信されるキーボードとマウスのダイナミクスデータのサイズ。
-
[OK] をクリックします。
-
Citrix Bot Managementプロファイルページで 、「 プロファイル設定 」セクションに移動し、「 キーボードとマウスベースのボット表現設定」をクリックします。
-
-
「 Citrix bot 管理プロファイルボットのキーボードとマウスの式バインディングの設定 」ページで、次のパラメータを設定します:
-
エクスプレッション名。検出キーボードとマウスのダイナミクスのボットポリシー式の名前。
-
式。ボットポリシー式。
-
Enabled。このチェックボックスをオンにすると、キーボードとボットのキーボードとマウスの式のバインドが有効になります。
-
。ボットポリシー式とボットプロファイルへのバインドについての簡単な説明。
-
「 **OK」をクリックして「**閉じる」をクリックします。
-
受信したリクエストがボットとして識別されると、Citrixアプライアンスは監視とトラブルシューティングのためにさらに多くのHTTPヘッダーの詳細を記録します。ボットの詳細ロギング機能は、Web App Firewall モジュールの詳細ロギングと似ています。
クライアントからの着信トラフィックを考えてみましょう。クライアントがボットとして識別された場合、Citrixアプライアンスは詳細なログ機能を使用して、完全なHTTPヘッダー情報(ドメインアドレス、URL、ユーザーエージェントヘッダー、Cookie ヘッダーなど)を記録します。ログの詳細は ADM サーバーに送信され、目的の監視とトラブルシューティングを行います。詳細ログメッセージは「ns.log」ファイルに保存されません。
詳細な HTTP ヘッダー情報をログとしてキャプチャするには、ボットプロファイルの verbose ロギングパラメータを設定します。コマンドプロンプトで入力します:
set bot profile <name> [-verboseLogLevel ( NONE | HTTP_FULL_HEADER ) ]
例:
set bot profile p1 –verboseLogLevel HTTP_FULL_HEADER
Citrix GUI を使用してボット詳細ログを構成する
次の手順に従って、ボットプロファイルで詳細ログレベルを設定します。
-
ナビゲーションペインで、[ セキュリティ]>[Citrix Bot 管理]に移動します。
-
[Citrix Bot管理プロファイル ]ページで、[ 追加]をクリックします。
-
[Citrix Bot管理プロファイルの作成 ]ページで、[詳細ログレベル]を[ HTTPフルヘッダー]として選択します。
-
Citrix ボット管理によってドロップされたリクエストヘッダー
キャッシュに関連するリクエストヘッダーの多くは、セッションのコンテキスト内のすべてのリクエストを表示するためにドロップされます。同様に、リクエストに Web サーバーが圧縮応答を送信できるようにするエンコーディングヘッダーが含まれている場合、ボット管理者はこのヘッダーを削除し、圧縮されていないサーバー応答の内容がボット管理によって検査され、JavaScript が挿入されます。
ボット管理者は以下のリクエストヘッダーを削除します。
範囲-失敗したファイル転送または部分的なファイル転送からの回復に使用されます。
If-Range-すでにキャッシュにそのオブジェクトの一部が含まれている場合、クライアントはオブジェクトの一部を取得できます (条件付き GET)。
If-Modified-Since-要求されたオブジェクトがこのフィールドで指定された時間以降に変更されていない場合、エンティティはサーバーから返されません。HTTP 304 変更されていないというエラーが表示されます。
If-None-Match-キャッシュされた情報を最小限のオーバーヘッドで効率的に更新できます。
Accept-Encoding-gzip などの特定のオブジェクトで許可されているエンコードメソッド。