ADC
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

ユースケース:IP ブラックリストを使用したクライアントのフィルタリング

HTTP コールアウトは、管理者がブラックリストに載っているクライアントからの要求をブロックするために使用できます。クライアントのリストには、一般に知られているブラックリスト、組織で管理するブラックリスト、またはその両方の組み合わせを使用できます。

Citrix ADCアプライアンスは、事前設定されたブラックリストに対してクライアントのIPアドレスをチェックし、IPアドレスがブラックリストに登録されている場合はトランザクションをブロックします。IPアドレスがリストにない場合、アプライアンスはトランザクションを処理します。

この設定を実装するには、次のタスクを実行する必要があります。

  1. Citrix ADCアプライアンスでレスポンダーを有効にします。
  2. Citrix ADCアプライアンスでHTTPコールアウトを作成し、外部サーバーの詳細およびその他の必須パラメータを使用して設定します。
  3. 応答側ポリシーを設定して、HTTP コールアウトへの応答を分析し、ポリシーをグローバルにバインドします。
  4. リモートサーバに HTTP コールアウトエージェントを作成します。

レスポンダの有効化

応答側を使用するには、応答側を有効にする必要があります。

GUI を使用してレスポンダを有効にするには

  1. レスポンダーライセンスがインストールされていることを確認します。
  2. 構成ユーティリティで、[AppExpert]を展開し、[ レスポンダー]を右クリックして、[ レスポンダー 機能を有効にする]をクリックします。

Citrix ADCアプライアンスでのHTTPコールアウトの作成

次の表に示すパラメータ設定を使用して、HTTP コールアウト HTTP_Callout を作成します。HTTP コールアウトの作成の詳細については、「 HTTP コールアウト PDF の設定 」を参照してください。

レスポンダーポリシーを構成し、グローバルにバインドする

HTTP コールアウトを設定したら、コールアウト設定を確認し、コールアウトを呼び出すようにレスポンダーポリシーを設定します。[ Policies] サブノードでレスポンダーポリシーを作成し、 レスポンダーポリシーマネージャーを使用してグローバルにバインドできますが、このデモでは、 レスポンダーポリシーマネージャーを使用してレスポンダーポリシーを作成し、ポリシーをグローバルにバインドします。

レスポンダーポリシーを作成し、usin によってグローバルにバインドするには

  1. [AppExpert] > [応答者] に移動します。
  2. 詳細ペインの [ポリシーマネージャ] で、[ポリシーマネージャ] をクリックします。
  3. [レスポンダーポリシーマネージャー] ダイアログボックスで、[グローバルに上書き] をクリックします。
  4. [ポリシーの挿入] をクリックし、[ポリシー名] の [新しいポリシー] をクリックします。
  5. [レスポンダーポリシーの作成] ダイアログボックスで、次の操作を行います。

    1. [名前] に「 ポリシー応答1」と入力します。
    2. [ アクション]で、[ リセット]を選択します。
    3. [ 未定義の結果のアクション]で、[ グローバルな未定義の 結果のアクション]を選択します。
    4. [式]に、次の既定の構文式を入力します。

      "HTTP.REQ.HEADER("Request").EQ("Callout Request").NOT && SYS.HTTP_CALLOUT(HTTP_Callout).CONTAINS("IP Matched")"
    5. [Create] をクリックしてから、[Close] をクリックします。
  6. [ 変更を適用]をクリックし、[ 閉じる]をクリックします。

リモートサーバでの HTTP コールアウトエージェントの作成

ここで、Citrix ADCアプライアンスからコールアウト要求を受信し、適切に応答するHTTPコールアウトエージェントをリモートコールアウトサーバー上に作成する必要があります。HTTP コールアウトエージェントは、展開ごとに異なるスクリプトです。データベースの種類やサポートされるスクリプト言語など、サーバーの仕様を念頭に置いて記述する必要があります。

次に、指定した IP アドレスが IP ブラックリストの一部であるかどうかを検証するコールアウトエージェントの例を示します。エージェントはPerlスクリプト言語で書かれており、MYSQLデータベースを使用しています。

次の CGI スクリプトは、コールアウトサーバー上の指定された IP アドレスをチェックします。

#!/usr/bin/perl -w print "Content-type: text/html\n\n"; use DBI(); use CGI qw(:standard); #Take the Client IP address from the request query my $ip_to_check = param('cip'); # Where a MYSQL database is running my $dsn = 'DBI:mysql:BAD_CLIENT:localhost'; # Database username to connect with my $db_user_name = ‘dbuser’; # Database password to connect with my $db_password = 'dbpassword'; my ($id, $password); # Connecting to the database my $dbh = DBI->connect($dsn, $db_user_name, $db_password); my $sth = $dbh->prepare(qq{ select * from bad_clnt }); $sth->execute(); while (my ($ip_in_database) = $sth->fetchrow_array()) { chomp($ip_in_database); # Check for IP match if ($ip_in_database eq $ip_to_check) { print "\n IP Matched\n"; $sth->finish(); exit; } } print "\n IP Failed\n"; $sth->finish(); exit;
このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。
ユースケース:IP ブラックリストを使用したクライアントのフィルタリング