Raccogli i log di flusso VPC
Questo documento spiega come esportare i log di flusso VPC in Google Security Operations utilizzando Google Cloud. Il parser trasforma i log dal formato JSON integrato in UDM di Google Security Operations. Estrae i campi pertinenti come IP di origine e destinazione, porta, protocollo e byte inviati, quindi li mappa ai campi UDM corrispondenti, tenendo conto della direzione di rete e dei casi speciali per una rappresentazione accurata in Google SecOps.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps.
- VPC Flow è configurato e attivo nel tuo ambiente Google Cloud .
- Accesso privilegiato a Google Cloud.
Crea un bucket Google Cloud Storage
- Accedi alla consoleGoogle Cloud .
Vai alla pagina Bucket Cloud Storage.
Fai clic su Crea.
Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ogni passaggio riportato di seguito, fai clic su Continua per passare al passaggio successivo:
Nella sezione Inizia, segui questi passaggi:
- 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 workload orientati ai file e con uso intensivo dei dati, poi seleziona Abilita 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 i dati degli oggetti all'interno del bucket verranno archiviati in modo permanente.
Per configurare la replica tra bucket, espandi la sezione Configura replica tra bucket.
Nella sezione Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket oppure 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 come criptare i dati degli oggetti, fai clic sulla freccia di espansione con l'etichetta Crittografia dei dati e seleziona un Metodo di crittografia dei dati.
Fai clic su Crea.
Configura l'esportazione dei log in Google Cloud VPC Flow
- Accedi all'account Google Cloud utilizzando il tuo account con privilegi.
- Nella pagina Benvenuto, fai clic su Reti VPC.
- Fai clic su Predefinito 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 sink: inserisci un nome e una descrizione.
- Fai clic su Avanti.
- Destinazione sink: 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 in Bucket Cloud Storage.
- Fai clic su Avanti.
- (Facoltativo) Scegli i log da escludere dal sink: seleziona i log che non vuoi sincronizzare.
- Fai clic su Crea sink.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed > Aggiungi nuovo feed
- Hub dei contenuti > Pacchetti di contenuti > Inizia
Come configurare il feed Google Cloud VPC Flow
- Fai clic sul pacchetto Google Cloud Compute platform.
- Individua il tipo di log Feed log di flusso VPC di Google Cloud.
Specifica i valori nei seguenti campi.
- Tipo di origine: Amazon SQS V2
- Nome coda: il nome della coda SQS da cui leggere
- URI S3: l'URI del bucket.
s3://your-log-bucket-name/
- Sostituisci
your-log-bucket-name
con il nome effettivo del bucket S3.
- Sostituisci
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
Età massima del file: includi i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.
ID chiave di accesso alla coda SQS: una chiave di accesso all'account che è una stringa alfanumerica di 20 caratteri.
Chiave di accesso segreta della coda SQS: una chiave di accesso all'account che è una stringa alfanumerica di 40 caratteri.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Fai clic su Crea feed.
Per ulteriori informazioni sulla configurazione di più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
Formati dei log di flusso VPC supportati
Il parser dei log di flusso VPC supporta i log in formato JSON.
Log di esempio dei log di flusso VPC supportati
JSON
{ "insertId": "1wjp1y9f8vc6y6", "jsonPayload": { "bytes_sent": "0", "connection": { "dest_ip": "198.51.100.0", "dest_port": 32846, "protocol": 6, "src_ip": "198.51.100.1", "src_port": 443 }, "dest_instance": { "project_id": "logging-259109", "region": "us-west2", "vm_name": "demisto-01", "zone": "us-west2-a" }, "dest_vpc": { "project_id": "logging-259109", "subnetwork_name": "default", "vpc_name": "default" }, "end_time": "2020-03-28T10:44:41.896734136Z", "packets_sent": "2", "reporter": "DEST", "start_time": "2020-03-28T10:44:41.896734136Z" }, "logName": "projects/logging-259109/logs/compute.googleapis.com%2Fvpc_flows", "receiveTimestamp": "2020-03-28T10:44:50.112903743Z", "resource": { "labels": { "location": "us-west2-a", "project_id": "dummy_project_id", "subnetwork_id": "subnetwork_id", "subnetwork_name": "default" }, "type": "gce_subnetwork" }, "timestamp": "2020-03-28T10:44:50.112903743Z" }
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
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, poi mappato in 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 | Ridenominato 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 additional.fields 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 costruire 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 principal.namespace. |
src_vpc.vpc_name | principal.namespace | Utilizzato con src_vpc.project_id per formare principal.namespace. |
textPayload | additional.fields | Unito a additional.fields con la chiave Textpayload e il tipo string_value . |
timestamp | metadata.event_timestamp | Utilizzato per popolare event_timestamp se jsonPayload.end_time è vuoto. |
metadata.description | Una descrizione del flusso di rete, inclusi il reporter (SRC o DEST) e la direzione (IN ENTRATA o IN USCITA), viene generata in base al campo "reporter". | |
metadata.event_type | Imposta NETWORK_CONNECTION per i log di flusso VPC e USER_RESOURCE_ACCESS per altri tipi di log. |
|
metadata.log_type | Imposta su GCP_VPC_FLOW . |
|
metadata.product_name | Imposta su GCP VPC Flow Logs . |
|
metadata.product_version | Imposta su 1.0 . |
|
metadata.vendor_name | Imposta su Google Cloud . |
|
network.direction | Determinato in base a target.port. Se la porta è una porta nota o riservata, viene considerata INBOUND; in caso contrario, viene considerata OUTBOUND. | |
security_result.severity | Impostato su LOW per impostazione predefinita. |
|
target.resource.attribute.cloud.environment | Imposta su GOOGLE_CLOUD_PLATFORM . |
|
target.resource.resource_type | Imposta su CLOUD_PROJECT . |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.