SIEM ソリューションへの Apigee の統合

このページは ApigeeApigee ハイブリッドに適用されます。

多くの組織は、Apigee をセキュリティ情報およびイベント管理(SIEM)ソリューションと統合しようとしています。この統合により、Apigee データと他のネットワーク プロダクトやセキュリティ プロダクトのログとの有益な関連付けを行うことが可能になり、高度な脅威検出、包括的なロギング、コンプライアンス レポートの作成を容易にできます。このドキュメントでは、Advanced API Security アドオンありとなしの両方のシナリオに対応するさまざまな統合アプローチについて説明します。

オーディエンス

このドキュメントは、以下に示す読者などを対象としています。

  • API 管理者: API のセキュリティの確保、プラットフォーム構成の管理、運用効率の向上、セキュリティ コンプライアンス要件の遵守を担当します。
  • セキュリティ アナリスト: API 関連のセキュリティ インシデントを事前に検出して調査し、リスクを最小限に抑えて機密データを保護することに重点を置いています。

構成オプション

Apigee には、ログ情報を SIEM に送信するための 2 つの主要な方法が用意されています。

オプション 説明
Google Cloud Platform のログ デバッグやトラブルシューティングに役立つサービス固有のログなど、基本的なレベルの API ログデータを提供します。
Apigee Message Logging ポリシー メッセージ ロギング ポリシーは、柔軟性と制御性を高め、特定のフロー変数を含む幅広い Apigee ログデータを SIEM に送信できるようにします。

Apigee を SIEM と統合する

Apigee の適応性により、選択した SIEM ソリューションとのスムーズな統合が実現します。統合の一般的な手順は次のとおりです。

  1. 統合方法を選択します。データ要件と SIEM 機能に基づいて、Google Cloud Platform ログまたは Apigee のメッセージ ロギング ポリシーを選択します。
  2. データ転送を確立します。データ転送を確立するには、目的のログデータを SIEM に送信するように Apigee を構成します。この構成の基本的な手順は次のとおりです。具体的な手順は、SIEM システムの設定と構成の詳細によって異なります。
    1. Apigee と SIEM 間の接続または統合を設定します。
    2. SIEM に転送する Apigee のログまたはイベントを SIEM 構成で指定します。
    3. Apigee データを受信して処理するために SIEM 内で必要な権限を付与します。
  3. データ構造を調整する。Apigee ログフィールドとフロー変数client.iprequest.uri など)をSIEM のデータモデルの対応するフィールドにマッピングします。この調整により、SIEM は Apigee データを正しく解釈して分類し、効率的に分析を行い他のセキュリティ イベントとの相関関係を確立できます。

Advanced API Security データをログに記録する

Advanced API Security の不正行為の検出によって識別されたデータをログに記録する場合は、Apigee メッセージ ロギング ポリシーでアクションを使用できます。

手順は次のとおりです。

  1. Advanced API Security のアクションを使用して、ログに記録するルールにフラグを設定します。
  2. アクションによって追加されたヘッダーを使用して、メッセージ ロギング ポリシーをトリガーし、フラグが設定されたリクエストをログに記録します。たとえば、次の画像は、アクション UI で値 abuse を使用して構成されたヘッダー apisec を示しています。

    API Security アクション UI で値の不正使用によって構成されたヘッダー apisec を示すスクリーンショット

    この例に沿って、ヘッダーが検出されたときにトリガーするようにメッセージ ロギング ポリシーを構成できます。

    <PostFlow name="PostFlow">
      <Request>
        <Step>
          <Condition>request.header.apisec="abuse"</Condition>
          <Name>LogMessagePolicy</Name>
        </Step>
      </Request>
    </PostFlow>

例: Apigee Message Logging ポリシーを使用する

この例では、Apigee のログデータを SIEM に送信するように Apigee のメッセージ ロギング ポリシーを構成する方法を示します。このオプションでは、メッセージ ロギング ポリシーで、SIEM に送信する Apigee のフロー変数を指定します。このオプションを使用すると、Cloud プラットフォームのログオプションで取得するよりも詳細なログ情報を SIEM に送信できます。

  1. Apigee データの SIEM への取り込みを有効にします。
  2. 次の XML 本文を使用して、メッセージ ロギング ポリシーを作成します。ご不明な点がおありの場合は、UI でのポリシーの接続と構成をご覧ください。
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <MessageLogging continueOnError="false" enabled="true" name="ML-SIEM-Integration">
          <CloudLogging>		
            <LogName>projects/{organization.name}/logs/Apigee-SIEM-Integration-{environment.name}</LogName>
            <Message contentType="application/json" defaultVariableValue="unknown"> 
            {
              "apigee.metrics.policy.{policy_name}.timeTaken": "{apigee.metrics.policy.{policy_name}.timeTaken}",
              "client.country": "{client.country}", 
              "client.host": "{client.host}",
              "client.ip": "{client.ip}",
              "client.locality": "{client.locality}",
              "client.port": "{client.port}",
             "client.state": "{client.state}",
              "organization.name": "{organization.name}",
            "proxy.client.ip": "{proxy.client.ip}",
            "proxy.name": "{proxy.name}",
            "proxy.pathsuffix": "{proxy.pathsuffix}",
            "proxy.url": "{proxy.url}",
            "request.uri": "{request.uri}",
            "request.verb": "{request.verb}",
            "response.content": "{response.content}",
            "response.reason.phrase": "{response.reason.phrase}",
            "response.status.code": "{response.status.code}",
            "system.region.name": "{system.region.name}",
            "system.timestamp": "{system.timestamp}",
            "system.uuid": "{system.uuid}",
            "target.country": "{target.country}",
            "target.host": "{target.host}",
            "target.ip": "{target.ip}",
            "target.locality": "{target.locality}",
            "target.organization": "{target.organization}",
            "target.port": "{target.port}",
            "target.scheme": "{target.scheme}",
            "target.state": "{target.state}",
            "target.url": "{target.url}"
            }
             </Message>
          </CloudLogging>
        </MessageLogging>
  3. ポリシーを Proxy Endpoint Post Flow に接続します。UI でのポリシーの接続と構成をご覧ください。

API プロキシがトラフィックを処理すると、ロギング ポリシーはリクエストとレスポンスから指定されたフィールドをキャプチャし、分析とデバッグのためにログファイルに書き出します。