Esegui il deployment delle funzionalità di monitoraggio della rete e telemetria 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:

  • R Repository GitHub che contiene un set di configurazioni e script Terraform.
  • Una guida all'architettura, alla progettazione e ai controlli di sicurezza implementare con il progetto (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 progetto supporta i seguenti casi d'uso:

  • Il tuo centro operativo di sicurezza (SOC) richiede l'accesso a La rete Google Cloud registra i dati in una posizione centralizzata in modo che possono analizzare gli incidenti di sicurezza. Questo progetto traduce la rete pacchetti di dati in log che puoi inoltrare alla tua analisi strumenti di 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. Tu puoi usare questo progetto per creare una pipeline per la rete Google Cloud per via del traffico.
  • 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 il progetto supporta sia il monitoraggio a lungo termine sia il monitoraggio on demand.

Se hai bisogno anche di acquisizione pacchetti (pcap) è necessario usare gli strumenti di analisi dei protocolli di rete (ad esempio Wireshark o tcpdump). L'uso degli strumenti di analisi dei protocolli di rete non rientra nell'ambito di questo progetto.

Non puoi eseguire il deployment di questo progetto 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 progetto può influire sui costi perché stai aggiungendo risorse di calcolo e l'archiviazione di quantità significative di dati in Cloud Logging. Quando esegui il deployment, considera quanto segue lo schema:

  • Ogni macchina virtuale (VM) raccoglitore in Compute Engine viene eseguita come istanza e2-medium.
  • Puoi controllare i costi di archiviazione con:
    • Utilizzo dei filtri di Mirroring pacchetto.
    • Mancato mirroring tra le zone per evitare addebiti per il traffico in uscita tra zone.
    • Archiviare i dati solo per il tempo richiesto dalla tua organizzazione.

Puoi utilizzare lo Calcolatore prezzi per ottenere una stima dei costi di computing, logging e archiviazione.

Architettura

Il seguente diagramma architetturale mostra l'infrastruttura che utilizzi progetto da implementare:

L'architettura di telemetria della rete.

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

  • Due. Reti Virtual Private Cloud (VPC):

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

    Queste reti VPC devono trovarsi nello stesso progetto.

  • Compute Engine o Google Kubernetes Engine (GKE) istanze (chiamate origini con mirroring) in regioni e subnet specifiche che rappresentano l'origine dei pacchetti di rete. Tu identifichi quali istanze di eseguire il mirroring delle origini utilizzando uno dei seguenti metodi:

  • Le istanze di Compute Engine che fungono da raccoglitore dietro un bilanciatore del carico di rete passthrough interno, nella stessa regione e le origini con mirroring. Queste istanze eseguono Immagine dorata che fluisce da zeek o la tua immagine personalizzata gestita da zeek. Le VM sono e2-medium e le VM supportate è di 4 Gbit/s.

  • 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 caricamento utilizza il flag --is-mirroring-collector.

  • Regole firewall VPC che consentono quanto segue:

    • In uscita da 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 pacchetto.

  • Peering di rete VPC per consentire la connettività utilizzando indirizzi IP interni tra ad alta disponibilità VM di Compute Engine in più regioni. 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 all'interno di Google Cloud che per proteggere i diversi componenti del monitoraggio della rete dell'architettura.

Controlli di sicurezza della rete VPC

Puoi creare reti VPC intorno alle origini con mirroring e raccoglitori. Quando crei la rete VPC per i raccoglitori, elimini il route predefinita generata dal sistema, Ciò significa che tutte le route dei gateway internet predefiniti sono disattivate. Spegnimento in corso... i gateway internet predefiniti aiutano a ridurre la superficie di attacco di rete dai server i malintenzionati.

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, devi abilitare peering di rete 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

Puoi usare le regole firewall per definire le connessioni che le origini sottoposte a mirroring e che i raccoglitori possono creare. Configuri una regola in entrata per consentire un tempo di attività regolare controlli di integrità, una regola in uscita per tutti i protocolli nelle origini sottoposte a mirroring e una regola in entrata per tutti i protocolli sui raccoglitori.

Controlli di sicurezza delle VM raccoglitore

Le VM del raccoglitore sono responsabili della ricezione dei dati del pacchetto. Il raccoglitore Le VM sono VM identiche che operano gruppi di istanze gestite (MIG). Attiva i controlli di integrità per consentire la ricreazione automatica di una VM che non risponde. Inoltre, consenti ai raccoglitori di scalare automaticamente in base all'utilizzo i tuoi requisiti.

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 in Cloud Logging. Dopo aver eseguito il deployment del modulo Terraform, puoi aggiornare il sistema operativo VM pacchetti Zeek e applica i controlli di sicurezza richiesti per i tuoi dell'organizzazione.

Controlli di sicurezza del bilanciatore del carico interno

Il bilanciatore del carico di rete passthrough interno indirizza il traffico dei pacchetti di rete dall'oggetto sottoposto a mirroring alle VM 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, regola di forwarding definisce questo bilanciatore del carico come un raccoglitore di mirroring, utilizzando --is-mirroring-collector flag.

Non è necessario configurare un bilanciatore del carico per l'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 di cui vuoi eseguire il mirroring utilizzando la rete i nomi delle istanze o la subnet in cui si trovano le istanze. 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.
  • Direzione del traffico da sottoporre a mirroring, ad esempio in entrata, in uscita o a entrambi.

Account di servizio e controlli dell'accesso

Account di servizio sono identità che Google Cloud può utilizzare per eseguire le richieste API per conto tuo. 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 inoltrarle a Cloud Logging.

Pratiche di conservazione dei dati

Puoi specificare per quanto tempo Cloud Logging archivia i log di rete utilizzando regole di conservazione per il tuo 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 Audit log di Cloud. L'audit logging è supportato 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 baseline sicura in Google Cloud, come descritto in Progetto delle basi aziendali di Google Cloud. Se scegli di non eseguire il deployment del progetto delle basi aziendali, assicurati che del tuo ambiente abbia una base di riferimento per la 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 avere Visualizzatore log (roles/logging.viewer) ed esegui un comando curl per visualizzare il log e i dati di Google Cloud. Ad esempio:

      curl http://example.com/

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

    3. Usa Security Command Center per eseguire la scansione delle risorse appena create tuo 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. Connetti Cloud Logging a SIEM o Google SecOps in modo che il vostro SOC e gli analisti della sicurezza di rete possano incorporare il nuovo la telemetria nelle loro dashboard.

Passaggi successivi