Raccogliere i log di Azure Firewall
Questo documento spiega come esportare i log di Azure Firewall in Google Security Operations utilizzando l'account di archiviazione Azure. Il parser tenta innanzitutto di elaborare l'input come JSON, estraendo i dati dal campo Record. Se il campo Record è vuoto, il parser utilizza una serie di pattern Grok e istruzioni condizionali per estrarre i campi pertinenti dal messaggio, gestendo formati e variazioni diversi nei log di Azure Firewall.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di avere un tenant Azure attivo.
- Assicurati di disporre dell'accesso privilegiato ad Azure.
Configura l'account di archiviazione Azure
- Nella console di Azure, cerca Account di archiviazione.
- Fai clic su + Crea.
- Specifica i valori per i seguenti parametri di input:
- Abbonamento: seleziona l'abbonamento.
- Gruppo di risorse: seleziona il gruppo di risorse.
- Regione: seleziona la regione.
- Prestazioni: seleziona il rendimento (consigliato standard).
- Redundanza: seleziona la ridondanza (consigliata GRS o LRS).
- Nome account di archiviazione: inserisci un nome per il nuovo account di archiviazione.
- Fai clic su Review + create (Rivedi e crea).
- Esamina la panoramica dell'account e fai clic su Crea.
- Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Chiavi di accesso in Sicurezza + reti.
- Fai clic su Mostra accanto a chiave1 o chiave2.
- Fai clic su Copia negli appunti per copiare la chiave.
- Salva la chiave in un luogo sicuro per utilizzarla in un secondo momento.
- Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Endpoint in Impostazioni.
- Fai clic su Copia negli appunti per copiare l'URL dell'endpoint del servizio Blob (ad esempio
https://<storageaccountname>.blob.core.windows.net
). - Salva l'URL dell'endpoint in un luogo sicuro per utilizzarlo in un secondo momento.
Configurare l'esportazione dei log per i log dei firewall di Azure
- Accedi al portale di Azure utilizzando il tuo account con privilegi.
- Vai a Firewall e seleziona il firewall richiesto.
- Seleziona Monitoraggio > Servizi di diagnostica.
- Fai clic su + Aggiungi impostazione di diagnostica.
- Inserisci un nome descrittivo per l'impostazione di diagnostica.
- Seleziona allLogs.
- Seleziona la casella di controllo Archivia in un account di archiviazione come destinazione.
- Specifica l'abbonamento e l'account di archiviazione.
- Fai clic su Salva.
Configura un feed in Google SecOps per importare i log di Azure Firewall
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log di Azure Firewall).
- Seleziona Microsoft Azure Blob Storage come Tipo di origine.
- Seleziona Azure Firewall come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- URI Azure: l'URL dell'endpoint del blob.
ENDPOINT_URL/BLOB_NAME
- Sostituisci quanto segue:
ENDPOINT_URL
: l'URL dell'endpoint blob (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: il nome del blob (ad esempio<logname>-logs
)
- L'URI è un: seleziona il TIPO DI URI in base alla configurazione dello stream di log (File singolo | Directory | Directory che include sottodirectory).
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
Chiave condivisa: la chiave di accesso ad Azure Blob Storage.
Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
- URI Azure: l'URL dell'endpoint del blob.
Fai clic su Avanti.
Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.
Mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
@timestamp | metadata.event_timestamp | Converte il campo del log non elaborato @timestamp in formato UDM. |
categoria | security_result.rule_type | Mappa il campo del log non elaborato category all'UDM. |
operationName | metadata.product_event_type | Mappa il campo del log non elaborato operationName all'UDM. |
properties.Action | security_result.action | Mappa il campo del log non elaborato properties.Action all'UDM, convertendo ALLOW in ALLOW , DENY in BLOCK e qualsiasi altro valore in UNKNOWN_ACTION . |
properties.DestinationIp | target.ip | Mappa il campo del log non elaborato properties.DestinationIp all'UDM. |
properties.DestinationPort | target.port | Mappa il campo del log non elaborato properties.DestinationPort all'UDM. |
properties.DnssecOkBit | additional.fields.value.bool_value | Mappa il campo del log non elaborato properties.DnssecOkBit all'UDM. |
properties.EDNS0BufferSize | additional.fields.value.number_value | Mappa il campo del log non elaborato properties.EDNS0BufferSize all'UDM. |
properties.ErrorMessage | additional.fields.value.string_value | Mappa il campo del log non elaborato properties.ErrorMessage all'UDM. |
properties.ErrorNumber | additional.fields.value.number_value | Mappa il campo del log non elaborato properties.ErrorNumber all'UDM. |
properties.Policy | security_result.detection_fields.value | Mappa il campo del log non elaborato properties.Policy all'UDM. |
properties.Protocol | network.ip_protocol | Mappa il campo del log non elaborato properties.Protocol a UDM se non è HTTPS o HTTP . |
properties.Protocol | network.application_protocol | Mappa il campo del log non elaborato properties.Protocol a UDM se è HTTPS o HTTP . |
properties.QueryClass | network.dns.questions.class | Mappa il campo del log non elaborato properties.QueryClass a UDM utilizzando una tabella di ricerca per mappare le classi di query DNS. |
properties.QueryId | network.dns.id | Mappa il campo del log non elaborato properties.QueryId all'UDM. |
properties.QueryName | network.dns.questions.name | Mappa il campo del log non elaborato properties.QueryName all'UDM. |
properties.QueryType | network.dns.questions.type | Mappa il campo del log non elaborato properties.QueryType a UDM utilizzando una tabella di ricerca per la mappatura dei tipi di record DNS. |
properties.RequestSize | network.sent_bytes | Mappa il campo del log non elaborato properties.RequestSize all'UDM. |
properties.ResponseCode | network.dns.response_code | Mappa il campo del log non elaborato properties.ResponseCode a UDM utilizzando una tabella di ricerca per la mappatura dei codici di risposta DNS. |
properties.ResponseFlags | additional.fields.value.string_value | Mappa il campo del log non elaborato properties.ResponseFlags all'UDM. |
properties.ResponseSize | network.received_bytes | Mappa il campo del log non elaborato properties.ResponseSize all'UDM. |
properties.Rule | security_result.rule_name | Mappa il campo del log non elaborato properties.Rule all'UDM. |
properties.RuleCollection | security_result.detection_fields.value | Mappa il campo del log non elaborato properties.RuleCollection all'UDM. |
properties.RuleCollectionGroup | security_result.detection_fields.value | Mappa il campo del log non elaborato properties.RuleCollectionGroup all'UDM. |
properties.SourceIp | principal.ip | Mappa il campo del log non elaborato properties.SourceIp all'UDM. |
properties.SourcePort | principal.port | Mappa il campo del log non elaborato properties.SourcePort all'UDM. |
properties.msg | security_result.description | Mappa il campo del log non elaborato properties.msg a UDM dopo aver estratto altri campi. |
records.category | security_result.rule_type | Mappa il campo del log non elaborato records.category all'UDM. |
records.operationName | metadata.product_event_type | Mappa il campo del log non elaborato records.operationName all'UDM. |
records.properties.msg | Questo campo viene utilizzato per estrarre più campi utilizzando i pattern Grok e non ha una mappatura diretta all'UDM. | |
records.resourceId | metadata.product_log_id | Mappa il campo del log non elaborato records.resourceId all'UDM. |
resourceId | metadata.product_log_id | Mappa il campo del log non elaborato resourceId all'UDM. |
tempo | metadata.event_timestamp | Converte il campo del log non elaborato time in formato UDM. |
metadata.vendor_name | Questo campo viene compilato dall'analizzatore con il valore Microsoft Inc. . |
|
metadata.product_name | Questo campo viene compilato dall'analizzatore con il valore Azure Firewall Application Rule . |
|
metadata.log_type | Questo campo viene compilato dall'analizzatore con il valore AZURE_FIREWALL . |
|
additional.fields.key | Questo campo viene compilato dall'analizzatore con la chiave del campo aggiuntivo. | |
security_result.detection_fields.key | Questo campo viene compilato dall'analizzatore con la chiave per il campo di rilevamento. | |
network.application_protocol | Questo campo viene compilato dall'analizzatore con il valore DNS per i log DNS. |
|
metadata.event_type | Questo campo viene compilato dall'analizzatore in base al messaggio di log. Può essere NETWORK_CONNECTION , GENERIC_EVENT , STATUS_UPDATE o NETWORK_DNS . |
Modifiche
2024-12-26
Correzione di bug:
- Quando i log contengono la parola chiave
Alert
, mappasecurity_result.action
aALLOW
.
2024-11-13
Miglioramento:
Action
è stato mappato asecurity_result.detection_fields
.Signature
è stato mappato asecurity_result.detection_fields
.IDS
è stato mappato asecurity_result.detection_fields
.Priority
è stato mappato asecurity_result.priority_details
.Classification
è stato mappato asecurity_result.detection_fields
.
2024-09-04
Miglioramento:
from_ip
è stato mappato adns.questions.name
per gli eventi DNS.
2024-07-02
Miglioramento:
- È stato aggiunto il supporto per gestire un nuovo formato del timestamp.
2024-04-29
Miglioramento:
- È stato aggiunto il supporto per la gestione di un nuovo formato dei log importati.
2024-02-07
Miglioramento:
ICMP type
è stato mappato aadditional.fields
.Action
eproperties.Action
sono stati mappati asecurity_result.action_details
.
2023-06-01
Miglioramento:
- I log JSON appena importati della categoria
AZFWDnsQuery
vengono analizzati. properties.msg
mappato nei log JSON appena importati della categoriaAzureFirewallNetworkRule
.
2022-04-29
Correzione di bug:
- I log JSON appena importati vengono analizzati per aumentare la percentuale di analisi complessiva.
- operationName mappato a metadata.product_event_type.
- resourceId mappato a metadata.product_log_id.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.