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

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

概要

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

始める前に

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

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

  1. [SIEM 設定] > [フィード] に移動します。
  2. [新しく追加] をクリックします。
  3. [フィード名] フィールドに、フィードの名前を入力します(例: Microsoft Defender for Cloud アラートログ)。
  4. [ソースタイプ] として [Webhook] を選択します。
  5. [ログタイプ] として [Microsoft Defender for Cloud] を選択します。
  6. [次へ] をクリックします。
  7. 省略可: 次の入力パラメータの値を指定します。
    • 分割区切り文字: ログ行を区切るために使用される区切り文字(\n など)。
    • アセットの名前空間: アセットの名前空間
    • 取り込みラベル: このフィードのイベントに適用されるラベル。
  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. [リソースを作成] をクリックし、[Logic App] を検索します。
  3. [作成] をクリックして、デプロイ プロセスを開始します。
  4. Logic App を構成します。
    • 名前: Logic App のわかりやすい名前を入力します(例: GoogleSecOpsWebhook)。
    • サブスクリプション: 該当するサブスクリプションを選択します。
    • リソース グループ: 既存のリソース グループを選択するか、新しいリソース グループを作成します。
    • ロケーション: 環境に最も近いロケーションを選択します。
    • ログ分析: Logic App の診断データをロギングする場合は、このオプションを有効にします。
  5. [確認 + 作成] をクリックして、Logic App を作成します。
  6. [作成] をクリックして、Logic App をデプロイします。

Azure Logic Apps Webhook 接続を構成する

  1. 前の手順で作成した Logic App に移動します。
  2. [開発ツール] > [Logic App Designer] をクリックします。
  3. [トリガーを追加] をクリックします。
  4. トリガーとして [Microsoft Defender for Cloud] > [Microsoft Defender for Cloud アラートが作成またはトリガーされたとき] を検索します。

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

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

  7. [アクションを追加] をクリックします。

  8. [HTT] を検索します。

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

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

    • URI: Google SecOps API エンドポイントの URL を入力します。
    • メソッド: POST
    • Content-Type ヘッダーを追加する: Content-Type をヘッダーキーとして、application/json をヘッダー値として設定します。これにより、送信されるデータの形式が Google SecOps に通知されます。
    • クエリに API キーを追加する: key を最初のクエリキーとして、<API_KEY> をクエリ値として設定します。API_KEY は、Google SecOps フィード構成中に生成された API キー値です。
    • クエリに Secret Key を追加する: secret を 2 番目のクエリキーとして、<SECRET_KEY> をクエリ値として設定します。SECRET_KEY は、Google SecOps フィード構成時に生成されたシークレット キーです。
    • 前のステップの本文を設定する: [リクエスト コンテンツを入力] > [前のステップのデータの入力](入力フィールドの左側にある稲妻アイコンのボタン)をクリックします。
  11. [保存] をクリックします。

Microsoft Defender Cloud アラート Webhook を構成する

  1. Microsoft Defender for Cloud に移動します。
  2. [管理] > [ワークフローの自動化] をクリックします。
  3. [ワークフローの自動化を追加] をクリックします。
    • 名前: 自動化ルールにわかりやすい名前を付けます(例: ForwardAlertsToGoogleSecOps)。
    • リソース グループ: 既存のリソース グループを選択します。
    • Defender for Cloud のデータタイプ: [セキュリティ アラート] を選択します。
    • アラートの重大度: [すべて選択] を選択します。
    • 次のサブスクリプションの Logic App インスタンスを表示: Logic App が作成されたサブスクリプションを選択します。
    • Logic App を選択: 前の手順で作成した Logic App を選択します。
  4. [作成] をクリックして、ワークフローの自動化を保存します。

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」にマッピングしました。