Esegui il deployment delle funzionalità di monitoraggio e telemetria di rete in Google Cloud

Last reviewed 2024-02-13 UTC

La telemetria di rete raccoglie i dati sul traffico di rete dai dispositivi della tua rete in modo che possano essere analizzati. La telemetria di rete consente ai team operativi di sicurezza di rilevare le minacce basate sulla rete e di cercare avversari avanzati, il che è essenziale per le operazioni di sicurezza autonomiche. Per ottenere la telemetria di rete, devi acquisire e archiviare i dati di rete. Questo blueprint descrive come utilizzare il mirroring dei pacchetti e Zeek per acquisire i dati di rete in Google Cloud.

Questo blueprint è rivolto agli analisti della sicurezza e agli amministratori di rete che vogliono eseguire il mirroring del traffico di rete, archiviare questi dati e inoltrarli per l'analisi. Questo blueprint presuppone che tu abbia una conoscenza pratica di reti e monitoraggio della rete.

Questo progetto fa parte di un progetto di sicurezza costituito da quanto segue:

  • Un repository GitHub che contiene un insieme di configurazioni e script Terraform.
  • Una guida all'architettura, al design e ai controlli di sicurezza che implementi con il blueprint (questo documento).

Con questo blueprint, acquisisci i pacchetti di rete (inclusi i metadati di rete) utilizzando il mirroring dei pacchetti, li trasformi in log Zeek e li memorizzi in Cloud Logging. Il blueprint estrae metadati come indirizzi IP, porte, protocolli e intestazioni e richieste di livello 7. L'archiviazione dei metadati di rete come log Zeek richiede un volume di dati inferiore rispetto all'archiviazione dei dati non elaborati dei pacchetti ed è quindi più conveniente.

Questo documento presuppone che tu abbia già configurato un insieme di controlli di sicurezza di base, come descritto nella Google Cloud guida alle basi di Enterprise.

Casi d'uso supportati

Questo blueprint supporta i seguenti casi d'uso:

  • Il tuo centro operativo di sicurezza (SOC) richiede l'accesso aiGoogle Cloud dati dei log di rete in una posizione centralizzata per poter esaminare gli incidenti di sicurezza. Questo blueprint traduce i dati dei pacchetti di rete in log che puoi inoltrare ai tuoi strumenti di analisi e indagine. Gli strumenti di analisi e indagine includono BigQuery, Google Security Operations, Flowmon, ExtraHop o SIEM (Security Information and Event Management).
  • I team di sicurezza hanno bisogno di visibilità sulle Google Cloud reti per eseguire la ricerca di minacce utilizzando strumenti come Google SecOps. Puoi utilizzare questo blueprint per creare una pipeline per il Google Cloud traffico di rete.
  • Vuoi dimostrare in che modo la tua organizzazione soddisfa i requisiti di conformità per il rilevamento e la risposta alla rete. Ad esempio, la tua organizzazione deve dimostrare la conformità al Memorandum M-21-31 dell'Office of Management and Budget (OMB) degli Stati Uniti.
  • Gli analisti della sicurezza della rete richiedono dati dei log di rete a lungo termine. Questo blueprint supporta sia il monitoraggio a lungo termine sia quello on demand.

Se hai bisogno anche di dati di acquisizione dei pacchetti (pcap), devi utilizzare strumenti di analisi dei protocolli di rete (ad esempio Wireshark o tcpdump). L'utilizzo di strumenti di analisi dei protocolli di rete non rientra nell'ambito di questo blueprint.

Non puoi eseguire il deployment di questo blueprint con Cloud Intrusion Detection System. Sia questa soluzione sia Cloud Intrusion Detection System utilizzano i criteri di Mirroring pacchetto, che possono essere utilizzati da un solo servizio alla volta.

Costi

Questo blueprint può influire sui costi perché aggiungi risorse di calcolo e memorizzi quantità significative di dati in Cloud Logging. Tieni presente quanto segue quando esegui il deployment del blueprint:

  • Ogni macchina virtuale (VM) del raccoglitore in Compute Engine viene eseguita come istanza e2-medium.
  • Puoi controllare i costi di archiviazione con quanto segue:
    • Utilizzo dei filtri di Mirroring pacchetto.
    • Non eseguire il mirroring tra zone per evitare addebiti per il traffico in uscita interzonale.
    • Memorizzare i dati solo per il tempo necessario alla tua organizzazione.

Puoi utilizzare il Calcolatore prezzi per ottenere una stima dei costi di calcolo, registrazione e archiviazione.

Architettura

Il seguente diagramma di architettura mostra l'infrastruttura che utilizzi per implementare questo blueprint:

L'architettura della telemetria di rete.

L'architettura mostrata nell'immagine precedente utilizza una combinazione dei seguenti Google Cloud servizi e funzionalità:

  • Due reti Virtual Private Cloud (VPC):

    • Una rete Virtual Private Cloud per le origini sottoposte a mirroring.
    • Una rete VPC per le istanze del raccoglitore.

    Queste reti VPC devono trovarsi nello stesso progetto.

  • Istanze Compute Engine o Google Kubernetes Engine (GKE) (chiamate origini sottoposte a mirroring) in regioni e sottoreti specifiche che rappresentano l'origine dei pacchetti di rete. Identifica le istanze da eseguire come origini di mirroring utilizzando uno dei seguenti metodi:

    • Tag di rete
    • Nomi delle istanze di calcolo
    • Nome subnet
  • Istanze Compute Engine che fungono da istanze di raccolta dietro un bilanciatore del carico di rete passthrough interno, nella stessa regione delle origini sottoposte a mirroring. Queste istanze eseguono la Golden Image Zeek-Fluentd o l'immagine zeek-fluentd personalizzata. Le VM sono e2-medium e il throughput supportato è 4 Gbps.

  • Un bilanciatore del carico di rete passthrough interno che riceve i pacchetti dalle origini sottoposte a mirroring e li inoltra alle istanze del raccoglitore per l'elaborazione. La regola di forwarding per il bilanciatore del carico utilizza il flag --is-mirroring-collector.

  • Regole firewall VPC che consentono quanto segue:

    • Uscita dalle origini sottoposte a mirroring al bilanciatore del carico di rete passthrough interno.
    • Ingresso dalle istanze di raccolta alle istanze sottoposte a mirroring.
  • Un criterio di mirroring dei pacchetti che definisce la regione, la sottorete, le istanze sottoposte a mirroring, i protocolli, la direzione e regola di forwarding. Ogni regione richiede il proprio criterio di mirroring dei pacchetti.

  • Peering di rete VPC per consentire la connettività tramite indirizzi IP interni tra VM Compute Engine altamente disponibili in più regioni. Il peering di rete VPC consente alle origini sottoposte a mirroring di comunicare con il bilanciatore del carico di rete passthrough interno.

  • Un'istanza di Cloud Logging che raccoglie tutti i pacchetti per l'archiviazione e il recupero da parte di uno strumento di analisi e indagine.

Informazioni sui controlli di sicurezza di cui hai bisogno

Questa sezione illustra i controlli di sicurezza di Google Cloud che puoi utilizzare per proteggere i diversi componenti dell'architettura di monitoraggio della rete.

Controlli di sicurezza della rete VPC

Creerai reti VPC attorno alle origini sottoposte a mirroring e ai collezionatori. Quando crei la rete VPC per i collector, elimini la route predefinita generata dal sistema, il che significa che tutte le route del gateway internet predefinito vengono disattivate. La disattivazione dei gateway internet predefiniti consente di ridurre la superficie di attacco della rete da parte di malintenzionati esterni.

Creerai subnet nella rete VPC per ogni regione. Le sottoreti ti consentono di controllare il flusso di traffico tra i carichi di lavoro su Google Cloud e da sorgenti esterne. Le subnet hanno attivato Accesso privato Google. L'accesso privato Google contribuisce anche a ridurre la superficie di attacco della rete, consentendo al contempo alle VM di comunicare con le API e i servizi Google.

Per consentire la comunicazione tra le reti VPC, attiva il peering delle reti VPC. Il peering di rete VPC utilizza le route di subnet per la connettività degli indirizzi IP interni. Importa ed esporta route personalizzate per consentire una connessione diretta tra le origini sottoposte a mirroring e i collector. Devi limitare tutte le comunicazioni ai percorsi regionali perché il bilanciatore del carico di rete passthrough interno per i collector non supporta i percorsi globali.

Regole firewall

Utilizza le regole firewall per definire le connessioni che possono essere effettuate dalle origini e dai collezionisti sottoposti a mirroring. Configura una regola di ingresso per consentire controlli di integrità regolari del tempo di attività, una regola di uscita per tutti i protocolli sulle origini sottoposte a mirroring e una regola di ingresso per tutti i protocolli sui collector.

Controlli di sicurezza della VM del raccoglitore

Le VM di raccolta sono responsabili della ricezione dei dati dei pacchetti. Le VM collector sono VM identiche che funzionano come gruppi di istanze gestite (MIG). Attiva i controlli di integrità per consentire la ricreazione automatica di una VM non rispondente. Inoltre, consenti ai collector di eseguire la scalabilità automatica in base ai tuoi requisiti di utilizzo.

Ogni VM del raccoglitore esegue l'immagine Packer zeek-fluentd. Questa immagine è composta da Zeek, che genera i log, e Fluentd, che li inoltra a Cloud Logging. Dopo aver eseguito il deployment del modulo Terraform, puoi aggiornare il sistema operativo della VM e i pacchetti Zeek e applicare i controlli di sicurezza richiesti per la tua organizzazione.

Controlli di sicurezza del bilanciatore del carico interno

Il bilanciatore del carico di rete passthrough interno indirizza il traffico dei pacchetti di rete dalle sorgenti sottoposte a mirroring alle VM del raccoglitore per l'elaborazione. Tutte le VM del collector devono essere eseguite nella stessa regione del bilanciatore del carico di rete passthrough interno.

La regola di forwarding per il bilanciatore del carico di rete passthrough interno definisce che l'accesso è possibile da tutte le porte, ma l'accesso globale non è consentito. Inoltre, la regola di forwarding definisce questo bilanciatore del carico come raccoglitore di mirroring utilizzando il flag --is-mirroring-collector.

Non è necessario configurare un bilanciatore del carico per lo spazio di archiviazione, poiché ogni VM del raccoglitore carica direttamente i log in Cloud Logging.

Mirroring pacchetto

Mirroring pacchetto richiede di identificare le istanze da eseguire in mirroring. Puoi identificare le istanze da eseguire il mirroring utilizzando i tag di rete, i nomi delle istanze o la sottorete in cui si trovano. Inoltre, puoi filtrare ulteriormente il traffico utilizzando uno o più dei seguenti elementi:

  • Protocolli di livello 4, come TCP, UDP o ICMP.
  • Intervalli CIDR IPv4 negli intestazioni IP, ad esempio 10.0.0.0/8.
  • La direzione del traffico che vuoi eseguire il mirroring, ad esempio in entrata, in uscita o in entrambe le direzioni.

Account di servizio e controlli di accesso

Gli account di servizio sono identità che Google Cloud puoi utilizzare per eseguire richieste API per tuo conto. Gli account di servizio assicurano che le identità utente non abbiano accesso diretto ai servizi.

Per eseguire il deployment del codice Terraform, devi impersonare un account di servizio che abbia i seguenti ruoli nel progetto:

Anche le VM del collector richiedono questo account di servizio per potersi autenticare ai servizi Google Cloud , ricevere i pacchetti di rete e inoltrarli a Cloud Logging.

Pratiche di conservazione dei dati

Puoi specificare per quanto tempo Cloud Logging deve archiviare i log di rete utilizzando regole di conservazione per i bucket di log. Per determinare per quanto tempo conservare i dati, esamina i requisiti previsti dalle normative della tua organizzazione.

Logging e controllo

Puoi utilizzare Cloud Monitoring per analizzare le prestazioni delle VM di raccolta e configurare avvisi per i controlli di uptime e le condizioni di prestazioni come il carico della CPU.

Puoi monitorare l'accesso degli amministratori o le modifiche ai dati e alla configurazione utilizzando gli audit log di Cloud. La registrazione degli audit è supportata da Compute Engine, Cloud Load Balancing, e Cloud Logging.

Puoi esportare le informazioni di monitoraggio nel seguente modo:

Riepilogo

Per implementare l'architettura descritta in questo documento:

  1. Esegui il deployment di una base di riferimento sicura in Google Cloud, come descritto nel Google Cloud progetto di base per le aziende. Se scegli di non eseguire il deployment del progetto di base Enterprise, assicurati che nel tuo ambiente sia implementata una base di riferimento di sicurezza simile.
  2. Esamina il file Readme del progetto e assicurati di soddisfare tutti i prerequisiti.
  3. Nell'ambiente di test, esegui il deployment di una delle configurazioni di telemetria di rete di esempio per vedere il blueprint in azione. Nell'ambito della procedura di test, svolgi quanto segue:

    1. Verifica che i criteri e le sottoreti di mirroring dei pacchetti siano stati creati.
    2. Verifica di disporre del ruolo Visualizzatore log (roles/logging.viewer) ed esegui un comando curl per visualizzare i dati dei log. Ad esempio:

      curl http://example.com/

      Dovresti vedere che i dati dei log sono archiviati in Cloud Logging.

    3. Utilizza Security Command Center per eseguire la scansione delle risorse appena create in base ai tuoi requisiti di conformità.

    4. Verifica che il sistema acquisisca e memorizzi i pacchetti di rete appropriati e perfeziona le prestazioni in base alle necessità.

  4. Esegui il deployment del blueprint nell'ambiente di produzione.

  5. Collega Cloud Logging al tuo SIEM o Google SecOps in modo che gli analisti della sicurezza della rete e del SOC possano incorporare la nuova telemetria nelle loro dashboard.

Passaggi successivi