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

Last reviewed 2024-02-13 UTC

La telemetria di rete raccoglie dati sul traffico di rete dai dispositivi sulla tua rete in modo che per consentire l'analisi dei dati. La telemetria di rete consente alle operazioni di sicurezza i team rilevano le minacce basate sulla rete e vanno a caccia di avversari avanzati, il che è essenziale per le operazioni di sicurezza autonomiche. A per ottenere la telemetria di rete, devi acquisire e archiviare i dati di rete. Questo progetto descrive come utilizzare Mirroring pacchetto e Zeek per acquisire dati di rete in Google Cloud.

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

Questo progetto fa parte di un progetto di sicurezza composto seguenti:

  • 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).

Utilizzo questo progetto, puoi acquisire i pacchetti di rete (inclusi i metadati di rete) utilizzando Mirroring pacchetto, trasformare i pacchetti di rete in log Zeek e quindi e archiviarle in Cloud Logging. Il progetto estrae metadati come indirizzi IP, porte, protocolli, intestazioni e richieste di livello 7. Archiviazione della rete in corso... metadati poiché i log di Zeek utilizzano meno volume di dati rispetto all'archiviazione dei dati dei pacchetti non elaborati e quindi più conveniente.

Questo documento presuppone che tu abbia già configurato un set di base controlli di sicurezza, come descritto Guida alle basi aziendali di Google Cloud.

Casi d'uso supportati

Questo blueprint supporta i seguenti casi d'uso:

  • Il tuo Security Operations Center (SOC) richiede l'accesso ai dati dei log di rete di Google Cloud in un'unica posizione 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 gestione delle informazioni e degli eventi di sicurezza (SIEM).
  • I tuoi team di sicurezza hanno bisogno di visibilità sulle reti Google Cloud di caccia alle minacce con strumenti come Google SecOps. Puoi utilizzare questo blueprint per creare una pipeline per il traffico di rete di Google Cloud.
  • Vuoi dimostrare in che modo la tua organizzazione soddisfa la conformità i requisiti per il rilevamento e la risposta di rete. Ad esempio, la tua organizzazione deve dimostrare la conformità con Memorandum M-21-31 dell'Office of Management and Budget (OMB) degli Stati Uniti.
  • Gli analisti della sicurezza di rete richiedono dati di registro di rete sul lungo periodo. 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 che Cloud Intrusion Detection System utilizzano i criteri di Mirroring pacchetto. i criteri possono essere usati 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 Mirroring pacchetto.
    • Non eseguire il mirroring tra zone per evitare addebiti per il traffico in uscita interzonale.
    • Archiviare i dati solo per il tempo richiesto dalla 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 di telemetria della rete.

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

  • 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:

  • 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 delle istanze di 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.
    • Ingress dalle istanze del raccoglitore alle istanze sottoposte a mirroring.
  • R Norme relative al mirroring del pacchetto che definisce regione, subnet, istanze con mirroring, protocolli, e una 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.

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

Comprendi i 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

Puoi creare reti VPC attorno alle origini con mirroring e raccoglitori. 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 predefinite vengono disattivate. La disattivazione dei gateway internet predefiniti consente di ridurre la superficie di attacco della rete da parte di malintenzionati esterni.

Puoi creare subnet nella tua rete VPC per ogni regione. Subnet consentono di controllare il flusso di traffico tra i carichi di lavoro su Google Cloud sia da fonti esterne. Le subnet hanno Accesso privato Google in un bucket in cui è abilitato il controllo delle versioni. L'accesso privato Google aiuta anche a ridurre la superficie di attacco di rete, consentendo 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 route di subnet per Connettività dell'indirizzo IP. Importi ed esporti route personalizzate per consentire una connessione diretta tra le origini sottoposte a mirroring e i raccoglitori. Devi limitare tutte le comunicazioni alle route regionali poiché il bilanciatore del carico di rete passthrough interno per i raccoglitori non supporta le route 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 raccoglitore esegue l'immagine Packer che fluisce con zeek. 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 necessari 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 raccoglitore devono essere eseguite della 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 inoltro 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

Il mirroring pacchetto richiede l'identificazione delle istanze che desideri speculare. Puoi identificare le istanze da eseguire il mirroring utilizzando i tag di rete, i nomi delle istanze o la sottorete in cui si trovano. Nella Inoltre, puoi filtrare ulteriormente il traffico utilizzando una o più delle seguenti opzioni:

  • Protocolli di livello 4, come TCP, UDP o ICMP.
  • Intervalli CIDR IPv4 nelle 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 può 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 simulare l'identità di un account di servizio che include i seguenti ruoli nel progetto:

Anche le VM del raccoglitore richiedono questo account di servizio per poter eseguire l'autenticazione nei servizi Google Cloud, recuperare i pacchetti di rete le inoltri 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 archiviare i dati, esamina le normative della tua organizzazione i tuoi requisiti.

Logging e controllo

Puoi utilizzare la modalità Cloud Monitoring per analizzare le prestazioni delle VM dei raccoglitori e configurare avvisi per il tempo di attività e controllare le condizioni delle prestazioni, ad esempio 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 come segue:

Riepilogo

Per implementare l'architettura descritta in questo documento, segui questi passaggi:

  1. Esegui il deployment di una linea di base sicura in Google Cloud, come descritto nel progetto di base per le aziende con Google Cloud. 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 Leggimi per il progetto e assicurati di soddisfare tutti i prerequisiti.
  3. Nell'ambiente di test, esegui il deployment di uno dei configurazioni di telemetria di rete di esempio per vedere il progetto in azione. Come parte del processo di test, esegui la seguenti:

    1. Verifica che i criteri e le subnet di Mirroring pacchetto 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 di 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 stia registrando e archiviando i dati pacchetti di rete e ottimizza le prestazioni in base alle esigenze.

  4. Esegui il deployment del progetto 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