I criteri di sicurezza perimetrale della rete consentono di configurare regole per consentire o bloccare il traffico sul perimetro della rete di Google. Puoi configurare i criteri di sicurezza perimetrale 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 edge di 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, un criterio di sicurezza perimetrale della rete è l'unico tipo di criterio di sicurezza che supporta il filtraggio dell'offset di byte.
Configura regole personalizzate per i criteri di sicurezza edge della rete
Come per i criteri di sicurezza di backend e perimetrali, puoi configurare regole personalizzate per i criteri di sicurezza perimetrali della rete. Nell'esempio seguente, crei un criterio 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 il criterio al servizio di backend.
I criteri di sicurezza Edge di rete supportano diversi filtri Google Cloud Armor, inclusi filtri unici come il filtro di offset dei byte. Per saperne di più sulle funzionalità supportate dai criteri di sicurezza perimetrale di rete, consulta la panoramica dei criteri di sicurezza. Inoltre, puoi implementare criteri di sicurezza perimetrale della rete in modalità di anteprima.
Prima di procedere, devi registrarti a Google Cloud Armor Enterprise e configurare la protezione DDoS avanzata della rete. Non puoi utilizzare regole personalizzate per i criteri di sicurezza edge della rete senza un abbonamento Cloud Armor Enterprise attivo e la protezione DDoS di rete avanzata.
Per configurare le regole personalizzate:
Crea un nuovo criterio di sicurezza perimetrale della rete con il nome
POLICY_NAME
nella regioneREGION
. Non utilizzare la stessa policy di sicurezza che hai utilizzato quando hai attivato la protezione DDoS di rete avanzata.gcloud compute security-policies create POLICY_NAME \ --type=CLOUD_ARMOR_NETWORK \ --region=REGION
Modifica la regola predefinita dei criteri da
allow
adeny
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
Nello stesso criterio di sicurezza, aggiungi una regola con priorità
RULE_PRIORITY
che consenta le richieste nell'intervallo di indirizzi IP di origineRANGE
.gcloud compute security-policies rules create RULE_PRIORITY \ --security-policy=POLICY_NAME \ --network-src-ip-ranges=RANGE \ --action=allow \ --region=REGION
Associa il criterio 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 il criterio 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
(Facoltativo) Puoi verificare che il criterio di sicurezza sia collegato utilizzando il seguente comando. Se l'operazione va a buon fine, 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 al tuo
criterio di sicurezza perimetrale di rete utilizzando il comando security-policies rules update
.
I campi supportati per le policy di sicurezza edge 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 (a 16 bit) (ad esempio "80") o un intervallo (ad esempio "0-1023"). |
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 (a 16 bit) (ad esempio "80") o un intervallo (ad esempio "0-1023"). |
Protocolli di indirizzi IP | --network-ip-protocols |
Protocollo IPv4 / intestazione successiva IPv6 (dopo le intestazioni di estensione). Ogni
elemento può essere un numero a 8 bit (ad esempio "6"), un intervallo (ad esempio "253-254") o
uno dei seguenti nomi di protocollo:
|
Filtro basato sull'offset di byte | N/D | 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 complete:
Territori | Codice assegnato |
---|---|
Crimea | XC |
La cosiddetta Repubblica popolare di Donetsk (DNR) e la cosiddetta Repubblica popolare di Lugansk (LNR) |
XD |
Configurare il filtro di offset dei byte
Se utilizzi bilanciatori del carico di rete passthrough esterni, forwarding del protocollo o VM con indirizzi IP pubblici, Google Cloud Armor può eseguire l'ispezione approfondita dei pacchetti sul traffico in entrata. Puoi configurare una regola dei criteri di sicurezza che corrisponda a 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:
Crea un nuovo criterio 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
Aggiorna la policy di sicurezza edge della rete per aggiungere campi definiti dall'utente utilizzando i seguenti parametri:
- Base: il valore può essere
IPv4
,IPv6
,TCP
oUDP
- Offset: offset del campo dalla base in byte
- Size (Dimensioni): dimensioni del campo in byte (il valore massimo è
4
) - Maschera: la maschera per i bit nel campo da abbinare
Puoi utilizzare fino a otto campi definiti dall'utente per criterio. 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
- Base: il valore può essere
Nel criterio di sicurezza perimetrale della rete, aggiungi una regola con lo stesso nome del campo personalizzato che hai utilizzato nell'esempio precedente. Sostituisci
VALUE1
eVALUE2
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
Imposta la regola predefinita nel criterio di sicurezza perimetrale della rete in modo che sia una regola di negazione. Puoi saltare questo passaggio se la regola predefinita nei criteri di sicurezza è già una regola di negazione.
gcloud compute security-policies rules update 2147483647 \ --security-policy=POLICY_NAME \ --action=deny \ --region=REGION_NAME
Associa il criterio 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
Google Cloud Armor esporta le seguenti metriche in Cloud Monitoring per ciascuna delle regole dei criteri di sicurezza del perimetro di rete:
packet_count
Blocked
: un valore booleano che rappresenta il risultato di un'azione della regolaallow
odeny
Count
: il valore dipacket_count
viene incrementato di uno ogni 10.000 pacchetti. Ad esempio, un valore dipacket_count
pari a5
significa che almeno 50.000 pacchetti corrispondono alla tua regola
preview_packet_count
: lo stesso dipacket_count
, utilizzato per le regole in modalità di anteprima
Per visualizzare le metriche per i criteri di sicurezza perimetrale della rete, devi prima abilitare l'API Network Security (networksecurity.googleapis.com
). Questa autorizzazione è inclusa nel ruolo Amministratore della sicurezza di Compute (roles/compute.securityAdmin
). Dopo aver abilitato l'API Network Security, puoi visualizzare le metriche in Monitoring nella console Google Cloud .