Utilizzare un elenco di URL per creare criteri

Questa guida mostra come utilizzare gli elenchi di URL per definire gli URL a cui gli utenti possono accedere.

Prima di iniziare

  • Completa i passaggi della configurazione iniziale.

  • Verifica che sia installata la versione 406.0.0 o successive di Google Cloud CLI:

    gcloud version | head -n1
    

    Se hai installato una versione precedente di gcloud CLI, aggiornala:

    gcloud components update --version=406.0.0
    

Crea un'istanza di Secure Web Proxy con una policy vuota

Per creare un'istanza di Secure Web Proxy, devi prima creare una policy di sicurezza vuota e poi creare un proxy web che utilizzi la policy.

Crea una policy di sicurezza vuota

Console

  1. Nella console Google Cloud , vai alla pagina Policy SWP.

    Vai alle policy SWP

  2. Fai clic su Crea una policy.

  3. Nel campo Nome, inserisci un nome per la policy, ad esempio myswppolicy.

  4. Nel campo Descrizione, inserisci una descrizione della norma, ad esempio My new swp policy.

  5. Per Regioni, seleziona la regione in cui vuoi creare il criterio, ad esempio us-central1.

  6. Fai clic su Crea.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare un file policy.yaml.

  2. Aggiungi quanto segue al file policy.yaml che hai creato:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Sostituisci quanto segue:

    • PROJECT_NAME: il nome del progetto

    • REGION: la regione in cui viene creata la policy, ad esempio us-central1

    • POLICY_NAME: il nome della policy

    • POLICY_DESCRIPTION: la descrizione della policy

  3. Importa la policy di sicurezza utilizzando il comando gcloud network-security gateway-security-policies import:

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Crea un proxy web

Console

  1. Nella console Google Cloud , vai alla pagina Proxy web.

    Vai a Proxy web

  2. Fai clic su Crea un proxy web sicuro.

  3. Nel campo Nome, inserisci un nome per il web proxy, ad esempio myswp.

  4. Nel campo Descrizione, inserisci una descrizione del proxy web, ad esempio My new swp.

  5. Per Modalità di routing, seleziona l'opzione Esplicita.

  6. Per Regioni, seleziona la regione in cui vuoi creare il proxy web, ad esempio us-central1.

  7. In Rete, seleziona la rete in cui vuoi creare il proxy web.

  8. Per Subnet, seleziona la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziali.

  9. (Facoltativo) Nel campo Indirizzo IP del proxy web, inserisci l'indirizzo IP del proxy web sicuro.

    Puoi inserire un indirizzo IP dall'intervallo di indirizzi IP proxy web sicuri che si trovano nella subnet creata nel passaggio precedente. Se non inserisci l'indirizzo IP, l'istanza di Secure Web Proxy sceglie automaticamente un indirizzo IP dalla subnet selezionata.

  10. In Certificato, seleziona il certificato che vuoi utilizzare per creare il proxy web.

  11. Per Policy, seleziona la policy che hai creato per associare il proxy web.

  12. Fai clic su Crea.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare un file gateway.yaml.

  2. Aggiungi quanto segue al file gateway.yaml:

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Sostituisci quanto segue:

    • GATEWAY_NAME: il nome di questa istanza di Secure Web Proxy

    • GATEWAY_PORT_NUMBERS: elenco dei numeri di porta per questo gateway, ad esempio [80,443]

    • CERTIFICATE_URLS: elenco degli URL dei certificati SSL

    • SUBNETWORK: la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziali.

    • GATEWAY_IP_ADDRESS: elenco facoltativo di indirizzi IP per le istanze Secure Web Proxy all'interno delle subnet proxy create in precedenza nei passaggi di configurazione iniziali.

      Se scegli di non elencare gli indirizzi IP, ometti il campo per consentire al proxy web di scegliere un indirizzo IP per te.

  3. Crea l'istanza del proxy web sicuro utilizzando il comando gcloud network-services gateways import:

    gcloud network-services gateways import GATEWAY_NAME \
        --source=gateway.yaml \
        --location=REGION
    

Testa la connettività

Per testare la connettività, utilizza il comando curl da qualsiasi istanza di macchina virtuale (VM) all'interno della tua rete Virtual Private Cloud (VPC):

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure

Se tutto funziona correttamente, l'istanza di Secure Web Proxy restituisce un codice di stato 403 Forbidden. Questo errore conferma quanto segue:

  • L'istanza di Secure Web Proxy è stata implementata correttamente e riceve attivamente traffico.

  • Il criterio del proxy web sicuro applica correttamente la postura di sicurezza predefinita di rifiuto di tutto il traffico finché non definisci regole allow specifiche nelle sezioni successive.

Crea un elenco di URL

Per creare un elenco di URL e aggiungere una regola, completa le attività nelle sezioni seguenti.

Creare e configurare un elenco di URL

Console

  1. Nella console Google Cloud , vai alla pagina Elenchi URL.

    Vai a Elenchi di URL

  2. Fai clic su Crea un elenco di URL.

  3. Inserisci un nome per l'elenco di URL che vuoi creare, ad esempio myurllist.

  4. Inserisci una descrizione dell'elenco di URL, ad esempio My new URL list.

  5. Nell'elenco Regioni, seleziona la regione in cui vuoi creare l'elenco di URL.

  6. Fai clic su Carica elenchi per caricare l'elenco di host, URL o pattern da abbinare. Per saperne di più, consulta il riferimento per la sintassi di UrlList.

  7. Fai clic su Crea.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare il file URL_LIST_FILE.yaml. ReplaceURL_LIST_FILE` con il nome file che preferisci.

      name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME
      values: URL_LIST
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero di progetto
    • REGION: la regione a cui si applica questo elenco di URL
    • URL_LIST_NAME: un nome per l'elenco di URL che stai creando
    • URL_LIST: l'elenco di host, URL o pattern da corrispondere

    Per saperne di più, consulta Riferimento alla sintassi di UrlList.

    Di seguito è riportato un esempio di file di regole per l'elenco di URL:

    name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list
    values:
      - www.example.com
      - about.example.com
      - "*.google.com"
      - "github.com/example-org/*"
    

    Il carattere asterisco (*) ha un significato speciale in YAML. Pertanto, devi aggiungere le virgolette intorno agli URL che includono il carattere *.

  2. Aggiungi l'elenco di URL in modo che possa essere referenziato da una regola Secure Web Proxy:

    gcloud network-security url-lists import URL_LIST_NAME \
        --location=REGION \
        --project=PROJECT_ID \
        --source=URL_LIST_FILE.yaml
    

Aggiungi una regola

Console

  1. Nella console Google Cloud , vai alla pagina Policy SWP.

    Vai alle policy SWP

  2. Nel menu del selettore dei progetti, seleziona l'ID organizzazione o la cartella che contiene la policy.

  3. Fai clic sul nome della policy.

  4. Fai clic su Aggiungi regola.

  5. Compila i campi della regola:

    1. Nome
    2. Descrizione
    3. Stato
    4. Priorità: l'ordine di valutazione numerico della regola. Le regole vengono valutate dalla priorità più alta a quella più bassa, dove 0 è la priorità più alta.
    5. Nella sezione Azione, specifica se le connessioni che corrispondono alla regola sono consentite (Consenti) o negate (Nega).
    6. Nella sezione Corrispondenza sessione, specifica il nome dell'elenco di URL che hai creato in precedenza. Ad esempio:

        sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
      
    7. Per abilitare l'ispezione TLS, seleziona Abilita ispezione TLS.

    8. Nella sezione Corrispondenza applicazione, specifica i criteri per la corrispondenza della richiesta.

    9. Fai clic su Crea.

  6. Fai clic su Aggiungi regola per aggiungere un'altra regola.

  7. Fai clic su Crea per creare la policy.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare il file RULE_FILE.yaml. Sostituisci RULE_FILE con il nome file che preferisci.

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    basicProfile: ALLOW
    enabled: true
    priority: PRIORITY_VALUE
    description: RULE_DESCRIPTION
    sessionMatcher: SESSION_CEL_EXPRESSION
    applicationMatcher: APPLICATION_CEL_EXPRESSION
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero di progetto
    • REGION: la regione a cui si applica questa regola
    • POLICY_NAME: il nome di un GatewaySecurityPolicy esistente utilizzato dall'istanza di Secure Web Proxy
    • RULE_NAME: un nome per il GatewaySecurityPolicyRule che stai creando
    • PRIORITY_VALUE: un valore di priorità per questa regola; i numeri più bassi corrispondono a priorità più alte
    • RULE_DESCRIPTION: una descrizione della policy che stai creando
    • SESSION_CEL_EXPRESSION: un'espressione Common Expression Language (CEL) per la sessione
    • APPLICATION_CEL_EXPRESSION: un'espressione CEL per l'applicazione

    Di seguito è riportato un esempio di file di regole:

    name: projects/PROJECT_ID/locations/REGION/urlLists/allow-repos
    basicProfile: ALLOW
    enabled: true
    priority: 100
    description: Allow access to our list of known code repos.
    sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
    

  2. Aggiungi una regola Secure Web Proxy utilizzando l'elenco di URL che hai creato in precedenza:

        gcloud network-security gateway-security-policies rules import RULE_NAME \
          --location=REGION \
          --project=PROJECT_ID \
          --source=RULE_FILE.yaml \
          --gateway-security-policy=POLICY_NAME
    

Testa la connettività

Per testare la connettività, utilizza il seguente comando curl:

curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS
--proxy-insecure

Sostituisci quanto segue:

  • SWP_IP_ADDRESS: l'indirizzo IP del proxy web

  • SWP_PORT_NUMBER: il numero di porta per il proxy web, ad esempio 443

  • HTTP_TEST_ADDRESS: un indirizzo da testare, ad esempio https://www.example.com, che corrisponde a una voce di host o URL nel tuo URL_LIST

La richiesta deve restituire una risposta positiva.

Passaggi successivi