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

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

概要

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

始める前に

  • Google SecOps インスタンスがあることを確認します。
  • Microsoft Defender for Cloud への特権アクセス権があることを確認します。

Microsoft Defender for Cloud のアラートログを取り込むように Google SecOps でフィードを構成する

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

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 Apps 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 アラート 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」に設定します。principal または target が存在する場合は「USER_RESOURCE_ACCESS」に設定し、それ以外の場合は「GENERIC_EVENT」に設定します。

変更

2024-07-05

  • 「isInteractive」を「security_result.detection_fields」にマッピングしました。

2024-04-02

  • 「properties.createdDateTime」を「metadata.event_timestamp」にマッピングしました。
  • 「properties.resourceServicePrincipalId」と「resourceServicePrincipalId」を「target.resource.attribute.labels」にマッピングしました。
  • 「properties.authenticationProcessingDetails」、「authenticationProcessingDetails」、「properties.networkLocationDetails」を「additional.fields」にマッピングしました。
  • 「properties.userAgent」を「network.http.user_agent」と「network.http.parsed_user_agent」にマッピングしました。
  • 「properties.authenticationRequirement」を「additional.fields」にマッピングしました。

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