Apigee Sense Console を使ってみる

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご覧ください。

このトピックでは、Apigee Sense コンソールの概要について説明します。コンソールでは、API プロキシへのトラフィックの Apigee Sense 分析結果を確認できます。bot 攻撃などの不審なリクエストを見分けた場合は、コンソールを使用してそのクライアントの IP アドレスからのリクエストをブロックまたは報告します。

Apigee Sense についてで説明されているように、Apigee Sense は、API へのリクエストに関するデータを収集、分析します。この分析を通じて、Apigee Sense は不審なリクエストを表す可能性のあるパターンを特定します。Apigee Sense コンソールを使用すると、リクエスト分析の結果を表示して操作できます。

  1. New Edge エクスペリエンスを開きます。
  2. New Edge エクスペリエンスで、[Analyze] メニューをクリックし、[Sense] をクリックします。

  3. [Sense] ページに、不審なリクエストなど、リクエスト アクティビティのグラフィカルなスナップショットが表示されます

  4. コンソールの右上で、リクエスト データを表示する Apigee Edge 組織を選択します。

    これは、Apigee Sense がリクエスト データを収集している API プロキシを含む組織です。

  5. 左上で、Apigee Sense 分析データのある日付を選択します。

    日付を選択すると、このページのグラフに、リクエスト トラフィックなどの Apigee Sense 分析の概要が表示されます。

リクエスト分析の概要を表示する

不審なアクティビティの概要を確認できます。これを使用すると、さらに詳細を確認できます。

  1. ページの上部で [検出] > [レポート] メニューをクリックし、リクエストから検出された不審なアクティビティに関するデータを表示します。

    [bot 分析レポート] ページの上部にある [bot のトラフィックの疑い] に、トラフィックの概要と不審なリクエストごとの測定が表示されます。

    また、[検出] ページでは、不審なアクティビティを 2 つのビューで確認できます。

    • [パーティション ビュー] では、Apigee Sense が疑わしいと提示した理由別にクライアントをグループ化します。
    • リスト表示では、リクエスト クライアントを IP アドレスごとに一覧表示し、データの他の側面も表示できます。
  2. [パーティション ビュー] には、不審なアクティビティを表すパターンに分類されたトラフィックが表示されます。パターンについて詳しくは、不審なアクティビティに対処するをご覧ください。これらのパターンにグループ化されたリクエスト トラフィックは、リクエスト データを Apigee Sense で分析したプロダクトです。

    パターンに準拠するすべてのリクエストが不正行為とは限りません。非常に多くの bot 数やトラフィック数を探している場合。

    たとえば、Login Attempter パターンは、24 時間以内にログイン プロキシに到達しようとした回数を表します。次の図では、bot 数が非常に多い(他のパターンと比較して)ことが、多数のクライアントが 1 日でログイン プロキシに到達しようとしていることを示しています。このパターンを調査する価値はあります。

分析の詳細を使った調査

bot 攻撃など、不審なアクティビティを含んでいる可能性がある一連のリクエストを特定したら、そのリクエストの詳細を確認できます。本物の bot 攻撃を隔離するには、Apigee Sense 分析と、API を呼び出すクライアントに関する独自の知識を組み合わせる必要があります。

  1. [検出] ページの [パーティション ビュー] で、該当するパターン(非常に高い bot 数など)を見つけ、[表示] ボタンをクリックして、パターンの詳細を表示します。

    ここでは、選択したパターンに沿ったアクティビティの詳細が表示されます。このリストには注目すべきデータがあります。

    • IP アドレスの数が非常に多く、24 時間で数千も存在する。
    • これらの IP の背後にある自律システム(AS)の組織は比較的少数で、AS 組織は地理的に分散しています。
    • bot トラフィックの数は IP 間で 250 ~ 260 程度とかなり一貫しています。これは、bot トラフィックの割合の測定でも表されます。

    まとめると、これらの IP からのリクエストは、ログイン URI に対する機械的の調整された攻撃を示していることを示しています。

  2. 1 つのクライアントの詳細を表示するには、左側の列にあるいずれかの IP アドレスをクリックします。

  3. [検出] タブをクリックして、Apigee Sense が IP アドレスからのリクエストについて検出した内容を確認します。

    ダイアログの上部に、この IP アドレスからのリクエストに対して Apigee Sense で検出された動作のリストが表示されます。

    [検出] で、プルダウンのカテゴリを使用して、IP アドレスからのリクエストを Apigee Edge で処理するかどうかを決定します。たとえば、次の値カテゴリは、IP アドレスが攻撃を表しているかどうかを判断するのに役立ちます。

    • レスポンス ステータス コード。500 などの多数のエラーコードがリストに含まれる場合、クライアントは誤ったリクエストを繰り返し試行していることになります。つまり、クライアントはエラー結果を確認せずに、単純にリクエストを繰り返し送信しています。
    • リクエスト URI。一部の URI は、攻撃ポイントとして特に重要です。ログイン URI はその 1 つです。
  4. [保護] タブをクリックして、この IP アドレスからのリクエストに対してすでに有効になっている保護ルールのリストを表示します。

    ルールは、優先度の高いアクション(Allow)が一番上、一番下に Flag(フラグ)が下に表示されます。Apigee Sense では、1 つの IP アドレスに対して複数のアクションを実行できます。これは通常、複数の IP アドレスを含む動作(総当たり攻撃をブロックするなど)に対処しているためです。ただし、一部の IP アドレスは Brute Guessor などの望ましくない動作パターンに適合しますが、ユーザーまたはパートナーがシステムをテストするときなど、友好的な IP アドレスになることもあります。その場合は、特定の IP アドレスの動作にかかわらず、こうした IP アドレスを許可します。IP アドレスに対して 3 種類すべてのアクションが有効になりますが、Allow アクションは Block または Flag アクションよりも優先されます。

    IP が操作対象のクライアントを表していることを確認したら、そのクライアントからのリクエストをインターセプトします。

  5. [Detail View] で [Close] ボタンをクリックします。

不審なリクエストを行っているクライアントに対処する

bot 攻撃などのリクエストをインターセプトするクライアントがいるという確信はありますか?リクエストがプロキシに到達する前に、クライアントからのリクエストをブロックまたは報告するルールを作成します。

  1. [検出] ページの bot 分析レポートで、[Partition View] タブをクリックしてパターンリストに戻ります。

    [Partition View] では、パターンリストが短縮されて、先ほど表示するよう選択したパターンのみが含まれるようになっています。これは、パターンを表示するよう選択したときに、結果の完全なリストを、そのパターンのみにフィルタし始めたためです。フィルタしたパターンは、ページ上部の [フィルタ] ボックスに表示されます。

  2. パターンの行で [動作] ボタンをクリックして、パターンに一致する IP からのリクエストに対するアクションを指定します。

  3. [Compose Rule] ダイアログで、選択したパターンで呼び出しを行う IP からのリクエストに対して Apigee Edge がどのように応答するかを定義します。

    ここでは、パターンで IP からリクエストを受信したときに Apigee Edge が使用するルールを指定します。

    1. 新しいルールの名前を入力します(例: Block login attempters)。
    2. [Filter List] で、Apigee Edge で実行するアクションを選択します。

      • リクエストをプロキシに許可します。
      • プロキシによるリクエストの処理を開始する前に、リクエストを完全にブロックします。
      • Apigee Edge に、プロキシが検索できる特別な HTTP ヘッダーを追加して、リクエストにフラグを設定します。Apigee Edge では、値が SENSEX-SENSE-BOT-DETECTED ヘッダーが追加されます。たとえば、あるクライアントからリクエストを受け取ったときにダミーデータを送り返して、クライアントを誤解させるようなプロキシを設定できます。プロキシでは、受信リクエストのヘッダーを調べ、フラグが付けられたリクエストを受信したときに適切に応答します。
    3. [Rules] ボックスで、表示されたルールが Apigee Sense でルールの作成時に使用するルールであることを確認します。

    4. [有効] で [はい] を選択してルールを有効にします。

    5. ルールの期限が切れるまでの期間を選択します(Apigee Edge によるルールの適用は停止します)。

  4. [作成] をクリックして、Apigee Edge にルールを送信します。

作成したルールを確認する

特定のクライアントに応答するルールを適用している場合は、[保護ルール] ページでルールを管理できます。

  1. ページ上部の [保護] > [ルール] メニューをクリックすると、適用されているルールのリストが表示されます。
  2. [保護ルール] ページで、作成したルールのリストを表示できます。ここで次の操作を行えます。
    • 検索ボックスに値を入力すると、名前や IP アドレスなど、リスト内の値でルールをフィルタリングできます。
    • ルールの詳細を表示したり、実行している IP を確認したりできます。
    • [ルールをフィルタ] 列の値をクリックして、ルールの構成要素を確認します。
    • ルールを有効または無効にします。