Raccogliere i log di Cloud Next Generation Firewall Enterprise
Questo documento spiega come esportare ed importare i log di Cloud NGFW Enterprise in Google Security Operations utilizzando Google Cloud. Il parser estrae i campi dai Google Cloud log del firewall, li trasforma e li mappa all'UDM. Gestisce vari campi di log, tra cui dettagli di connessione, informazioni sulle minacce, dettagli delle regole e informazioni sulla rete, eseguendo conversioni di tipo di dati, ridenominazioni e logica condizionale in base ai campi action
e direction
per compilare correttamente il modello UDM.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati che Cloud NGFW Enterprise sia attivo e configurato nel tuo Google Cloud ambiente.
- Assicurati di disporre dell'accesso privilegiato a Google Cloud e delle autorizzazioni appropriate per accedere ai log di Cloud NGFW Enterprise.
Crea un bucket Cloud Storage
- Accedi alla console Google Cloud.
Vai alla pagina Bucket Cloud Storage.
Fai clic su Crea.
Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ogni passaggio che segue, fai clic su Continua per passare al passaggio successivo:
Nella sezione Inizia:
- Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket, ad esempio gcp-ngfw-logs.
Per attivare lo spazio dei nomi gerarchico, fai clic sulla freccia di espansione per espandere la sezione Ottimizza per i workload orientati ai file e con uso intensivo dei dati, poi seleziona Abilita uno spazio dei nomi gerarchico in questo bucket.
Per aggiungere un'etichetta del bucket, fai clic sulla freccia di espansione per espandere la sezione Etichette.
Fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.
Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:
- Seleziona un Tipo di località.
Utilizza il menu del tipo di località per selezionare una Località in cui verranno archiviati in modo permanente i dati degli oggetti all'interno del bucket.
Per configurare la replica tra bucket, espandi la sezione Configura la replica tra bucket.
Nella sezione Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket o Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.
Nella sezione Scegli come controllare l'accesso agli oggetti, seleziona no per applicare la prevenzione dell'accesso pubblico e seleziona un modello di controllo dell'accesso per gli oggetti del bucket.
Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:
- Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
- Per scegliere la modalità di crittografia dei dati degli oggetti, fai clic sulla freccia di espansione etichettata Crittografia dei dati e seleziona un Metodo di crittografia dei dati.
Fai clic su Crea.
Configurare l'esportazione dei log di Cloud NGFW
- Accedi alla console Google Cloud.
- Vai a Logging > Router dei log.
- Fai clic su Crea sink.
Fornisci i seguenti parametri di configurazione:
- Nome sink: inserisci un nome significativo, ad esempio
NGFW-Export-Sink
. - Destinazione della destinazione: seleziona Google Cloud Storage e inserisci l'URI del bucket, ad esempio
gs://gcp-ngfw-logs
. Filtro log:
logName="projects/<your-project-id>/logs/gcp-firewall"
- Nome sink: inserisci un nome significativo, ad esempio
Fai clic su Crea.
Configura le autorizzazioni per Cloud Storage
- Vai a IAM e amministrazione > IAM.
- Individua l'account di servizio Cloud Logging.
- Concedi il ruolo roles/storage.admin al bucket.
Configura un feed in Google SecOps per importare i log di Cloud NGFW Enterprise
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed, ad esempio Log di NGFW Enterprise di Google Cloud.
- Seleziona Google Cloud Storage come Tipo di origine.
- Seleziona GCP NGFW Enterprise come Tipo di log.
- Fai clic su Ottieni account di servizio accanto al campo Account di servizio Chronicle.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- URI del bucket di archiviazione: Google Cloud URL del bucket di archiviazione; ad esempio,
gs://gcp-ngfw-logs
. - L'URI è: seleziona Directory che include sottodirectory.
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- URI del bucket di archiviazione: Google Cloud URL del bucket di archiviazione; ad esempio,
Fai clic su Avanti.
Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
insertId |
metadata.product_log_id |
Mappato direttamente dal campo insertId . |
jsonPayload.action |
security_result.action_details |
Mappato direttamente dal campo jsonPayload.action . |
jsonPayload.connection.clientIp |
principal.asset.ip |
Mappato direttamente dal campo jsonPayload.connection.clientIp . |
jsonPayload.connection.clientIp |
principal.ip |
Mappato direttamente dal campo jsonPayload.connection.clientIp . |
jsonPayload.connection.clientPort |
principal.port |
Mappato direttamente dal campo jsonPayload.connection.clientPort e convertito in numero intero. |
jsonPayload.connection.protocol |
network.ip_protocol |
Mappata da jsonPayload.connection.protocol . Se il valore è tcp , il campo UDM è impostato su TCP . Una logica simile si applica a udp , icmp e igmp . |
jsonPayload.connection.serverIp |
target.asset.ip |
Mappato direttamente dal campo jsonPayload.connection.serverIp . |
jsonPayload.connection.serverIp |
target.ip |
Mappato direttamente dal campo jsonPayload.connection.serverIp . |
jsonPayload.connection.serverPort |
target.port |
Mappato direttamente dal campo jsonPayload.connection.serverPort e convertito in numero intero. |
jsonPayload.interceptVpc.projectId |
security_result.rule_labels |
Mappato da jsonPayload.interceptVpc.projectId con chiave rule_details_projectId . |
jsonPayload.interceptVpc.vpc |
security_result.rule_labels |
Mappato da jsonPayload.interceptVpc.vpc con chiave rule_details_vpc_network . |
jsonPayload.securityProfileGroupDetails.securityProfileGroupId |
security_result.rule_labels |
Mappato da jsonPayload.securityProfileGroupDetails.securityProfileGroupId con chiave rule_details_security_profile_group . |
jsonPayload.securityProfileGroupDetails.securityProfileGroupId |
security_result.rule_labels |
Mappato da jsonPayload.securityProfileGroupDetails.securityProfileGroupId con chiave rule_details_securityProfileGroupDetails_id . |
jsonPayload.threatDetails.category |
security_result.rule_labels |
Mappato da jsonPayload.threatDetails.category con chiave rule_details_category . |
jsonPayload.threatDetails.direction |
security_result.rule_labels |
Mappato da jsonPayload.threatDetails.direction con chiave rule_details_direction . |
jsonPayload.threatDetails.id |
security_result.threat_id |
Mappato direttamente dal campo jsonPayload.threatDetails.id . |
jsonPayload.threatDetails.severity |
security_result.severity |
Mappatura da jsonPayload.threatDetails.severity . Se il valore è CRITICAL , il campo UDM è impostato su CRITICAL . Una logica simile si applica a HIGH , MEDIUM , LOW e INFO . |
jsonPayload.threatDetails.threat |
security_result.threat_name |
Mappato direttamente dal campo jsonPayload.threatDetails.threat . |
jsonPayload.threatDetails.type |
security_result.rule_labels |
Mappato da jsonPayload.threatDetails.type con chiave rule_details_threat_type . |
jsonPayload.threatDetails.uriOrFilename |
security_result.rule_labels |
Mappato da jsonPayload.threatDetails.uriOrFilename con chiave rule_details_uriOrFilename . |
logName |
metadata.product_event_type |
Mappato direttamente dal campo logName . |
metadata.collected_timestamp |
metadata.collected_timestamp |
Mappata direttamente dal campo receiveTimestamp e analizzata utilizzando il formato della data specificato. |
metadata.event_type |
metadata.event_type |
Imposta NETWORK_CONNECTION se sono presenti sia principal_ip che target_ip . Imposta su STATUS_UNCATEGORIZED se è presente solo principal_ip . In caso contrario, imposta GENERIC_EVENT . |
metadata.product_name |
metadata.product_name |
Hardcoded a GCP Firewall . |
metadata.vendor_name |
metadata.vendor_name |
Hardcoded a Google Cloud Platform . |
receiveTimestamp |
metadata.collected_timestamp |
Mappato direttamente dal campo receiveTimestamp . |
security_result.action |
security_result.action |
Derivato dal campo jsonPayload.action . Mappato a ALLOW , BLOCK o UNKNOWN_ACTION in base al valore di jsonPayload.action . |
timestamp |
metadata.event_timestamp |
Mappato direttamente dal campo timestamp . |
timestamp |
timestamp |
Mappato direttamente dal campo timestamp . |
Modifiche
2024-04-16
- La mappatura di
alert_severity
è cambiata dajsonPayload.alert_severity
ajsonPayload.threatDetails.severity
. - La mappatura di
threat_id
è cambiata dajsonPayload.threat_id
ajsonPayload.threatDetails.id
. - La mappatura di
rdspg
è cambiata dajsonPayload.security_profile_group
ajsonPayload.securityProfileGroupDetails.securityProfileGroupId
. - La mappatura di
rduri
è cambiata dajsonPayload.uri_or_filename
ajsonPayload.threatDetails.uriOrFilename
. - È stata rimossa la mappatura di
jsonPayload.rule_details.priority
,jsonPayload.rule_details.apply_security_profile_fallback_action
,jsonPayload.rule_details.source_range
ejsonPayload.rule_details.target_secure_tag
.
2024-03-26
- Parser appena creato.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.