Microsoft Defender for Cloud アラートログを収集する

以下でサポートされています。

概要

このパーサーは、Microsoft Defender for Cloud の JSON 形式のログからセキュリティ アラート データを抽出します。未加工のログフィールドを Google SecOps UDM に変換してマッピングし、さまざまなデータ型とネスト構造を処理します。また、分析を改善するために、追加のコンテキストとラベルでデータを拡充します。

始める前に

次の前提条件を満たしていることを確認します。

  • Google SecOps インスタンス。
  • Microsoft Defender for Cloud への特権アクセス。

フィードを設定する

Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。

  • [SIEM 設定] > [フィード]
  • [Content Hub] > [Content Packs]

[SIEM 設定] > [フィード] でフィードを設定する

フィードを構成する手順は次のとおりです。

  1. [SIEM Settings] > [Feeds] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一のフィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Microsoft Defender for Cloud アラートログ)。
  5. [Source type] として [Webhook] を選択します。
  6. [Log type] として [Microsoft Defender for Cloud] を選択します。
  7. [次へ] をクリックします。
  8. 省略可: 次の入力パラメータの値を指定します。
    • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。
  9. [次へ] をクリックします。
  10. [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。
  11. [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
  12. 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により以前の秘密鍵は無効になります。
  13. [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。
  14. [完了] をクリックします。

コンテンツ ハブからフィードを設定する

次のフィールドに値を指定します。

  • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。

詳細オプション

  • フィード名: フィードを識別する事前入力された値。
  • ソースタイプ: Google SecOps にログを収集するために使用される方法。
  • アセットの名前空間: フィードに関連付けられた名前空間。
  • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。

  • [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。

  • 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により以前の秘密鍵は無効になります。

  • [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。

Webhook フィード用の API キーを作成する

  1. Google Cloud コンソール > [認証情報] に移動します。

    [認証情報] に移動

  2. [認証情報を作成] をクリックして [API キー] を選択します。

  3. API キーのアクセスを Google Security Operations API に制限します。

エンドポイント URL を指定する

  1. クライアント アプリケーション内で、Webhook フィードで提供される HTTPS エンドポイント URL を指定します。
  2. 次の形式でカスタム ヘッダーの一部として API キーと秘密鍵を指定して、認証を有効にします。

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    推奨事項: API キーは URL 内ではなくヘッダーとして指定してください。Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーと秘密鍵を指定できます。

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

以下を置き換えます。

  • ENDPOINT_URL: フィード エンドポイントの URL。
  • API_KEY: Google Security Operations に対する認証に使用する API キー。
  • SECRET: フィードの認証用に生成した秘密鍵。

Azure Logic App を作成する

  1. Azure Portal(https://portal.azure.com)にログインします。
  2. [Create a resource] をクリックし、[Logic App] を検索します。
  3. [Create] をクリックして、デプロイ プロセスを開始します。
  4. Logic App を構成する:
    • Name: Logic App のわかりやすい名前を指定します(例: GoogleSecOpsWebhook)。
    • Subscription: 該当するサブスクリプションを選択します。
    • Resource Group: 既存のリソース グループを選択するか、新しいリソース グループを作成します。
    • Location: 環境に最も近いロケーションを選択します。
    • Log Analytics: Logic App の診断データをロギングする場合は、このオプションを有効にします。
  5. [Review + Create] をクリックして、Logic App を作成します。
  6. [Create] をクリックして、Logic App をデプロイします。

Azure Logic App Webhook 接続を構成する

  1. 前の手順で作成した Logic App に移動します。
  2. [Development Tools] > [Logic App Designer] をクリックします。
  3. [Add a trigger] をクリックします。
  4. トリガーとして [Microsoft Defender for Cloud] > [When a Microsoft Defender for Cloud alert is created or triggered] を検索します。

  5. [Create new] をクリックし、画面の指示に沿って認証します。

  6. [Insert a new step] をクリックして、ワークフローに新しいステップを追加します。

  7. [Add an action] をクリックします。

  8. HTT」を検索します。

  9. アクションとして [HTTP] を選択します。

  10. HTTP アクションを構成します。

    • URI: Google SecOps API エンドポイントの URL を入力します。
    • Method: POST
    • Add Content-Type header: Content-Type をヘッダーキーとして、application/json をヘッダー値として設定します。これにより、送信されるデータの形式が Google SecOps に通知されます。
    • Add API Key to queries: key を最初のクエリキーとして、<API_KEY> をクエリ値として設定します。API_KEY は、Google SecOps フィード構成時に生成された API キーの値です。
    • Add Secret Key to queries: secret を 2 番目のクエリキーとして、<SECRET_KEY> をクエリ値として設定します。SECRET_KEY は Google SecOps フィード構成時に生成された秘密鍵です。
    • Set Body from previous step: [Enter request content] > [Enter the data from previous steps](入力フィールドの左側にある稲妻アイコンのボタン)をクリックします。
  11. [Save] をクリックします。

Microsoft Defender Cloud Alerts Webhook を構成する

  1. Microsoft Defender for Cloud に移動します。
  2. [Management] > [Workflow automation] をクリックします。
  3. [Add workflow automation](ワークフローの自動化を追加)をクリックします。
    • Name: 自動化ルールにわかりやすい名前を付けます(例: ForwardAlertsToGoogleSecOps)。
    • Resource Group: 既存のリソース グループを選択します。
    • Defender for Cloud data type: [Security alert] を選択します。
    • Alert severity: [Select all] を選択します。
    • Show Logic App instances from the following subscriptions: Logic App が作成されたサブスクリプションを選択します。
    • Select Logic App: 前の手順で作成した Logic App を選択します。
  4. [Create] をクリックして、ワークフローの自動化を保存します。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
AlertLink principal.resource.attribute.labels.AlertLink.value 直接マッピングされます。
AlertName security_result.rule_name 直接マッピングされます。
AlertSeverity security_result.severity 値が HIGH、MEDIUM、LOW、CRITICAL、UNKNOWN_SEVERITY のいずれかである場合は、直接マッピングされます。それ以外の場合は security_result.severity_details にマッピングされます。値は比較前に大文字に変換されます。
AlertType security_result.threat_name 直接マッピングされます。
CompromisedEntity principal.resource.attribute.labels.CompromisedEntity.value 直接マッピングされます。
Description security_result.description 直接マッピングされます。
DisplayName security_result.summary 直接マッピングされます。
EndTime about.resource.attribute.labels.EndTime.value 直接マッピングされます。
Entities[].Location.City principal.location.city 直接マッピングされます。
Entities[].Location.CountryName principal.location.country_or_region 直接マッピングされます。
ExtendedLinks[].Category about.resource.attribute.labels.extendedLink_Category.value 直接マッピングされます。
ExtendedLinks[].Href about.resource.attribute.labels.extendedLink_Href.value 直接マッピングされます。
ExtendedLinks[].Label about.resource.attribute.labels.extendedLink_Label.value 直接マッピングされます。
ExtendedLinks[].Type about.resource.attribute.labels.extendedLink_Type.value 直接マッピングされます。
ExtendedProperties.Account Session Id network.session_id accountSessionId に名前変更された後、直接マッピングされます。
ExtendedProperties.Alert Id metadata.product_log_id alertId に名前変更された後、直接マッピングされます。
ExtendedProperties.Authentication type extensions.auth.auth_details authenticationType に名前変更された後、直接マッピングされます。
ExtendedProperties.Client Application principal.application clientApplication に名前変更された後、直接マッピングされます。
ExtendedProperties.Client Hostname principal.asset.hostnameprincipal.hostname clientHostName に名前変更された後、直接マッピングされます。
ExtendedProperties.Client IP address principal.asset.ipprincipal.ip clientIpAddress に名前変更された後、直接マッピングされます。
ExtendedProperties.Client IP location principal.location.country_or_region clientIpLocation に名前変更された後、直接マッピングされます。
ExtendedProperties.Client Location principal.location.country_or_region clientLocation に名前変更された後、直接マッピングされます。
ExtendedProperties.Client Principal Name principal.user.userid clientPrincipalName に名前変更された後、直接マッピングされます。
ExtendedProperties.Compromised Host principal.asset.hostnameprincipal.hostname compromisedHost に名前変更された後、直接マッピングされます。
ExtendedProperties.Suspicious Command Line target.process.command_line suspiciousCommandLine に名前変更された後、直接マッピングされます。
ExtendedProperties.Suspicious Process target.process.file.full_path suspiciousProcess に名前変更された後、直接マッピングされます。
ExtendedProperties.Suspicious Process Id target.process.pid suspiciousProcessId に名前変更された後、直接マッピングされます。
ExtendedProperties.User agent network.http.user_agent userAgent に名前変更された後、直接マッピングされます。
ExtendedProperties.User Name principal.user.user_display_name userName に名前変更された後、直接マッピングされます。
ExtendedProperties.resourceType principal.resource.name 直接マッピングされます。
IsIncident security_result.detection_fields.IsIncident.value 直接マッピングされます。文字列に変換されます。
ProcessingEndTime about.resource.attribute.labels.ProcessingEndTime.value 直接マッピングされます。
ProductName metadata.product_name 直接マッピングされます。
ResourceId principal.resource.product_object_id 直接マッピングされます。
SourceSystem security_result.detection_fields.SourceSystem.value 直接マッピングされます。
StartTime about.resource.attribute.labels.StartTime.value 直接マッピングされます。
Status security_result.detection_fields.Status.value 直接マッピングされます。
SystemAlertId metadata.product_log_id 直接マッピングされます。
Tactics security_result.attack_details.tactics.name 直接マッピングされます。
TenantId additional.fields.TenantId.string_value 直接マッピングされます。
TimeGenerated about.resource.attribute.labels.TimeGenerated.value 直接マッピングされます。
VendorName metadata.vendor_name 直接マッピングされます。
WorkspaceResourceGroup target.resource.attribute.labels.WorkspaceResourceGroup.value 直接マッピングされます。
WorkspaceSubscriptionId target.resource.attribute.labels.WorkspaceSubscriptionId.value 直接マッピングされます。
_Internal_WorkspaceResourceId target.resource.product_object_id 直接マッピングされます。
properties.alertDisplayName security_result.rule_name 直接マッピングされます。
properties.alertType security_result.threat_name 直接マッピングされます。
properties.alertUri principal.resource.attribute.labels.AlertUri.value 直接マッピングされます。
properties.correlationKey principal.resource.attribute.labels.correlationKey.value 直接マッピングされます。
properties.description security_result.description 直接マッピングされます。
properties.endTimeUtc additional.fields.EndTime.string_value 直接マッピングされます。
properties.entities[].location.city principal.location.city 直接マッピングされます。
properties.entities[].location.countryName principal.location.country_or_region 直接マッピングされます。
properties.entities[].location.latitude principal.location.region_coordinates.latitude 直接マッピングされます。浮動小数点数に変換されます。
properties.entities[].location.longitude principal.location.region_coordinates.longitude 直接マッピングされます。浮動小数点数に変換されます。
properties.extendedProperties.alert_Id metadata.product_log_id 直接マッピングされます。
properties.extendedProperties.clientApplication principal.application 直接マッピングされます。
properties.extendedProperties.clientIpAddress principal.asset.ipprincipal.ip 直接マッピングされます。IP アドレスとして解析されます。
properties.extendedProperties.clientLocation principal.location.country_or_region 直接マッピングされます。
properties.extendedProperties.clientPrincipalName principal.user.userid 直接マッピングされます。
properties.extendedProperties.compromisedEntity principal.resource.attribute.labels.CompromisedEntity.value 直接マッピングされます。
properties.extendedProperties.resourceType principal.resource.name 直接マッピングされます。
properties.IsIncident security_result.detection_fields.isIncident.value 直接マッピングされます。文字列に変換されます。
properties.productName metadata.product_name 直接マッピングされます。
properties.resourceIdentifiers[].<key> additional.fields.<key>_<index>.string_value 直接マッピングされます。キー $idtype には、配列内の要素のインデックスが付加されます。
properties.severity security_result.severity 値が HIGH、MEDIUM、LOW、CRITICAL、UNKNOWN_SEVERITY のいずれかである場合は、直接マッピングされます。それ以外の場合は security_result.severity_details にマッピングされます。値は比較前に大文字に変換されます。
properties.startTimeUtc additional.fields.StartTime.string_value 直接マッピングされます。
properties.status security_result.detection_fields.Status.value 直接マッピングされます。
properties.timeGeneratedUtc additional.fields.TimeGenerated.string_value 直接マッピングされます。ログに指定されていない場合は、「MICROSOFT_DEFENDER_CLOUD_ALERTS」に設定されます。「MICROSOFT_DEFENDER_CLOUD_ALERTS」に設定されます。プリンシパルまたはターゲットが存在する場合は「USER_RESOURCE_ACCESS」に設定し、それ以外の場合は「GENERIC_EVENT」に設定します。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。