Configurare i gruppi di indirizzi

I gruppi di indirizzi ti consentono di combinare più indirizzi IP e intervalli di indirizzi IP in un'unica unità logica denominata, che puoi utilizzare in più prodotti. Questo documento illustra come utilizzare i gruppi di indirizzi con i criteri di sicurezza di Google Cloud Armor. Per utilizzare i gruppi di indirizzi, devi avere un abbonamento Google Cloud Armor Enterprise attivo.

Prima di iniziare

Prima di configurare i gruppi di indirizzi, devi prima abilitare l'API Network Security networksecurity.googleapis.com

Ruoli IAM

Per creare e gestire un gruppo di indirizzi, devi disporre del ruolo Amministratore di rete (compute.networkAdmin). Puoi anche definire un ruolo personalizzato con un insieme di autorizzazioni equivalente.

La tabella seguente fornisce un elenco delle autorizzazioni Identity and Access Management (IAM) necessarie per eseguire un insieme di attività sui gruppi di indirizzi.

Attività Nome del ruolo IAM Autorizzazioni IAM
Creare e gestire gruppi di indirizzi compute.networkAdmin networksecurity.addressGroups.*
Trovare e visualizzare i gruppi di indirizzi compute.networkUser networksecurity.addressGroups.list

networksecurity.addressGroups.get

networksecurity.addressGroups.use

Per saperne di più sui ruoli che includono autorizzazioni IAM specifiche, consulta il riferimento alle autorizzazioni IAM.

Creare o modificare gruppi di indirizzi

Le sezioni seguenti spiegano come creare gruppi di indirizzi, come aggiungere e rimuovere indirizzi dai gruppi di indirizzi e come eliminare i gruppi di indirizzi.

Crea un gruppo di indirizzi

Quando crei un gruppo di indirizzi, devi specificarne la capacità e la versione dell'indirizzo IP utilizzando rispettivamente i flag --capacity e --type. Non puoi modificare questi valori dopo aver creato il gruppo di indirizzi.

Inoltre, la capacità massima di Google Cloud Armor potrebbe essere superiore alla capacità massima di altri prodotti, come Cloud Next Generation Firewall. Pertanto, se vuoi utilizzare lo stesso gruppo di indirizzi in più di un prodotto, devi impostare la capacità su un valore inferiore o uguale alla capacità massima più bassa tra questi prodotti.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di indirizzi.

    Vai a Gruppi di indirizzi

  2. Nel menu del selettore dei progetti, seleziona il tuo progetto, se disponibile.

  3. Fai clic su Crea gruppo di indirizzi.

  4. Nel campo Nome, inserisci un nome.

  5. (Facoltativo) Nel campo Descrizione, aggiungi una descrizione.

  6. In Ambito, scegli Globale.

  7. Per Tipo, scegli IPv4 o IPv6.

  8. Per Scopo, scegli Cloud Armor; in alternativa, scegli Firewall e Cloud Armor se prevedi di utilizzare il gruppo di indirizzi anche con le policy di Cloud Next Generation Firewall.

    Per ulteriori informazioni sulla scelta dello scopo, consulta la specifica del gruppo di indirizzi.

  9. Nel campo Capacità, inserisci la capacità del gruppo di indirizzi.

  10. Nel campo Indirizzi IP, elenca gli indirizzi IP o gli intervalli IP che vuoi includere nel gruppo di indirizzi separati da virgole. Ad esempio, 1.1.1.0/24,1.2.0.0.

  11. Fai clic su Crea.

gcloud

Utilizza il seguente esempio comando gcloud network-security address-groups create per creare un gruppo di indirizzi denominato GROUP_NAME con una capacità di 1000 indirizzi IPv4, che può essere utilizzato sia con Google Cloud Armor sia con Cloud NGFW:

gcloud network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 1000 \
  --type IPv4 \
  --purpose DEFAULT,CLOUD_ARMOR

In alternativa, puoi creare un gruppo di indirizzi con una capacità maggiore impostando esclusivamente lo scopo su CLOUD_ARMOR. Nell'esempio seguente, crei un gruppo di indirizzi con una capacità di 10.000 intervalli di indirizzi IP IPv6:

gcloud network-security address-groups create GROUP_NAME \
  --location global \
  --description  "address group description" \
  --capacity 10000 \
  --type IPv6 \
  --purpose CLOUD_ARMOR

Aggiungere elementi a un gruppo di indirizzi

Dopo aver creato un gruppo di indirizzi, puoi aggiungere elementi utilizzando la console Google Cloud o il comando gcloud network-security address-groups add-items.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di indirizzi.

    Vai a Gruppi di indirizzi

  2. Nel menu del selettore dei progetti, seleziona il tuo progetto, se disponibile.

  3. Per modificare un gruppo di indirizzi, fai clic sul nome del gruppo.

  4. Fai clic su Modifica.

  5. Nel campo Indirizzi IP, aggiungi i nuovi elementi all'elenco di indirizzi IP separati da virgole. In alternativa, puoi fare clic su Importa indirizzi per caricare un file CSV con un elenco di indirizzi IP.

  6. Fai clic su Salva.

gcloud

Nell'esempio seguente, aggiungi gli indirizzi IP 192.168.1.2, 192.168.1.8 e 192.168.1.9 al gruppo di indirizzi GROUP_NAME. Fornisci un elenco di elementi separati da virgole con il flag --item:

gcloud network-security address-groups add-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Rimuovere elementi da un gruppo di indirizzi

Puoi rimuovere elementi da un gruppo di indirizzi utilizzando la console Google Cloud o il comando gcloud network-security address-groups remove-items.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di indirizzi.

    Vai a Gruppi di indirizzi

  2. Nel menu del selettore dei progetti, seleziona il tuo progetto, se disponibile.

  3. Per modificare un gruppo di indirizzi, fai clic sul nome del gruppo.

  4. Fai clic su Modifica.

  5. Nel campo Indirizzi IP, elimina gli elementi che vuoi rimuovere dall'elenco di indirizzi IP separati da virgole.

  6. Fai clic su Salva.

gcloud

Il seguente comando rimuove gli indirizzi IP 192.168.1.2, 192.168.1.8 e 192.168.1.9 aggiunti nel comando precedente:

gcloud network-security address-groups remove-items GROUP_NAME \
  --location global \
  --items 192.168.1.2,192.168.1.8,192.168.1.9

Eliminare un gruppo di indirizzi

Non puoi eliminare un gruppo di indirizzi se una risorsa, ad esempio un criterio di firewall o di sicurezza, fa riferimento a questo gruppo. Per eliminare un gruppo di indirizzi:

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di indirizzi.

    Vai a Gruppi di indirizzi

  2. Nel menu del selettore dei progetti, seleziona il tuo progetto, se disponibile.

  3. Seleziona la casella di controllo accanto al gruppo di indirizzi che vuoi eliminare. Assicurati che al gruppo di indirizzi selezionato non sia fatto riferimento da nessun criterio di firewall o di sicurezza.

  4. Fai clic su Elimina, quindi fai di nuovo clic su Elimina per confermare.

gcloud

L'esempio seguente utilizza il comando gcloud network-security address-groups delete per eliminare un gruppo di indirizzi denominato GROUP_NAME.

gcloud network-security address-groups delete GROUP_NAME \
  --location global

Utilizzare i gruppi di indirizzi con i criteri di sicurezza

Dopo aver creato un gruppo di indirizzi e avervi aggiunto indirizzi IP, puoi usarlo con qualsiasi criterio di sicurezza di backend Google Cloud Armor esistente. Gli esempi riportati di seguito mostrano due diversi modi per utilizzare i gruppi di indirizzi.

Negare un gruppo di indirizzi IP

Per questo esempio, immagina di avere un gruppo di indirizzi IP chiamato BAD_IPS con 10.000 indirizzi IP che sai essere dannosi. Puoi negare tutti questi indirizzi IP utilizzando una singola regoladeny dei criteri di sicurezza con la seguente condizione di corrispondenza:

evaluateAddressGroup('BAD_IPS', origin.ip)

Riutilizzare un gruppo di intervalli di indirizzi IP in più criteri di sicurezza

Per questo esempio, immagina di avere lo stesso elenco di 10.000 indirizzi IP dell'esempio precedente, ma che alcuni di questi indirizzi IP siano noti come cacciatori di ragni web. Vuoi bloccare tutti questi indirizzi IP da alcuni servizi di backend, ma consentire ai crawler web di accedere ad altri servizi di backend per migliorare l'ottimizzazione per i motori di ricerca (SEO). Per negare a tutti gli indirizzi l'accesso a BACKEND_SERVICE_1, consentendo al contempo agli intervalli di indirizzi IP 66.249.77.32/27 e 66.249.77.64/27 di accedere a BACKEND_SERVICE_2:

  1. Crea un criterio di sicurezza di backend denominato POLICY_1 e associalo a BACKEND_SERVICE_1.
  2. In POLICY_1, crea una regola deny con la seguente condizione di corrispondenza:

    evaluateAddressGroup('BAD_IPS', origin.ip)
    
  3. Crea un secondo criterio di sicurezza del backend denominato POLICY_2 e aggancialo a BACKEND_SERVICE_2.

  4. In POLICY_2, crea una regola deny con la seguente condizione di corrispondenza, che esclude 66.249.77.32/27 e 66.249.77.64/27:

    evaluateAddressGroup('BAD_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
    

Utilizzare un gruppo di indirizzi per la corrispondenza con gli indirizzi IP degli utenti

Per questo esempio, immagina di avere un gruppo di indirizzi IP chiamato BAD_IPS con 10.000 indirizzi IP che sai essere dannosi. Inoltre, utilizzi un proxy upstream, che include informazioni sui client di origine nell'intestazione. Puoi negare tutti questi indirizzi IP utilizzando una singola regola deny del criterio di sicurezza con la seguente condizione di corrispondenza:

evaluateAddressGroup('BAD_IPS', origin.user_ip)

Per ulteriori informazioni sugli indirizzi IP degli utenti, consulta Attributi del linguaggio delle regole.

Passaggi successivi