Raccogliere i log di flusso VPC Cloud
Questo documento spiega come esportare i log di flusso VPC di Cloud in Google Security Operations utilizzando Google Cloud. Il parser trasforma i log dal formato JSON integrato nell'UDM di Google Security Operations. Estrae i campi pertinenti come IP di origine e di destinazione, porta, protocollo e byte inviati, quindi li mappa ai campi UDM corrispondenti, tenendo conto della direzione della rete e dei casi speciali per una rappresentazione accurata in Google SecOps.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati che il flusso VPC sia configurato e attivo nel tuo Google Cloud ambiente.
- Assicurati di disporre dell'accesso con privilegi a Google Cloud.
Crea un bucket Google 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 vpcflow-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 in Google Cloud VPC Flow
- Accedi all'account Google Cloud utilizzando il tuo account con privilegi.
- Nella pagina Ti diamo il benvenuto, fai clic su Reti VPC.
- Fai clic su Predefinita e dovrebbe essere visualizzata una pagina della subnet.
- Seleziona Tutti i log.
- Fai clic su Log di flusso > Configura.
- Seleziona Intervallo di aggregazione, ad esempio 30 SEC.
- Fornisci la frequenza di campionamento, ad esempio 50%.
- Fai clic su Salva.
- Cerca Logging nella barra di ricerca e fai clic su Invio.
- In Esplora log, filtra i log scegliendo VPC_flows in Nome log e fai clic su Applica.
- Fai clic su Altre azioni.
- Fai clic su Crea sink.
- Fornisci le seguenti configurazioni:
- Dettagli della destinazione: inserisci un nome e una descrizione.
- Fai clic su Avanti.
- Destinazione della destinazione: seleziona Bucket Cloud Storage.
- Bucket Cloud Storage: seleziona il bucket creato in precedenza o creane uno nuovo.
- Fai clic su Avanti.
- Scegli i log da includere nel sink: un log predefinito viene compilato quando selezioni un'opzione nel bucket Cloud Storage.
- Fai clic su Avanti.
- (Facoltativo) Scegli i log da escludere dal sink: seleziona i log che non vuoi includere nel sink.
- Fai clic su Crea sink.
Configura un feed in Google SecOps per importare i Google Cloud log di flusso VPC
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed, ad esempio Google Cloud Log flussi VPC.
- Seleziona Google Cloud Storage come Tipo di origine.
- Seleziona Flusso VPC Google Cloud come Tipo di log.
- Fai clic su Ottieni account di servizio come Account di servizio Chronicle.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- URI bucket di archiviazione: Google Cloud URL del bucket di archiviazione in formato
gs://my-bucket/<value>
. - URI è: seleziona Directory che include sottodirectory.
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- URI bucket di archiviazione: Google Cloud URL del bucket di archiviazione in formato
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 |
---|---|---|
connection.dest_ip | target.asset.ip target.ip |
Mappatura diretta quando network.direction è OUTBOUND. Mappato da principal.ip quando network.direction è INBOUND. |
connection.dest_port | target.port | Convertito in numero intero se maggiore di -1. |
connection.protocol | network.ip_protocol | Convertito in stringa, quindi mappato a numero intero. In base al valore intero, mappato al nome del protocollo IP (ad es. TCP, UDP, ICMP). |
connection.src_ip | principal.ip | Mappatura diretta. |
connection.src_port | principal.port | Convertito in numero intero. |
dest_instance.region | target.location.name | Mappatura diretta. |
dest_instance.vm_name | target.asset.hostname | Mappatura diretta. |
dest_location.city | target.location.city | Mappatura diretta. |
dest_location.country | target.location.country_or_region | Mappatura diretta. |
dest_location.region | target.location.state | Mappatura diretta. |
dest_vpc.project_id | target.namespace | Utilizzato con dest_vpc.vpc_name per formare target.namespace. |
dest_vpc.vpc_name | target.namespace | Utilizzato con dest_vpc.project_id per formare target.namespace. |
insertId | metadata.product_log_id | Mappatura diretta. |
jsonPayload.bytes_sent | network.sent_bytes | Rinominato in network.sent_bytes e convertito in uinteger. |
jsonPayload.packets_sent | network.sent_packets | Convertito in numero intero. |
labels.tunnel_id | additional.fields | Unito a campi.aggiuntivi con la chiave Tunnel Id e il tipo string_value . |
logName | security_result.category_details | Mappatura diretta. |
resource.labels.project_id | target.resource.name | Utilizzato per creare target.resource.name con il formato //cloudresourcemanager.googleapis.com/projects/{resource.labels.project_id} . |
resource.labels.region | target.location.country_or_region | Mappatura diretta. |
resource.labels.subnetwork_id | target.user.attribute.labels | Unito a target.user.attribute.labels con la chiave subnetwork_id . |
resource.type | metadata.product_event_type | Mappatura diretta. |
gravità | security_result.severity | Mappato a LOW se il valore è DEBUG . |
src_gke_details.cluster.cluster_location | principal.resource.attribute.labels | Unito a principal.resource.attribute.labels con la chiave cluster_location . |
src_gke_details.cluster.cluster_name | principal.resource.attribute.labels | Unito a principal.resource.attribute.labels con la chiave cluster_name . |
src_gke_details.pod.pod_name | principal.resource.attribute.labels | Unito a principal.resource.attribute.labels con la chiave pod_name . |
src_gke_details.pod.pod_namespace | principal.resource.attribute.labels | Unito a principal.resource.attribute.labels con la chiave pod_namespace . |
src_instance.region | principal.location.name | Mappatura diretta. |
src_instance.vm_name | principal.asset.hostname | Mappatura diretta. |
src_location.city | principal.location.city | Mappatura diretta. |
src_location.country | principal.location.country_or_region | Mappatura diretta. |
src_location.region | principal.location.state | Mappatura diretta. |
src_vpc.project_id | principal.namespace | Utilizzato con src_vpc.vpc_name per formare il principal.namespace. |
src_vpc.vpc_name | principal.namespace | Utilizzato con src_vpc.project_id per formare il principal.namespace. |
textPayload | additional.fields | Unito a campi.aggiuntivi con la chiave Textpayload e il tipo string_value . |
timestamp | metadata.event_timestamp | Utilizzato per compilare event_timestamp se jsonPayload.end_time è vuoto. |
metadata.description | Una descrizione del flusso di rete, che include l'emittente (SRC o DEST) e la direzione (INBOUND o OUTBOUND), viene generata in base al campo "reporter". | |
metadata.event_type | Imposta su NETWORK_CONNECTION per i log di flusso VPC e su USER_RESOURCE_ACCESS per altri tipi di log. |
|
metadata.log_type | Impostato su GCP_VPC_FLOW . |
|
metadata.product_name | Impostato su GCP VPC Flow Logs . |
|
metadata.product_version | Impostato su 1.0 . |
|
metadata.vendor_name | Impostato su Google Cloud . |
|
network.direction | Determinato in base a target.port. Se la porta è una porta nota o riservata, è considerata INBOUND; in caso contrario, è considerata OUTBOUND. | |
security_result.severity | Impostato su LOW per impostazione predefinita. |
|
target.resource.attribute.cloud.environment | Impostato su GOOGLE_CLOUD_PLATFORM . |
|
target.resource.resource_type | Impostato su CLOUD_PROJECT . |
Modifiche
2024-10-24
Miglioramento:
- Mappatura scambiata di
principal.ip
eprincipal.port
contarget.ip
etarget.port
rispettivamente.
2024-03-15
Miglioramento:
jsonPayload.src_gke_details.pod.pod_namespace
,jsonPayload.src_gke_details.pod.pod_name
,jsonPayload.src_gke_details.cluster.cluster_name
,jsonPayload.src_gke_details.cluster.cluster_location
mappati aprincipal.resource.attribute.labels
.jsonPayload.dest_gke_details.pod.pod_namespace
,jsonPayload.dest_gke_details.pod.pod_name
,jsonPayload.dest_gke_details.cluster.cluster_name
,jsonPayload.dest_gke_details.cluster.cluster_location
mappati atarget.resource.attribute.labels
.
2023-05-23
Miglioramento:
- "metadata.event_type" è stato mappato a "USER_RESOURCE_ACCESS" quando il campo "logName" non contiene "vpc_flows".
- È stato mappato "timestamp" a "events.timestamp".
- Ho mappato "textPayload", "labels.tunnel_id" a "additional.fields".
- È stata mappata la colonna "resource.labels.region" alla colonna "target.location.country_or_region".
- Sono stati aggiunti controlli null per vari campi, ove necessario.
2023-04-10
Miglioramento:
- Imposta
target.resource.attribute.cloud.environment
suGOOGLE_CLOUD_PLATFORM
. - Imposta
target.resource.name
sul valore del nome completo della risorsa.
2022-07-22
Miglioramento:
resource.labels.location
è stato mappato aprincipal.location.name
.resource.labels.subnetwork_id
è stato mappato atarget.user.attribute.labels
.logName
è stato mappato asecurity_result.category_details
.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.