Azure Firewall ログを収集する

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

このドキュメントでは、Azure Storage アカウントを使用して Azure Firewall ログを Google Security Operations にエクスポートする方法について説明します。パーサーはまず、入力を JSON として処理し、Records フィールドからデータを抽出します。Record フィールドが空の場合、パーサーは一連の Grok パターンと条件ステートメントを使用して、メッセージから関連するフィールドを抽出し、Azure Firewall ログのさまざまな形式とバリエーションを処理します。

始める前に

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

  • Google SecOps インスタンス
  • アクティブな Azure テナント
  • Azure への特権アクセス

Azure Storage アカウントを構成する

  1. Azure コンソールで、[ストレージ アカウント] を検索します。
  2. [+ 作成] をクリックします。
  3. 次の入力パラメータの値を指定します。
    • Subscription: サブスクリプションを選択します。
    • リソース グループ: リソース グループを選択します。
    • Region: リージョンを選択します。
    • パフォーマンス: パフォーマンスを選択します(標準が推奨)。
    • 冗長性: 冗長性(GRS または LRS を推奨)を選択します。
    • ストレージ アカウント名: 新しいストレージ アカウントの名前を入力します。
  4. [Review + create] をクリックします。
  5. アカウントの概要を確認して、[作成] をクリックします。
  6. [ストレージ アカウントの概要] ページで、[セキュリティとネットワーキング] の [アクセスキー] サブメニューを選択します。
  7. [key1] または [key2] の横にある [Show] をクリックします。
  8. [クリップボードにコピー] をクリックして、キーをコピーします。
  9. キーは後で使用できるように安全な場所に保存します。
  10. [ストレージ アカウントの概要] ページで、[設定] の [エンドポイント] サブメニューを選択します。
  11. [クリップボードにコピー] をクリックして、Blob サービス エンドポイント URL(例: https://<storageaccountname>.blob.core.windows.net)をコピーします。
  12. エンドポイント URL は、後で使用できるように安全な場所に保存します。

Azure ファイアウォール ログのログ エクスポートを構成する方法

  1. 特権アカウントを使用して Azure Portal にログインします。
  2. [ファイアウォール] に移動し、必要なファイアウォールを選択します。
  3. [モニタリング> 診断サービス] を選択します。
  4. [+ 診断設定を追加] をクリックします。
    • 診断設定のわかりやすい名前を入力します。
  5. [allLogs] を選択します。
  6. 移行先として [ストレージ アカウントにアーカイブする] チェックボックスをオンにします。
    • サブスクリプションストレージ アカウントを指定します。
  7. [保存] をクリックします。

フィードを設定する

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

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

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

このプロダクト ファミリー内で異なるログタイプに対して複数のフィードを構成するには、プロダクトごとにフィードを構成するをご覧ください。

1 つのフィードを設定する手順は次のとおりです。

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで、[単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Azure Firewall Logs)。
  5. [ソースタイプ] で [Microsoft Azure Blob Storage] を選択します。
  6. [ログタイプ] として [Azure Firewall] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • Azure URI: BLOB エンドポイント URL。
      • ENDPOINT_URL/BLOB_NAME
        • 次のように置き換えます。
          • ENDPOINT_URL: BLOB エンドポイント URL(https://<storageaccountname>.blob.core.windows.net
          • BLOB_NAME: blob の名前(<logname>-logs など)
    • URI is a: ログストリームの構成([単一ファイル] | [ディレクトリ] | [サブディレクトリを含むディレクトリ])に応じて URI タイプを選択します。
    • Source deletion options: 取り込みの設定に応じて削除オプションを選択します。

    • 共有キー: Azure Blob Storage のアクセスキー。

    • アセットの名前空間: アセットの名前空間

    • Ingestion labels: このフィードのイベントに適用されるラベル。

  9. [次へ] をクリックします。

  10. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

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

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

  • Azure URI: BLOB エンドポイント URL。
    • ENDPOINT_URL/BLOB_NAME
      • 次のように置き換えます。
        • ENDPOINT_URL: BLOB エンドポイント URL(https://<storageaccountname>.blob.core.windows.net
        • BLOB_NAME: blob の名前(insights-logs-<logname> など)
  • URI is a: ログストリームの構成([単一ファイル] | [ディレクトリ] | [サブディレクトリを含むディレクトリ])に応じて URI タイプを選択します。
  • Source deletion options: 取り込みの設定に応じて削除オプションを選択します。
  • 共有キー: Azure Blob Storage のアクセスキー。

詳細オプション

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

UDM マッピング

ログフィールド UDM マッピング ロジック
@timestamp metadata.event_timestamp 未加工ログフィールド @timestamp を UDM 形式に変換します。
category security_result.rule_type 未加工ログフィールド category を UDM にマッピングします。
operationName metadata.product_event_type 未加工ログフィールド operationName を UDM にマッピングします。
properties.Action security_result.action 未加工ログフィールド properties.Action を UDM にマッピングし、ALLOWALLOW に、DENYBLOCK に、その他の値を UNKNOWN_ACTION に変換します。
properties.DestinationIp target.ip 未加工ログフィールド properties.DestinationIp を UDM にマッピングします。
properties.DestinationPort target.port 未加工ログフィールド properties.DestinationPort を UDM にマッピングします。
properties.DnssecOkBit additional.fields.value.bool_value 未加工ログフィールド properties.DnssecOkBit を UDM にマッピングします。
properties.EDNS0BufferSize additional.fields.value.number_value 未加工ログフィールド properties.EDNS0BufferSize を UDM にマッピングします。
properties.ErrorMessage additional.fields.value.string_value 未加工ログフィールド properties.ErrorMessage を UDM にマッピングします。
properties.ErrorNumber additional.fields.value.number_value 未加工ログフィールド properties.ErrorNumber を UDM にマッピングします。
properties.Policy security_result.detection_fields.value 未加工ログフィールド properties.Policy を UDM にマッピングします。
properties.Protocol network.ip_protocol 未加工ログフィールド properties.ProtocolHTTPS または HTTP でない場合、UDM にマッピングします。
properties.Protocol network.application_protocol 未加工ログフィールド properties.ProtocolHTTPS または HTTP の場合、UDM にマッピングします。
properties.QueryClass network.dns.questions.class DNS クエリクラスをマッピングするためのルックアップ テーブルを使用して、未加工ログ フィールド properties.QueryClass を UDM にマッピングします。
properties.QueryId network.dns.id 未加工ログフィールド properties.QueryId を UDM にマッピングします。
properties.QueryName network.dns.questions.name 未加工ログフィールド properties.QueryName を UDM にマッピングします。
properties.QueryType network.dns.questions.type DNS レコードタイプをマッピングするためのルックアップ テーブルを使用して、未加工ログ フィールド properties.QueryType を UDM にマッピングします。
properties.RequestSize network.sent_bytes 未加工ログフィールド properties.RequestSize を UDM にマッピングします。
properties.ResponseCode network.dns.response_code DNS レスポンス コードのマッピング用のルックアップ テーブルを使用して、未加工ログフィールド properties.ResponseCode を UDM にマッピングします。
properties.ResponseFlags additional.fields.value.string_value 未加工ログフィールド properties.ResponseFlags を UDM にマッピングします。
properties.ResponseSize network.received_bytes 未加工ログフィールド properties.ResponseSize を UDM にマッピングします。
properties.Rule security_result.rule_name 未加工ログフィールド properties.Rule を UDM にマッピングします。
properties.RuleCollection security_result.detection_fields.value 未加工ログフィールド properties.RuleCollection を UDM にマッピングします。
properties.RuleCollectionGroup security_result.detection_fields.value 未加工ログフィールド properties.RuleCollectionGroup を UDM にマッピングします。
properties.SourceIp principal.ip 未加工ログフィールド properties.SourceIp を UDM にマッピングします。
properties.SourcePort principal.port 未加工ログフィールド properties.SourcePort を UDM にマッピングします。
properties.msg security_result.description 未加工ログフィールド properties.msg から他のフィールドを抽出した後、UDM にマッピングします。
records.category security_result.rule_type 未加工ログフィールド records.category を UDM にマッピングします。
records.operationName metadata.product_event_type 未加工ログフィールド records.operationName を UDM にマッピングします。
records.properties.msg このフィールドは、Grok パターンを使用して複数のフィールドを抽出するために使用され、UDM に直接マッピングされません。
records.resourceId metadata.product_log_id 未加工ログフィールド records.resourceId を UDM にマッピングします。
resourceId metadata.product_log_id 未加工ログフィールド resourceId を UDM にマッピングします。
時間 metadata.event_timestamp 未加工ログフィールド time を UDM 形式に変換します。
metadata.vendor_name このフィールドには、パーサーによって値 Microsoft Inc. が設定されます。
metadata.product_name このフィールドには、パーサーによって値 Azure Firewall Application Rule が設定されます。
metadata.log_type このフィールドには、パーサーによって値 AZURE_FIREWALL が設定されます。
additional.fields.key このフィールドには、追加フィールドのキーがパーサーによって入力されます。
security_result.detection_fields.key このフィールドには、検出フィールドのキーがパーサーによって入力されます。
network.application_protocol このフィールドには、DNS ログの DNS という値がパーサーによって入力されます。
metadata.event_type このフィールドは、ログメッセージに基づいてパーサーによって入力されます。NETWORK_CONNECTIONGENERIC_EVENTSTATUS_UPDATENETWORK_DNS のいずれかになります。

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