Gestisci le policy di sicurezza di Cloud Armor

Questa pagina descrive come gestire le policy di sicurezza di Google Cloud Armor e filtrare il traffico in entrata verso la tua applicazione. I criteri di sicurezza di Cloud Armor aiutano a proteggere le tue applicazioni e i tuoi servizi web da attacchi distributed denial of service (DDoS) e altre minacce su internet. L'applicazione di una solida security posture richiede la gestione delle tue norme di sicurezza tramite creazione, test e consolidamento. Per creare o visualizzare le policy di sicurezza, consulta Creare e visualizzare le policy di sicurezza di Cloud Armor.

Gestisci le policy di sicurezza

Le sezioni seguenti descrivono come elencare, aggiornare, eliminare o testare le policy di sicurezza.

Elenca policy di sicurezza

Segui i passaggi descritti in questa sezione per elencare le policy di sicurezza di Cloud Armor nel tuo progetto.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Per visualizzare una policy, fai clic sul nome della policy specifica nell'elenco.

gcloud

gcloud compute security-policies list

Ad esempio:

gcloud compute security-policies list

Output:

NAME: my-policy
REGION: us-central1

Per saperne di più, consulta gcloud compute security-policies list.

Aggiorna le policy di sicurezza

I passaggi descritti in questa sezione mostrano come aggiornare una policy di sicurezza di Cloud Armor. Puoi modificare la descrizione della policy, la regola predefinita, il servizio di backend di destinazione o aggiungere regole.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Trova il nome della policy che vuoi aggiornare nell'elenco delle policy e fai clic su Menu per quella policy.

    • Per aggiornare la descrizione o l'azione della regola predefinita, seleziona Modifica, apporta le modifiche e poi fai clic su Aggiorna.
    • Per aggiungere una regola, seleziona Aggiungi regola e segui i passaggi descritti in Aggiungi regole a una policy di sicurezza.
    • Per sostituire il servizio di backend di destinazione, seleziona Applica policy alla destinazione, fai clic su Aggiungi destinazione, seleziona una destinazione e poi fai clic su Aggiungi.

gcloud

Per aggiornare una policy di sicurezza, segui questi passaggi di Google Cloud CLI:

Elimina policy di sicurezza

Questa sezione descrive come eliminare una policy di sicurezza di Cloud Armor. Rimuovi tutti i servizi di backend dalla policy prima di eliminarla.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Seleziona la casella di controllo accanto alle norme da eliminare.

  3. Fai clic su Elimina nell'angolo in alto a destra della pagina.

gcloud

Utilizza gcloud compute security-policies delete NAME. Sostituisci NAME con il nome della policy di sicurezza:

gcloud compute security-policies delete NAME

Testa le policy di sicurezza

Ti consigliamo di eseguire il deployment di tutte le nuove regole in modalità di anteprima, quindi esamina i log delle richieste per verificare che le policy e le regole si comportino come previsto.

Gestisci le regole delle policy di sicurezza

Le sezioni seguenti descrivono come elencare, aggiungere, aggiornare o eliminare le regole della policy di sicurezza.

Elenca le regole in una policy di sicurezza

Segui i passaggi descritti in questa sezione per elencare le regole in una policy di sicurezza di Cloud Armor.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Fai clic sul nome della policy di sicurezza specifica. La pagina Dettagli policy mostra le regole della policy nella scheda Regole.

gcloud

Utilizza il seguente comando gcloud per elencare tutte le regole in una policy di sicurezza:

gcloud compute security-policies describe NAME \

Utilizza il seguente comando gcloud per elencare tutte le regole in una singola policy di sicurezza in una regione specificata insieme a una descrizione della policy:

gcloud compute security-policies describe NAME \
  --region REGION

Utilizza il seguente comando gcloud per descrivere una regola:

gcloud compute security-policies rules describe PRIORITY \
    --security-policy POLICY_NAME

Ad esempio, il comando seguente descrive la regola con priorità 1000 nella policy di sicurezza my-policy:

gcloud compute security-policies rules describe 1000 \
    --security-policy my-policy

Output:

action: deny(403)
description: block traffic from 192.0.2.0/24 and 198.51.100.0/24
kind: compute#securityPolicyRule
match:
  srcIpRanges:
  - '192.0.2.0/24'
  - '198.51.100.0/24'
preview: false
priority: 1000

Per saperne di più, consulta gcloud compute security-policies describe.

Aggiungi regole a una policy di sicurezza

Segui i passaggi descritti in questa sezione per aggiungere regole a una policy di sicurezza di Cloud Armor.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Fai clic sul nome della policy di sicurezza per aprire la pagina Dettagli policy.

  3. Al centro della pagina, fai clic sulla scheda Regole.

  4. Fai clic su Aggiungi regola.

  5. (Facoltativo) Inserisci una descrizione della regola.

  6. Seleziona la modalità:

    • Modalità di base: consente o nega il traffico in base agli indirizzi IP o agli intervalli IP.
    • Modalità avanzata: consente o nega il traffico in base alle espressioni della regola.
  7. Nel campo Corrispondenza, specifica le condizioni a cui si applica la regola:

    • Modalità base: inserisci da uno (1) a 10 intervalli di indirizzi IP a cui deve corrispondere la regola. Puoi aggiungere un massimo di 10 intervalli di indirizzi IP. Per i limiti, consulta Quote e limiti di Cloud Armor.

    • Modalità avanzata:

    • La seguente espressione corrisponde alle richieste provenienti dall'indirizzo IP 1.2.3.4 che contengono la stringa example nell'intestazione User-Agent:

        inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
      
    • La seguente espressione corrisponde alle richieste che hanno un cookie con un valore specifico:

          has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
        

    • La seguente espressione corrisponde alle richieste provenienti dalla regione AU:

          origin.region_code == 'AU'
        

    • La seguente espressione corrisponde alle richieste provenienti dalla regione AU che non rientrano nell'intervallo IP specificato:

          origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
        

    • La seguente espressione corrisponde alle richieste se l'URI corrisponde a un'espressione regolare:

          request.path.matches('/example_path/')
        

    • La seguente espressione corrisponde alle richieste se l'intestazione user-id contiene un valore codificato in Base64 che, una volta decodificato, contiene una stringa specifica:

          has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
        

    • La seguente espressione utilizza un insieme di espressioni preconfigurato per la corrispondenza con gli attacchi SQLi:

          evaluatePreconfiguredWaf('sqli-stable')
        

  8. Nell'elenco Azione, seleziona Consenti o Nega.

  9. Se stai configurando una regola Nega, seleziona un messaggio di Stato di negazione.

  10. Per attivare la modalità di anteprima per la regola, seleziona Attiva.

  11. Nel campo Priorità, inserisci un numero intero positivo.

  12. Fai clic su Aggiungi.

gcloud

Utilizza il comando gcloud compute security-policies rules create PRIORITY. Sostituisci PRIORITY con la priorità della regola nella policy:

gcloud compute security-policies rules create PRIORITY \
    --security-policy POLICY_NAME \
    --description DESCRIPTION \
    --src-ip-ranges IP_RANGES | --expression EXPRESSION \
    --action=[ allow | deny-403 | deny-404 | deny-502 ] \
    --preview

Ad esempio, il seguente comando aggiunge una regola con priorità 1000 per bloccare il traffico proveniente dagli intervalli di indirizzi IP 192.0.2.0/24 e 198.51.100.0/24:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \
    --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \
    --action "deny-403"

Utilizza il flag --expression per specificare una condizione. Il seguente comando aggiunge una regola per consentire il traffico dall'indirizzo IP 1.2.3.4 che contiene la stringa example nell'intestazione User-Agent:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')" \
    --action allow \
    --description "Block User-Agent 'example'"

Il seguente comando aggiunge una regola per bloccare le richieste se il cookie della richiesta contiene un valore specifico:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "has(request.headers['cookie']) && request.headers['cookie'].contains('80=BLAH')" \
    --action deny-403 \
    --description "Cookie Block"

Il seguente comando aggiunge una regola per bloccare le richieste provenienti dalla regione AU:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "origin.region_code == 'AU'" \
    --action deny-403 \
    --description "AU block"

Il seguente comando aggiunge una regola per bloccare le richieste provenienti dalla regione AU che non rientrano nell'intervallo IP specificato:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')" \
    --action deny-403 \
    --description "country and IP block"

Il seguente comando aggiunge una regola per bloccare le richieste con un URI che corrisponde a un'espressione regolare:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "request.path.matches('/example_path/')" \
    --action deny-502 \
    --description "regex block"

Il seguente comando aggiunge una regola per bloccare le richieste se il valore decodificato in Base64 dell'intestazione user-id contiene un valore specifico:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')" \
    --action deny-403 \
    --description "country and IP block"

Il seguente comando aggiunge una regola che utilizza un set di espressioni preconfigurate per mitigare gli attacchi SQLi:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "evaluatePreconfiguredWaf('sqli-stable')" \
    --action deny-403

Aggiorna una singola regola in una policy di sicurezza

Questa sezione descrive come aggiornare una singola regola in una policy di sicurezza di Cloud Armor. Per aggiornare più regole in modo atomico, vedi Aggiornamento atomico di più regole in una policy di sicurezza.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Fai clic sul nome della policy di sicurezza per aprire la pagina Dettagli policy.

  3. Al centro della pagina, fai clic sulla scheda Regole.

  4. Accanto alla regola che vuoi aggiornare, fai clic su Modifica. Viene visualizzata la pagina Modifica regola.

  5. Apporta le modifiche e fai clic su Aggiorna.

gcloud

Utilizza il seguente comando per aggiornare una regola. Puoi aggiornare una sola policy di sicurezza alla volta:

gcloud compute security-policies rules update PRIORITY [ \
    --security-policy POLICY_NAME  \
    --description DESCRIPTION  \
    --src-ip-ranges IP_RANGES  | --expression EXPRESSION \
    --action=[ allow | deny-403 | deny-404 | deny-502 ]  \
    --preview
  ]
  

Ad esempio, il comando seguente aggiorna una regola con priorità 1111 per consentire il traffico dall'intervallo di indirizzi IP 192.0.2.0/24:

gcloud compute security-policies rules update 1111 \
    --security-policy my-policy \
    --description "allow traffic from 192.0.2.0/24" \
    --src-ip-ranges "192.0.2.0/24" \
    --action "allow"

Per ulteriori informazioni sul comando precedente, consulta gcloud compute security-policies rules update.

Per aggiornare la priorità di una regola, utilizza l'API REST. Consulta securityPolicies.patchRule.

Utilizzare il generatore di condizioni di corrispondenza

Il generatore di condizioni di corrispondenza è un'interfaccia visiva nella console Google Cloud che ti aiuta a creare espressioni di regole Cloud Armor complesse senza scrivere codice Common Expression Language (CEL). Anziché scrivere codice, puoi utilizzare l'interfaccia utente strutturata del builder per combinare condizioni e logica di gruppo, il che può aiutarti a evitare errori di sintassi e a visualizzare meglio la struttura delle regole. Il generatore supporta elenchi piatti e logica nidificata fino a cinque livelli di espressioni. Utilizza questo strumento quando configuri le regole per proteggere i backend multicloud o le implementazioni ibride, in cui potrebbe essere necessario esaminare attributi di richiesta specifici prima di instradare il traffico.

Funzionalità del generatore di condizioni di corrispondenza

Il generatore di condizioni di corrispondenza include le seguenti funzionalità:

  • Logica e nidificazione: combina più condizioni utilizzando gli operatori AND e OR. Lo strumento supporta il raggruppamento e l'annidamento di un massimo di cinque espressioni.
  • Trasformazioni delle stringhe: per gli attributi basati su stringhe (ad esempio request.path o request.headers), applica le trasformazioni per normalizzare i dati prima della valutazione. Le trasformazioni supportate includono:
    • Minuscole e maiuscole
    • Decodifica Base64
    • Decodifica URL e Decodifica URL (Unicode)
    • Converti UTF-8 in Unicode
  • Analisi bidirezionale: passa dal generatore di condizioni di corrispondenza visivo all'editor di condizioni di corrispondenza di testo non elaborato. La UI analizza il codice CEL non elaborato in blocchi visivi automaticamente.
  • Supporto delle funzioni: il builder fornisce controlli UI per le espressioni basate su funzioni, come regole WAF preconfigurate, gruppi di indirizzi e Threat Intelligence.

Limitazioni

Il generatore di condizioni di corrispondenza è l'interfaccia predefinita per la creazione di regole avanzate. Se un'espressione contiene una logica non supportata (ad esempio macro sconosciute), il builder viene disattivato. In questi casi, utilizza il testo non elaborato nell'editor della condizione di corrispondenza per modificare la regola.

Inoltre, la disponibilità di determinate espressioni nel builder dipende dal livello Google Cloud Armor Enterprise del tuo progetto e dal tipo di policy di sicurezza.

Aggiorna in modo atomico più regole in una policy di sicurezza

Puoi utilizzare la funzionalità di aggiornamento atomico per applicare le modifiche a più regole in un unico aggiornamento. Gli aggiornamenti di una singola regola potrebbero causare un comportamento imprevisto, ad esempio errori, perché le regole vecchie e nuove potrebbero sovrapporsi per un breve periodo.

Per aggiornare più regole in modo atomico, esporta la policy di sicurezza corrente in un file JSON o YAML, quindi modificalo. Utilizza il file modificato per creare una policy di sicurezza, quindi cambia la policy di sicurezza per i servizi di backend.

gcloud

  1. Esporta la policy da aggiornare, come mostrato nell'esempio seguente:

    gcloud compute security-policies export my-policy \
        --file-name my-file \
        --file-format yaml
    

    La policy esportata sarà simile all'esempio seguente:

        description: my description
        fingerprint: PWfLGDWQDLY=
        id: '123'
        name: my-policy
        rules:
        - action: deny(404)
          description: my-rule-1
          match:
            expr:
              expression: evaluatePreconfiguredWaf('xss-stable')
            versionedExpr: SRC_IPS_V1
          preview: false
          priority: 1
        - action: allow
          description: my-rule-2
          match:
            config:
              srcIpRanges:
              - '1.2.3.4'
            versionedExpr: SRC_IPS_V1
          preview: false
          priority: 2
        - action: deny
          description: default rule
          kind: compute#securityPolicyRule
          match:
            config:
              srcIpRanges:
              - '*'
            versionedExpr: SRC_IPS_V1
          preview: false
          priority: 2147483647
        selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
    
  2. Utilizza un editor di testo per modificare la policy. Ad esempio, puoi modificare le priorità delle regole esistenti e aggiungere una regola:

        description: my description
        fingerprint: PWfLGDWQDLY=
        id: '123'
        name: my-policy
        rules:
        - action: deny(404)
          description: my-rule-1
          match:
            expr:
              expression: evaluatePreconfiguredWaf('xss-stable')
            versionedExpr: SRC_IPS_V1
          preview: false
          priority: 1
        - action: allow
          description: my-new-rule
          match:
            config:
              srcIpRanges:
              - '1.2.3.1'
            versionedExpr: SRC_IPS_V1
          preview: false
          priority: 10
        - action: allow
          description: my-rule-2
          match:
            config:
              srcIpRanges:
              - '1.2.3.4'
            versionedExpr: SRC_IPS_V1
          preview: false
          priority: 11
        - action: deny
          description: default rule
          kind: compute#securityPolicyRule
          match:
            config:
              srcIpRanges:
              - '*'
            versionedExpr: SRC_IPS_V1
          preview: false
          priority: 2147483647
        selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
    
  3. Crea una nuova policy di sicurezza di Cloud Armor e specifica il nome file e il formato modificati, come mostrato nell'esempio seguente:

    gcloud compute security-policies create new-policy \
        --file-name modified-policy \
        --file-format yaml
    
  4. Rimuovi la vecchia policy di sicurezza dal servizio di backend pertinente, come mostrato nell'esempio seguente:

    gcloud compute backend-services update my-backend \
        --security-policy ""
    
  5. Aggiungi la nuova policy di sicurezza al servizio di backend, come mostrato nell'esempio seguente:

    gcloud compute backend-services update my-backend \
        --security-policy new-policy
    
  6. Se la vecchia policy non viene utilizzata, eliminala:

    gcloud compute security-policies delete my-policy
    

Elimina le regole da una policy di sicurezza

Segui i passaggi descritti in questa sezione per eliminare le regole da una policy di sicurezza di Cloud Armor.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Fai clic sul nome della policy di sicurezza per aprire la pagina Dettagli policy.

  3. Al centro della pagina, nella scheda Regole, seleziona la casella di controllo accanto alla regola che vuoi eliminare.

  4. Fai clic su Elimina.

gcloud

Utilizza il seguente comando per rimuovere una regola. Puoi modificare una sola policy di sicurezza alla volta, ma puoi eliminare più regole contemporaneamente:

gcloud compute security-policies rules delete PRIORITY [...] [
    --security-policy POLICY_NAME \
  ]

Ad esempio:

gcloud compute security-policies rules delete 1000 \
    --security-policy my-policy

Allega e rimuovi le policy di sicurezza

Le sezioni seguenti descrivono come collegare e rimuovere le policy di sicurezza.

Collega una policy di sicurezza a un servizio di backend

Segui i passaggi descritti in questa sezione per collegare una policy di sicurezza di Cloud Armor a un servizio di backend. Puoi collegare una policy di sicurezza a più servizi di backend, ma un servizio di backend può avere collegato solo un tipo di policy di sicurezza.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Fai clic sul nome della policy di sicurezza per aprire la pagina Dettagli policy.

  3. Al centro della pagina, fai clic sulla scheda Target.

  4. Fai clic su Applica policy a una nuova destinazione.

  5. Fai clic su Aggiungi target.

  6. Nell'elenco Target, seleziona un target e poi fai clic su Aggiungi.

gcloud

Quando colleghi una policy di sicurezza del backend a un servizio di backend, utilizza il comando gcloud compute backend-services e il flag --security-policy:

gcloud compute backend-services update my-backend \
    --security-policy my-policy

Quando colleghi una policy di sicurezza perimetrale a un servizio di backend, utilizza il comando gcloud compute backend-services e il flag --edge-security-policy:

gcloud compute backend-services update my-backend \
    --edge-security-policy my-policy

Rimuovi una policy di sicurezza da un servizio di backend

Segui i passaggi descritti in questa sezione per rimuovere una policy di sicurezza di Cloud Armor da un servizio di backend.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Fai clic sul nome della policy di sicurezza per aprire la pagina Dettagli policy.

  3. Al centro della pagina, fai clic sulla scheda Target.

  4. Seleziona il servizio di backend di destinazione da cui stai rimuovendo la policy.

  5. Fai clic su Rimuovi.

  6. Nel messaggio Rimuovi target, fai clic su Rimuovi.

gcloud

Quando rimuovi una policy di sicurezza del backend, utilizza il comando gcloud compute backend-services e il flag --security-policy:

gcloud compute backend-services update my-backend \
    --security-policy ""

Quando rimuovi una policy di sicurezza perimetrale, utilizza il comando gcloud compute backend-services e il flag --edge-security-policy:

gcloud compute backend-services update my-backend \
    --edge-security-policy ""

Collega una policy di sicurezza a un bucket di backend

Segui i passaggi descritti in questa sezione per collegare una policy di sicurezza perimetrale di Cloud Armor a un bucket di backend. Puoi collegare una policy di sicurezza perimetrale a più bucket di backend.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Fai clic sul nome della policy di sicurezza per aprire la pagina Dettagli policy.

  3. Al centro della pagina, fai clic sulla scheda Target.

  4. Fai clic su Applica policy a una nuova destinazione.

  5. Fai clic su Aggiungi target.

  6. Nell'elenco Target, seleziona un target e poi fai clic su Aggiungi.

gcloud

Quando colleghi una policy di sicurezza perimetrale a un bucket di backend, utilizza il comando cloud compute backend-buckets e il flag --edge-security-policy:

gcloud compute backend-services update my-bucket \
    --edge-security-policy my-edge-policy

Rimuovi una policy di sicurezza da un bucket di backend

Segui i passaggi descritti in questa sezione per rimuovere una policy di sicurezza perimetrale di Cloud Armor da un bucket di backend.

Console

  1. Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.

    Vai alle policy di Cloud Armor

  2. Fai clic sul nome della policy di sicurezza per aprire la pagina Dettagli policy.

  3. Al centro della pagina, fai clic sulla scheda Target.

  4. Seleziona il servizio di backend di destinazione da cui stai rimuovendo la policy.

  5. Fai clic su Rimuovi.

  6. Nel messaggio Rimuovi target, fai clic su Rimuovi.

gcloud

Quando rimuovi una policy di sicurezza perimetrale da un bucket di backend, utilizza il comando cloud compute backend-buckets e il flag --edge-security-policy:

gcloud compute backend-services update my-bucket \
    --edge-security-policy ""

Importa ed esporta policy di sicurezza

Le sezioni seguenti descrivono come importare ed esportare le policy di sicurezza.

Esporta policy di sicurezza

Puoi esportare una policy di sicurezza di Cloud Armor come file YAML o JSON utilizzando Google Cloud CLI. Questa funzionalità offre i seguenti vantaggi:

  • Salva una copia per il controllo delle versioni o il backup: l'esportazione fornisce una copia locale della policy. Salva questa copia nei sistemi di controllo del codice sorgente come backup o per monitorare le modifiche. Puoi reimportarla in un secondo momento per ripristinare una versione precedente.

  • Modifica e aggiorna le policy localmente: modifica le policy esportate offline utilizzando un editor di testo. Dopo aver apportato le modifiche, importa nuovamente la policy aggiornata per applicarle a Cloud Armor.

gcloud

  1. Nel seguente comando, NAME è il nome della policy di sicurezza. I formati di file validi sono YAML e JSON. Se non specifichi il formato file, Cloud Armor utilizza YAML.

    gcloud compute security-policies export NAME \
        --file-name FILE_NAME  \
        --file-format FILE_FORMAT
    

    Il seguente esempio mostra il comando per esportare la policy di sicurezza my-policy nel file my-file in formato YAML:

    gcloud compute security-policies export my-policy \
        --file-name my-file \
        --file-format yaml
     

    L'esempio seguente mostra una policy di sicurezza esportata:

    description: my description
    fingerprint: PWfLGDWQDLY=
    id: '123'
    name: my-policy
    rules:
    - action: allow
      description: default rule
      match:
          config:
            srcIpRanges:
            - '*'
          versionedExpr: SRC_IPS_V1
        preview: false
        priority: 2147483647
      selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
      
  2. Modifica il file esportato con un editor di testo e poi importalo di nuovo in Google Cloud utilizzando il comando import.

Importa policy di sicurezza

Puoi importare le policy di sicurezza di Cloud Armor da un file YAML o JSON utilizzando Google Cloud CLI. Non puoi utilizzare il comando import per aggiornare le regole di una policy esistente. Aggiorna invece le regole singolarmente utilizzando la procedura Aggiorna una singola regola in una policy di sicurezza o tutte contemporaneamente utilizzando la procedura Aggiorna in modo atomico più regole in una policy di sicurezza.

gcloud

Per importare le policy di sicurezza, utilizza il seguente comando gcloud compute security-policies import NAME.

gcloud compute security-policies import NAME \
    --file-name FILE_NAME  \
   [--file-format FILE_FORMAT]

Ad esempio, il seguente comando aggiorna la policy my-policy importando il file my-file.

gcloud compute security-policies import my-policy \
    --file-name my-file \
    --file-format json

Sostituisci NAME con il nome della policy di sicurezza. Se non fornisci il formato file, viene presupposto il formato corretto in base alla struttura del file. Se la struttura non è valida, gcloud CLI restituisce un messaggio di errore.

Se l'impronta della policy non è aggiornata quando la importi, Cloud Armor restituisce un errore. Ciò significa che le policy sono state modificate dall'ultima esportazione. Per risolvere il problema, utilizza il comando describe sulla policy per ottenere l'ultima impronta. Puoi utilizzare --format=yaml o --format=json con il comando describe per semplificare il confronto. Confronta la sezione rules dell'output describe con la sezione rules del file della policy, unisci le eventuali differenze e sostituisci l'impronta obsoleta nel file con quella più recente dell'output describe.

Elenca le regole preconfigurate disponibili

Oltre alle regole che configuri personalmente, Cloud Armor fornisce regole preconfigurate che puoi utilizzare nelle tue policy di sicurezza. Puoi elencare le regole preconfigurate per visualizzare le regole e le firme di protezione delle applicazioni predefinite, ad esempio il set di regole di base OWASP fornito da Cloud Armor. Queste regole contengono firme integrate che Cloud Armor valuta rispetto alle richieste in entrata. Aggiungi queste regole preconfigurate a regole nuove o esistenti utilizzando il riferimento per il linguaggio delle regole personalizzate.

Per ulteriori informazioni, vedi Regole preconfigurate.

gcloud

  1. Esegui il comando gcloud compute security-policies list-preconfigured-expression-sets:

    gcloud compute security-policies list-preconfigured-expression-sets
    

    L'esempio seguente mostra la forma dell'output del comando:

    EXPRESSION_SET
    expression-set-1
       RULE_ID                SENSITIVITY
       expression-set-1-id-1  sensitivity-value-1
       expression-set-1-id-2  sensitivity-value-2
    expression-set-2
       alias-1
       RULE_ID                SENSITIVITY
       expression-set-2-id-1  sensitivity-value-1
       expression-set-2-id-2  sensitivity-value-2
    

    L'esempio seguente include un campione dell'output effettivo del comando. Tieni presente che l'output effettivo includerebbe tutte le regole elencate in Ottimizzazione delle regole WAF di Cloud Armor.

    gcloud compute security-policies list-preconfigured-expression-sets
    
    EXPRESSION_SET
    sqli-canary
        RULE_ID                          SENSITIVITY
        owasp-crs-v042200-id942120-sqli  2
        …
    xss-canary
        RULE_ID                         SENSITIVITY
        owasp-crs-v042200-id941110-xss  1
        owasp-crs-v042200-id941120-xss  2
    …
    sourceiplist-fastly
    sourceiplist-cloudflare
    sourceiplist-imperva
    

Passaggi successivi