Configura i criteri di sicurezza di Google Cloud Armor

Utilizza queste istruzioni per creare criteri di sicurezza di Google Cloud Armor filtra il traffico in entrata verso le seguenti destinazioni:

  • Bilanciatore del carico delle applicazioni esterno globale
  • Bilanciatore del carico delle applicazioni classico
  • Bilanciatore del carico delle applicazioni esterno regionale
  • Bilanciatore del carico delle applicazioni interno regionale
  • Bilanciatore del carico di rete proxy esterno
  • Bilanciatore del carico di rete proxy classico
  • Bilanciatore del carico di rete passthrough esterno
  • Forwarding del protocollo
  • VM con indirizzi IP pubblici

Per informazioni concettuali sui criteri di sicurezza, consulta Panoramica dei criteri di sicurezza di Google Cloud Armor.

Prima di iniziare

Prima di configurare i criteri di sicurezza, segui questi passaggi:

  • Assicurati di conoscere il bilanciatore del carico delle applicazioni esterno concetti.

  • Esamina i servizi di backend esistenti per determinare quali ancora un criterio di sicurezza collegato. Questi servizi di backend e le relative applicazioni e i backend non sono protetti da Google Cloud Armor. Per aggiungere la protezione fornita da Google Cloud Armor, utilizza le istruzioni in questo documento per collegare un criterio di sicurezza appena creato o esistente al servizio di backend.

Configura le autorizzazioni IAM per i criteri di sicurezza di Google Cloud Armor

Le seguenti operazioni richiedono Identity and Access Management (IAM) Ruolo Amministratore sicurezza Compute (roles/compute.securityAdmin):

  • Configurazione, modifica, aggiornamento ed eliminazione di Google Cloud Armor criterio di sicurezza
  • Se utilizzi i seguenti metodi dell'API:
    • SecurityPolicies insert
    • SecurityPolicies delete
    • SecurityPolicies patch
    • SecurityPolicies addRule
    • SecurityPolicies patchRule
    • SecurityPolicies removeRule

Un utente con il ruolo Amministratore rete Compute (roles/compute.networkAdmin) può eseguire le seguenti operazioni:

  • Impostazione di un criterio di sicurezza di Google Cloud Armor per un servizio di backend
  • Se utilizzi i seguenti metodi dell'API:
    • BackendServices setSecurityPolicy
    • BackendServices list (solo gcloud)

Utenti con il ruolo Amministratore sicurezza (roles/iam.securityAdmin) e il ruolo Amministratore rete Compute può visualizzare la sicurezza di Google Cloud Armor i criteri utilizzando i metodi dell'API SecurityPolicies get, list e getRule.

Configura le autorizzazioni IAM per i ruoli personalizzati

La tabella seguente elenca i ruoli IAM autorizzazioni di base e i metodi API associati.

Autorizzazioni IAM Metodi dell'API
compute.securityPolicies.create SecurityPolicies insert
compute.securityPolicies.delete SecurityPolicies delete
compute.securityPolicies.get SecurityPolicies get
SecurityPolicies getRule
compute.securityPolicies.list SecurityPolicies list
compute.securityPolicies.use BackendServices setSecurityPolicy
compute.securityPolicies.update SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
compute.backendServices.setSecurityPolicy BackendServices setSecurityPolicy

Crea criteri di sicurezza

Puoi configurare criteri, regole ed espressioni di sicurezza di Google Cloud Armor utilizzando la console Google Cloud, Google Cloud CLI o l'API REST. Quando usa gcloud CLI per creare criteri di sicurezza, usa --type per specificare se il criterio di sicurezza è un criterio di sicurezza del backend il criterio di sicurezza perimetrale.

Se non hai dimestichezza con la configurazione dei criteri di sicurezza, ti consigliamo di visualizza esempi di criteri di sicurezza.

Espressioni di esempio

Di seguito sono riportate espressioni di esempio. Per ulteriori informazioni sulle espressioni, vedi il Riferimento al linguaggio delle regole personalizzate di Google Cloud Armor.

Se configuri una regola o un'espressione che utilizza ISO 3166-1 alpha 2 i codici paese o regione, Google Cloud Armor tratta ogni codice in modo indipendente. Le regole e le espressioni di Google Cloud Armor in modo esplicito e utilizzare questi codici regione per consentire o rifiutare le richieste.

  • La seguente espressione trova corrispondenze con le richieste dall'IP indirizzo 1.2.3.4 e contiene la stringa example intestazione user-agent:

    inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
    

    In alternativa, puoi trovare una corrispondenza nell'intervallo di indirizzi IP di un IP client personalizzato l'intestazione dell'indirizzo IP utilizzando Attributo origin.user_ip:

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

    has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
    
  • La seguente espressione trova corrispondenze con le richieste del regione AU:

    origin.region_code == 'AU'
    
  • La seguente espressione trova corrispondenze con le richieste del regione AU che non si trovano nell'intervallo IP specificato:

    origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
    
  • La seguente espressione trova corrispondenze con le richieste con un numero percorso variabile di un file specifico se l'URI corrisponde a una :

    request.path.matches('/path/[0-9]+/target_file.html')
    
  • La seguente espressione trova corrispondenze con le richieste se l'oggetto Base64 valore decodificato dell'intestazione user-id contiene un valore specifico:

    has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
    
  • La seguente espressione utilizza un set di espressioni preconfigurate per la corrispondenza con gli attacchi SQLi:

    evaluatePreconfiguredExpr('sqli-stable')
    

Gestisci criteri di sicurezza

Usa le sezioni seguenti per elencare i criteri di sicurezza nel tuo progetto, aggiorna criteri di sicurezza, eliminarli o testare la tua sicurezza criteri.

Elenca criteri di sicurezza

Utilizza queste istruzioni per elencare tutti i criteri di sicurezza di Google Cloud Armor nel progetto corrente o in un progetto da te specificato.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Per visualizzare un determinato criterio, nella pagina Criteri di sicurezza della sezione nell'elenco dei criteri, fai clic sul relativo nome.

gcloud

gcloud compute security-policies list

Ad esempio:

gcloud compute security-policies list
NAME
my-policy

Per ulteriori informazioni, vedi gcloud compute security-policies list.

Aggiornamento dei criteri di sicurezza

Utilizza queste istruzioni per aggiornare un criterio di sicurezza di Google Cloud Armor. Ad esempio, puoi modificare la descrizione del criterio, il comportamento della regola, cambia il servizio di backend di destinazione o aggiungi nuove regole.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Per aggiornare un determinato criterio, nella pagina Criteri di sicurezza, nella sezione delle norme, fai clic su Menu per il criterio che vuoi aggiornare.

    • Per aggiornare la descrizione del criterio dell'azione della regola predefinita, seleziona Modifica, apporta le modifiche e fai clic su Aggiorna.
    • Per aggiungere una regola, seleziona Aggiungi regola, poi segui le istruzioni in Aggiunta di regole a un criterio di sicurezza.
    • Per modificare il servizio di backend di destinazione per il criterio, seleziona Applica il criterio al target, fai clic su Aggiungi target, seleziona un target e fai clic su Aggiungi.

gcloud

Per aggiornare un criterio di sicurezza, utilizza Google Cloud CLI seguente istruzioni:

Elimina criteri di sicurezza

Utilizza queste istruzioni per eliminare un criterio di sicurezza di Google Cloud Armor. Tu devi rimuovere tutti i servizi di backend dal criterio prima di poter possono eliminarlo.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Nella pagina Criteri di sicurezza, accanto al nome del criterio di sicurezza che vuoi eliminare, seleziona la casella di controllo.

  3. Nell'angolo in alto a destra della pagina, fai clic su Elimina.

gcloud

Usa gcloud compute security-policies delete NAME. Sostituisci NAME con il nome del criterio di sicurezza:

gcloud compute security-policies delete NAME

Testa i criteri di sicurezza

Ti consigliamo di eseguire il deployment di tutte le nuove regole in modalità di anteprima, poi di esaminare log delle richieste, per verificare che i criteri e si comportano come previsto.

Gestisci le regole dei criteri di sicurezza

Utilizza le seguenti sezioni per elencare le regole del criterio di sicurezza, aggiungere regole e aggiornare o eliminare le regole.

Elenca le regole in un criterio di sicurezza

Utilizza queste istruzioni per elencare le regole in un ambiente di sicurezza di Google Cloud Armor .

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Nella pagina Criteri di sicurezza, fai clic sul nome del criteri di sicurezza. Viene visualizzata la pagina Dettagli norme le regole dei criteri sono elencate nella scheda Regole al centro della pagina.

gcloud

Usa il seguente comando gcloud per elencare tutte le regole in un singolo comando norme insieme a una descrizione delle norme:

gcloud compute security-policies describe NAME \

Utilizza il seguente comando gcloud per descrivere una regola con il valore priorità nel criterio di sicurezza specificato:

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

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

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

Uscita:

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

Aggiungi regole a un criterio di sicurezza

Utilizza queste istruzioni per aggiungere regole a un criterio di sicurezza di Google Cloud Armor.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Nella pagina Criteri di sicurezza, fai clic sul nome del criteri di sicurezza. Viene visualizzata la pagina Dettagli norme.

  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: consenti o nega il traffico in base agli indirizzi IP oppure intervalli IP.
    • Modalità avanzata: consenti o nega il traffico in base alla regola le espressioni regolari.
  7. Nel campo Corrispondenza, specifica le condizioni in base alle quali la regola Si applica:

    • Modalità di base: inserisci da uno (1) a cinque (5) indirizzi IP intervalli corrispondenti nella regola.
    • Modalità avanzata: inserisci una o più sottoespressioni per in base alle richieste in entrata. Per informazioni su come scrivere le espressioni e leggere i seguenti esempi, vedere riferimento al linguaggio delle regole personalizzate.

      • La seguente espressione trova corrispondenze con le richieste dall'IP indirizzo 1.2.3.4 e contiene la stringa example 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 trova corrispondenze con le richieste che hanno un con un valore specifico:

        has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
        
      • La seguente espressione trova corrispondenze con le richieste del regione AU:

        origin.region_code == 'AU'
        
      • La seguente espressione trova corrispondenze con le richieste del regione AU che non si trovano 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('/bad_path/')
        
      • La seguente espressione trova corrispondenze con le richieste se l'oggetto Base64 valore decodificato dell'intestazione user-id contiene un valore specifico:

        has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
        
      • La seguente espressione utilizza un'espressione preconfigurata impostata su per la corrispondenza con gli attacchi SQLi:

        evaluatePreconfiguredExpr('sqli-stable')
        
  8. Per Azione, seleziona Consenti o Rifiuta.

  9. Se stai configurando una regola di negazione, seleziona un messaggio relativo allo stato di negazione.

  10. Se vuoi attivare la modalità di anteprima per la regola, seleziona la casella di controllo Attiva. casella di controllo.

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

  12. Fai clic su Aggiungi.

gcloud

Usa il comando gcloud compute security-policies rules create PRIORITY. Sostituisci PRIORITY con la priorità della regola nel norme:

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 per bloccare il traffico proveniente da indirizzi IP, gli intervalli di indirizzi 192.0.2.0/24 e 198.51.100.0/24. La regola ha la priorità 1000 ed è una regola in un criterio chiamato my-policy:

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 nel riferimento al linguaggio delle regole personalizzate. Il comando seguente aggiunge una regola per consentire il traffico dall'indirizzo IP 1.2.3.4 e contiene la stringa example nell'intestazione dello 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 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 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 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('/bad_path/')" \
    --action deny-502 \
    --description "regex block"

Il seguente comando aggiunge una regola per bloccare le richieste se valore decodificato 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 comando seguente 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 "evaluatePreconfiguredExpr('sqli-stable')" \
    --action deny-403

Aggiorna una singola regola in un criterio di sicurezza

Utilizza queste istruzioni per aggiornare una singola regola in un ambiente Google Cloud Armor criteri di sicurezza. Per aggiornare atomicamente più regole, consulta Aggiornamento atomico di più regole in un criterio di sicurezza.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Nella pagina Criteri di sicurezza, fai clic sul nome del criteri di sicurezza. Viene visualizzata la pagina Dettagli norme.

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

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

  5. Apporta le modifiche, quindi fai clic su Aggiorna.

gcloud

Utilizza questo comando per aggiornare una regola con la priorità specificata in un delle norme di sicurezza prestabilite. Puoi aggiornare un solo criterio di sicurezza alla volta con questo comando:

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 in consenti 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 su questo comando, gcloud compute security-policies rules update.

Per aggiornare la priorità di una regola, devi utilizzare l'API REST. Per ulteriori informazioni le informazioni, vedi securityPolicies.patchRule.

Aggiornamento atomico di più regole in un criterio di sicurezza

Un aggiornamento atomico applica le modifiche a più regole con un singolo aggiornamento. Se le regole una ad una, potresti riscontrare comportamenti indesiderati regole vecchie e nuove potrebbero funzionare insieme solo per un breve periodo di tempo.

Per aggiornare atomicamente più regole, esporta il criterio di sicurezza attuale in un JSON o YAML e poi modificarlo. Utilizza il file modificato per creare un nuovo criterio di sicurezza e poi cambia il criterio di sicurezza per il backend pertinente i servizi di machine learning.

gcloud

  1. Esporta il criterio da aggiornare, come illustrato nell'esempio seguente:

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

    Il criterio esportato sarà simile al seguente esempio:

    description: my description
    fingerprint: PWfLGDWQDLY=
    id: '123'
    name: my-policy
    rules:
    - action: deny(404)
      description: my-rule-1
      match:
        expr:
          expression: evaluatePreconfiguredExpr('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 qualsiasi per modificare il criterio. Ad esempio, puoi modificare le priorità delle regole esistenti e aggiungine una nuova:

    description: my description
    fingerprint: PWfLGDWQDLY=
    id: '123'
    name: my-policy
    rules:
    - action: deny(404)
      description: my-rule-1
      match:
        expr:
          expression: evaluatePreconfiguredExpr('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 un nuovo criterio di sicurezza di Google Cloud Armor e specifica il nome e il formato di file modificati, come mostrato nell'esempio seguente:

    gcloud compute security-policies create new-policy \
        --file-name modified-policy \
        --file-format yaml
    
  4. Rimuovi il criterio di sicurezza precedente dal servizio di backend pertinente, ad esempio mostrato nell'esempio che segue:

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

    gcloud compute backend-services update my-backend \
        --security-policy new-policy
    
  6. Se il criterio precedente non viene utilizzato, eliminalo:

    gcloud compute security-policies delete my-policy
    

Elimina le regole da un criterio di sicurezza

Utilizza queste istruzioni per eliminare le regole da una sicurezza di Google Cloud Armor .

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Fai clic sul nome del criteri di sicurezza. Viene visualizzata la pagina Dettagli norme.

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

  4. Fai clic su Elimina.

gcloud

Utilizza questo comando per rimuovere da una regola con la priorità specificata delle norme di sicurezza prestabilite. Puoi modificare un solo criterio 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 i criteri di sicurezza

Utilizza le sezioni seguenti per collegare e rimuovere i criteri di sicurezza dal backend e bucket di backend.

Collega un criterio di sicurezza a un servizio di backend

Utilizza queste istruzioni per collegare un criterio di sicurezza di Google Cloud Armor a un di servizio di backend. Un criterio di sicurezza può essere collegato a più di un backend ma un servizio di backend può avere solo un criterio di sicurezza per ciascun tipo collegati.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Nella pagina Criteri di sicurezza, fai clic sul nome del criteri di sicurezza. Viene visualizzata la pagina Dettagli norme.

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

  4. Fai clic su Applica il criterio al nuovo target.

  5. Fai clic su Aggiungi target.

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

gcloud

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

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

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

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

Rimuovere un criterio di sicurezza da un servizio di backend

Utilizza queste istruzioni per rimuovere un criterio di sicurezza del backend di Google Cloud Armor o un criterio di sicurezza perimetrale di un servizio di backend.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Nella pagina Criteri di sicurezza, fai clic sul nome del criteri di sicurezza. Viene visualizzata la pagina Dettagli norme.

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

  4. Seleziona il servizio di backend di destinazione da cui vuoi rimuovere il criterio.

  5. Fai clic su Rimuovi.

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

gcloud

Quando rimuovi un criterio di sicurezza del backend, usa il comando gcloud compute backend-services e il flag --security-policy:

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

Quando rimuovi un criterio di sicurezza perimetrale, usa il comando gcloud compute backend-services e il flag --edge-security-policy:

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

Collega un criterio di sicurezza a un bucket di backend

Utilizza queste istruzioni per collegare un criterio di sicurezza perimetrale di Google Cloud Armor in un bucket di backend. Un criterio di sicurezza perimetrale può essere collegato a più di un di backend.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Nella pagina Criteri di sicurezza, fai clic sul nome del criteri di sicurezza. Viene visualizzata la pagina Dettagli norme.

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

  4. Fai clic su Applica il criterio al nuovo target.

  5. Fai clic su Aggiungi target.

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

gcloud

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

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

Rimuovi un criterio di sicurezza da un bucket di backend

Utilizza queste istruzioni per rimuovere un criterio di sicurezza perimetrale di Google Cloud Armor da un bucket di backend.

Console

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

    Vai ai criteri di Google Cloud Armor

  2. Nella pagina Criteri di sicurezza, fai clic sul nome del criteri di sicurezza. Viene visualizzata la pagina Dettagli norme.

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

  4. Seleziona il servizio di backend di destinazione da cui vuoi rimuovere il criterio.

  5. Fai clic su Rimuovi.

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

gcloud

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

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

Importazione ed esportazione dei criteri di sicurezza

Utilizza le sezioni seguenti per importare ed esportare i criteri di sicurezza come YAML JSON.

Importa criteri di sicurezza

Puoi importare i criteri di sicurezza di Google Cloud Armor da un file YAML o JSON con Google Cloud CLI. Non puoi utilizzare il comando import per aggiornare un le regole dei criteri esistenti. Devi invece aggiornare le regole una ad una utilizzando il metodo Aggiornare una singola regola in una procedura di un criterio di sicurezza oppure tutte contemporaneamente utilizzando Aggiornamento atomico di più regole in un criterio di sicurezza.

gcloud

Per importare i criteri di sicurezza, utilizza Comando gcloud compute security-policies import NAME. Sostituisci NAME con il nome del criterio di sicurezza che stai importando. Se non fornisci il formato file, utilizza il formato corretto in base alla struttura del file. Se la struttura non è valida, verrà visualizzato un errore.

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

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

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

Se il criterio fingerprint non è di data al momento dell'importazione, Google Cloud Armor mostra un errore. Ciò significa che il criterio sia stato modificato dall'ultima volta che l'hai esportato. Per risolvere il problema, usa il comando describe sul criterio per ottenere l'impronta più recente. Fondi eventuali differenze tra la norma descritta e la tua norma e quindi sostituisci l'impronta obsoleta con quella più recente.

Esporta criteri di sicurezza

Puoi esportare un criterio di sicurezza di Google Cloud Armor come file YAML o JSON con Google Cloud CLI. L'esportazione di un criterio consente di recuperarne una copia che puoi modificare o salvare nel controllo del codice sorgente.

gcloud

  1. Nel comando seguente, NAME è il nome del criteri di sicurezza. I formati file validi sono YAML e JSON. In caso contrario fornire il formato file, Google Cloud Armor utilizza il formato YAML predefinito.

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

    L'esempio seguente consente di esportare il criterio di sicurezza my-policy nella my-file in formato YAML:

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

    L'esempio seguente mostra un criterio di sicurezza esportato:

    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. Puoi modificare il file esportato con qualsiasi editor di testo e poi importarlo di nuovo in Google Cloud utilizzando Comando import.

Elenco di regole preconfigurate disponibili

Elenca le regole preconfigurate per visualizzare le regole di protezione delle applicazioni predefinite e firme come Set di regole di base ModSecurity fornite da Google Cloud Armor. Queste regole preconfigurate contengono più firme integrate utilizzate da Google Cloud Armor per la valutazione richieste in arrivo. Aggiungi queste regole preconfigurate a regole nuove o esistenti nel seguente modo: utilizzando il riferimento al linguaggio delle regole personalizzate.

Per saperne di più, consulta le regole preconfigurate.

gcloud

  1. Esegui l' Comando gcloud compute security-policies list-preconfigured-expression-sets:

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

    L'esempio seguente mostra il formato dell'output dal 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
    

    Il seguente esempio include un campione dell'output effettivo . Tieni presente che l'output effettivo includerà tutte le regole elencate in Ottimizzazione delle regole WAF di Google Cloud Armor.

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

Passaggi successivi