Azure Firewall-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Azure-Firewall-Logs mithilfe eines Azure-Speicherkontos in Google Security Operations exportieren. Der Parser versucht zuerst, die Eingabe als JSON zu verarbeiten und Daten aus dem Feld Records zu extrahieren. Wenn das Feld Record leer ist, verwendet der Parser eine Reihe von Grok-Mustern und bedingten Anweisungen, um relevante Felder aus der Nachricht zu extrahieren. Dabei werden verschiedene Formate und Varianten in den Azure-Firewall-Protokollen berücksichtigt.
Hinweise
- Sie benötigen eine Google SecOps-Instanz.
- Sie benötigen einen aktiven Azure-Mandanten.
- Sie benötigen Berechtigungen für den Zugriff auf Azure.
Azure-Speicherkonto konfigurieren
- Suchen Sie in der Azure-Konsole nach Speicherkonten.
- Klicken Sie auf + Erstellen.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Abo: Wählen Sie das Abo aus.
- Ressourcengruppe: Wählen Sie die Ressourcengruppe aus.
- Region: Wählen Sie die Region aus.
- Leistung: Wählen Sie die Leistung aus. Wir empfehlen „Standard“.
- Redundanz: Wählen Sie die Redundanz aus (GRS oder LRS empfohlen).
- Speicherkontoname: Geben Sie einen Namen für das neue Speicherkonto ein.
- Klicken Sie auf Überprüfen + Erstellen.
- Sehen Sie sich die Übersicht des Kontos an und klicken Sie auf Erstellen.
- Wählen Sie auf der Seite Speicherkontoübersicht unter Sicherheit & Netzwerk das Untermenü Zugriffsschlüssel aus.
- Klicken Sie neben Schlüssel 1 oder Schlüssel 2 auf Anzeigen.
- Klicke auf In die Zwischenablage kopieren, um den Schlüssel zu kopieren.
- Speichern Sie den Schlüssel an einem sicheren Ort, um ihn später zu verwenden.
- Wählen Sie auf der Seite Speicherkontoübersicht unter Einstellungen das Untermenü Endpunkte aus.
- Klicken Sie auf In die Zwischenablage kopieren, um die Endpunkt-URL des Blob-Dienstes (z. B.
https://<storageaccountname>.blob.core.windows.net
) zu kopieren. - Speichern Sie die Endpunkt-URL an einem sicheren Ort für die spätere Verwendung.
Logexport für Azure-Firewall-Logs konfigurieren
- Melden Sie sich mit Ihrem Konto mit Berechtigungen im Azure-Portal an.
- Gehen Sie zu Firewalls und wählen Sie die gewünschte Firewall aus.
- Wählen Sie Monitoring > Diagnosedienste aus.
- Klicken Sie auf + Diagnoseeinstellung hinzufügen.
- Geben Sie einen aussagekräftigen Namen für die Diagnoseeinstellung ein.
- Wählen Sie allLogs aus.
- Wählen Sie das Kästchen In einem Speicherkonto archivieren als Ziel aus.
- Geben Sie das Abo und das Speicherkonto an.
- Klicken Sie auf Speichern.
Feed in Google SecOps für die Aufnahme der Azure-Firewall-Protokolle konfigurieren
- Gehen Sie zu SIEM-Einstellungen > Feeds.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Azure-Firewall-Protokolle.
- Wählen Sie Microsoft Azure Blob Storage als Quelltyp aus.
- Wählen Sie Azure Firewall als Logtyp aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Azure-URI: die Blob-Endpunkt-URL.
ENDPOINT_URL/BLOB_NAME
- Ersetzen Sie Folgendes:
ENDPOINT_URL
: die Blob-Endpunkt-URL (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: der Name des Blobs (z. B.<logname>-logs
)
- URI ist: Wählen Sie den URI-TYP gemäß der Logstream-Konfiguration aus (Einzeldatei | Verzeichnis | Verzeichnis mit Unterverzeichnissen).
Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus.
Freigegebener Schlüssel: Der Zugriffsschlüssel für Azure Blob Storage.
Asset-Namespace: der Asset-Namespace.
Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
- Azure-URI: die Blob-Endpunkt-URL.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
UDM-Zuordnung
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
@timestamp | metadata.event_timestamp | Wandelt das Rohlogfeld @timestamp in das UDM-Format um. |
Kategorie | security_result.rule_type | Das Rohlogfeld category wird UDM zugeordnet. |
operationName | metadata.product_event_type | Das Rohlogfeld operationName wird UDM zugeordnet. |
properties.Action | security_result.action | Das Rohlogfeld properties.Action wird UDM zugeordnet. Dabei werden ALLOW in ALLOW , DENY in BLOCK und alle anderen Werte in UNKNOWN_ACTION umgewandelt. |
properties.DestinationIp | target.ip | Das Rohlogfeld properties.DestinationIp wird UDM zugeordnet. |
properties.DestinationPort | target.port | Das Rohlogfeld properties.DestinationPort wird UDM zugeordnet. |
properties.DnssecOkBit | additional.fields.value.bool_value | Das Rohlogfeld properties.DnssecOkBit wird UDM zugeordnet. |
properties.EDNS0BufferSize | additional.fields.value.number_value | Das Rohlogfeld properties.EDNS0BufferSize wird UDM zugeordnet. |
properties.ErrorMessage | additional.fields.value.string_value | Das Rohlogfeld properties.ErrorMessage wird UDM zugeordnet. |
properties.ErrorNumber | additional.fields.value.number_value | Das Rohlogfeld properties.ErrorNumber wird UDM zugeordnet. |
properties.Policy | security_result.detection_fields.value | Das Rohlogfeld properties.Policy wird UDM zugeordnet. |
properties.Protocol | network.ip_protocol | Das Rohlogfeld properties.Protocol wird UDM zugeordnet, wenn es nicht HTTPS oder HTTP ist. |
properties.Protocol | network.application_protocol | Das Rohlogfeld properties.Protocol wird UDM zugeordnet, wenn es HTTPS oder HTTP ist. |
properties.QueryClass | network.dns.questions.class | Hier wird das Rohprotokollfeld properties.QueryClass mithilfe einer Suchtabelle für die Zuordnung von DNS-Abfrageklassen in UDM zugeordnet. |
properties.QueryId | network.dns.id | Das Rohlogfeld properties.QueryId wird UDM zugeordnet. |
properties.QueryName | network.dns.questions.name | Das Rohlogfeld properties.QueryName wird UDM zugeordnet. |
properties.QueryType | network.dns.questions.type | Ordnet das Rohprotokollfeld properties.QueryType mithilfe einer Suchtabelle zum Zuordnen von DNS-Eintragstypen dem UDM zu. |
properties.RequestSize | network.sent_bytes | Das Rohlogfeld properties.RequestSize wird UDM zugeordnet. |
properties.ResponseCode | network.dns.response_code | Hier wird das Rohprotokollfeld properties.ResponseCode mithilfe einer Suchtabelle für die Zuordnung von DNS-Antwortcodes in UDM zugeordnet. |
properties.ResponseFlags | additional.fields.value.string_value | Das Rohlogfeld properties.ResponseFlags wird UDM zugeordnet. |
properties.ResponseSize | network.received_bytes | Das Rohlogfeld properties.ResponseSize wird UDM zugeordnet. |
properties.Rule | security_result.rule_name | Das Rohlogfeld properties.Rule wird UDM zugeordnet. |
properties.RuleCollection | security_result.detection_fields.value | Das Rohlogfeld properties.RuleCollection wird UDM zugeordnet. |
properties.RuleCollectionGroup | security_result.detection_fields.value | Das Rohlogfeld properties.RuleCollectionGroup wird UDM zugeordnet. |
properties.SourceIp | principal.ip | Das Rohlogfeld properties.SourceIp wird UDM zugeordnet. |
properties.SourcePort | principal.port | Das Rohlogfeld properties.SourcePort wird UDM zugeordnet. |
properties.msg | security_result.description | Das Rohprotokollfeld properties.msg wird dem UDM zugeordnet, nachdem andere Felder daraus extrahiert wurden. |
records.category | security_result.rule_type | Das Rohlogfeld records.category wird UDM zugeordnet. |
records.operationName | metadata.product_event_type | Das Rohlogfeld records.operationName wird UDM zugeordnet. |
records.properties.msg | Dieses Feld wird zum Extrahieren mehrerer Felder mithilfe von Grok-Mustern verwendet und hat keine direkte Zuordnung zu UDM. | |
records.resourceId | metadata.product_log_id | Das Rohlogfeld records.resourceId wird UDM zugeordnet. |
resourceId | metadata.product_log_id | Das Rohlogfeld resourceId wird UDM zugeordnet. |
Zeit | metadata.event_timestamp | Wandelt das Rohlogfeld time in das UDM-Format um. |
metadata.vendor_name | Dieses Feld wird vom Parser mit dem Wert Microsoft Inc. ausgefüllt. |
|
metadata.product_name | Dieses Feld wird vom Parser mit dem Wert Azure Firewall Application Rule ausgefüllt. |
|
metadata.log_type | Dieses Feld wird vom Parser mit dem Wert AZURE_FIREWALL ausgefüllt. |
|
additional.fields.key | Dieses Feld wird vom Parser mit dem Schlüssel für das zusätzliche Feld ausgefüllt. | |
security_result.detection_fields.key | Dieses Feld wird vom Parser mit dem Schlüssel für das Erkennungsfeld ausgefüllt. | |
network.application_protocol | Dieses Feld wird vom Parser mit dem Wert DNS für DNS-Protokolle ausgefüllt. |
|
metadata.event_type | Dieses Feld wird vom Parser anhand der Protokollnachricht ausgefüllt. Das kann NETWORK_CONNECTION , GENERIC_EVENT , STATUS_UPDATE oder NETWORK_DNS sein. |
Änderungen
2024-12-26
Fehlerkorrektur:
- Wenn die Protokolle das Keyword
Alert
enthalten, wirdsecurity_result.action
mitALLOW
verknüpft.
2024-11-13
Optimierung:
Action
wurdesecurity_result.detection_fields
zugeordnet.Signature
wurdesecurity_result.detection_fields
zugeordnet.IDS
wurdesecurity_result.detection_fields
zugeordnet.Priority
wurdesecurity_result.priority_details
zugeordnet.Classification
wurdesecurity_result.detection_fields
zugeordnet.
2024-09-04
Optimierung:
from_ip
wurde für DNS-Ereignissedns.questions.name
zugeordnet.
2024-07-02
Optimierung:
- Unterstützung für ein neues Zeitstempelformat hinzugefügt.
2024-04-29
Optimierung:
- Unterstützung für ein neues Format von aufgenommenen Protokollen hinzugefügt.
2024-02-07
Optimierung:
ICMP type
wurdeadditional.fields
zugeordnet.Action
undproperties.Action
wurdensecurity_result.action_details
zugeordnet.
2023-06-01
Optimierung:
- Neu aufgenommene JSON-Logs der Kategorie
AZFWDnsQuery
werden geparst. properties.msg
wurde in neu aufgenommenen JSON-Logs der KategorieAzureFirewallNetworkRule
zugeordnet.
2022-04-29
Fehlerkorrektur:
- Neue JSON-Logs werden geparst, um den Gesamtprozentsatz des Parsings zu erhöhen.
- „operationName“ ist „metadata.product_event_type“ zugeordnet.
- „resourceId“ muss mit „metadata.product_log_id“ übereinstimmen.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten