Configura le policy di sicurezza perimetrale della rete

Le policy di sicurezza perimetrale della rete consentono di configurare regole per consentire o bloccare il traffico sul perimetro della rete di Google. Puoi configurare policy di sicurezza perimetrale della rete per i seguenti tipi di frontend:

  • Bilanciatori del carico di rete passthrough esterni
  • Forwarding del protocollo
  • VM con indirizzi IP pubblici

Puoi utilizzare le policy di sicurezza perimetrale della rete per filtrare in base agli intervalli di indirizzi IP di origine e destinazione in modo simile a Cloud Next Generation Firewall, ma senza consumare le tue risorse. Inoltre, una policy di sicurezza perimetrale della rete è l'unico tipo di policy di sicurezza che supporta il filtro offset di byte.

Configura regole personalizzate per le policy di sicurezza perimetrale della rete

Come per le policy di sicurezza perimetrale e del backend, puoi configurare regole personalizzate per le policy di sicurezza perimetrale della rete. Nell'esempio seguente, crei una policy di sicurezza perimetrale della rete, configuri una regola personalizzata per consentire il traffico solo da un determinato intervallo di indirizzi IP di origine e colleghi la policy al servizio di backend.

Le policy di sicurezza perimetrale della rete supportano diversi filtri Cloud Armor, inclusi filtri unici come il filtro offset di byte. Per saperne di più sulle funzionalità supportate dalle policy di sicurezza perimetrale della rete, consulta la panoramica delle policy di sicurezza. Inoltre, puoi eseguire il deployment di policy di sicurezza perimetrale della rete in modalità di anteprima.

Prima di procedere, devi eseguire la registrazione in Google Cloud Armor Enterprise e configurare la protezione DDoS di rete avanzata. Non puoi utilizzare regole personalizzate per le policy di sicurezza perimetrale della rete senza un abbonamento a Cloud Armor Enterprise attivo e la protezione DDoS di rete avanzata.

Per configurare le regole personalizzate, segui questi passaggi:

  1. Crea una nuova policy di sicurezza perimetrale della rete con il nome POLICY_NAME nella regione REGION. Non utilizzare la stessa policy di sicurezza che hai utilizzato quando hai abilitato la protezione DDoS di rete avanzata.

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION
    
  2. Modifica la regola predefinita della policy da allow a deny per bloccare il traffico non esplicitamente consentito da altre regole.

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION
    
  3. Nella stessa policy di sicurezza, aggiungi una regola con priorità RULE_PRIORITY che consente le richieste nell'intervallo di indirizzi IP di origine RANGE.

    gcloud compute security-policies rules create RULE_PRIORITY \
       --security-policy=POLICY_NAME \
       --network-src-ip-ranges=RANGE \
       --action=allow \
       --region=REGION
    
  4. Associa la policy di sicurezza al servizio di backend BACKEND_SERVICE_NAME.

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
       --security-policy=POLICY_NAME \
       --region=REGION
    

    In alternativa, puoi associare la policy di sicurezza a una singola istanza VM utilizzando il seguente comando:

    gcloud beta compute instances network-interfaces update VM_NAME \
       --security-policy=POLICY_NAME \
       --security-policy-region=REGION \
       --network-interface=NETWORK_INTERFACE \
       --zone=ZONE_NAME
    
  5. (Facoltativo) Puoi verificare che la policy di sicurezza sia collegata utilizzando il seguente comando. In caso di esito positivo, il campo securityPolicy nell'output contiene un link alla risorsa della policy di sicurezza.

    gcloud compute instances describe VM_NAME --zone=ZONE_NAME
    

Dopo aver creato l'esempio precedente, puoi continuare ad aggiungere regole alla tua policy di sicurezza perimetrale della rete utilizzando il comando security-policies rules update. I campi supportati per le policy di sicurezza perimetrale della rete sono i seguenti:

Campo Flag Descrizione
Indirizzo IP di origine --network-src-ip-ranges Indirizzi IPv4/6 di origine o prefissi CIDR in formato di testo standard.
Porte di origine --network-src-ports Numeri di porte di origine per TCP/UDP/SCTP. Ogni elemento può essere un numero (ad esempio "80") o un intervallo (ad esempio "0-1023") a 16 bit.
Codici regione di origine --network-src-region-codes Codice paese di due lettere (ISO 3166-1 alpha 2).
ASN di origine --network-src-asns Numero di sistema autonomo BGP dell'indirizzo IP di origine.
Intervalli di indirizzi IP di destinazione --network-dest-ip-ranges Indirizzi IPv4/6 di destinazione o prefissi CIDR in formato di testo standard.
Porte di destinazione --network-dest-ports Numeri di porte di destinazione per TCP/UDP/SCTP. Ogni elemento può essere un numero (ad esempio "80") o un intervallo (ad esempio "0-1023") a 16 bit.
Protocolli indirizzo IP --network-ip-protocols Intestazione protocollo IPv4 / IPv6 successiva (dopo le intestazioni di estensione). Ogni elemento può essere un numero (ad esempio "6") o un intervallo (ad esempio "253-254") a 8 bit oppure uno dei seguenti nomi di protocollo:
  • tcp
  • udp
  • icmp
  • esp
  • ah
  • ipip
  • sctp
Filtro offset di byte N/A Consulta la sezione seguente.

Quando utilizzi il flag --network-src-region-codes con una policy di sicurezza perimetrale della rete, puoi utilizzare i codici regione per i seguenti territori soggetti a sanzioni statunitensi estese:

Territori Codice assegnato
Crimea XC
La cosiddetta Repubblica popolare di Donetsk (DNR) e
la cosiddetta Repubblica popolare di Lugansk (LNR)
XD

Configura il filtro offset di byte

Se utilizzi bilanciatori del carico di rete passthrough esterni, forwarding del protocollo o VM con indirizzi IP pubblici, Cloud Armor può eseguire l'ispezione approfondita dei pacchetti sul traffico in entrata. Puoi configurare una regola delle policy di sicurezza che rileva una corrispondenza per un valore di offset di byte TCP/UDP specifico. Puoi configurare la regola in modo che applichi l'azione della regola quando il valore configurato è presente o, in alternativa, quando è assente.

L'esempio seguente consente il traffico quando il valore è presente e nega tutto il resto del traffico:

  1. Crea una nuova policy di sicurezza perimetrale della rete. Puoi saltare questo passaggio se hai già una policy di sicurezza perimetrale della rete.

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION_NAME
    
  2. Aggiorna la policy di sicurezza perimetrale della rete per aggiungere campi definiti dall'utente utilizzando i seguenti parametri:

    • Base: il valore può essere IPv4, IPv6, TCP o UDP
    • Offset: offset del campo dal valore base in byte
    • Dimensioni: dimensioni del campo in byte (il valore massimo è 4)
    • Maschera: la maschera per i bit nel campo per la corrispondenza

    Puoi utilizzare fino a otto campi definiti dall'utente per policy. Nell'esempio seguente, crei due campi definiti dall'utente.

    gcloud compute security-policies add-user-defined-field POLICY_NAME \
       --user-defined-field-name=USER_DEFINED_FIELD_NAME_TCP \
       --base=TCP \
       --offset=OFFSET \
       --size=SIZE \
       --mask=MASK \
       --region=REGION_NAME
    
    gcloud compute security-policies add-user-defined-field POLICY_NAME \
       --user-defined-field-name=USER_DEFINED_FIELD_NAME_UDP \
       --base=UDP \
       --offset=OFFSET \
       --size=SIZE \
       --mask=MASK \
       --region=REGION_NAME
    
  3. Nella policy di sicurezza perimetrale della rete, aggiungi una regola con lo stesso nome del campo personalizzato che hai utilizzato nell'esempio precedente. Sostituisci VALUE1 e VALUE2 con valori che corrispondono al traffico che vuoi consentire.

    gcloud compute security-policies rules create RULE_PRIORITY \
       --security-policy=POLICY_NAME \
       --network-user-defined-fields="USER_DEFINED_FIELD_NAME_TCP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1,VALUE2" \
       --action=allow \
       --region=REGION_NAME
    
  4. Imposta la regola predefinita nella policy di sicurezza perimetrale della rete in modo che sia una regola di negazione. Puoi saltare questo passaggio se la regola predefinita nella policy di sicurezza è già una regola di negazione.

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION_NAME
    
  5. Associa la policy di sicurezza perimetrale della rete al servizio di backend del bilanciatore del carico di rete passthrough esterno.

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
       --security-policy=POLICY_NAME \
       --region=REGION_NAME
    

Monitoraggio

Cloud Armor esporta le seguenti metriche in Cloud Monitoring per ciascuna delle regole della policy di sicurezza perimetrale della rete:

  • packet_count
    • Blocked: un valore booleano che rappresenta il risultato di un'azione allow o deny
      della regola
    • Count: il valore di packet_count incrementato di uno ogni 10.000 pacchetti. Ad esempio, un valore di packet_count pari a 5 significa che almeno 50.000 pacchetti corrispondono alla tua regola
  • preview_packet_count: come packet_count, utilizzata per le regole in modalità di anteprima

Per visualizzare le metriche per le policy di sicurezza perimetrale della rete, devi prima abilitare l'API Network Security (networksecurity.googleapis.com). Questa autorizzazione è inclusa nel ruolo Compute Security Admin (roles/compute.securityAdmin). Dopo aver abilitato l'API Network Security, puoi visualizzare le metriche in Monitoring nella console Google Cloud .

Vai a Monitoring