Crea ed esegui il deployment di un'istanza di Secure Web Proxy

Questa guida rapida spiega come eseguire il deployment e testare un'istanza di Secure Web Proxy. I passaggi descrivono il deployment di Secure Web Proxy in modalità di routing esplicito, che funziona come un proxy esplicito.

Le istanze di Secure Web Proxy in modalità di routing esplicito possono essere deployate come servizio Private Service Connect. In alternativa, puoi eseguire il deployment di Secure Web Proxy in modalità di routing "Hop successivo".

L'implementazione di Secure Web Proxy in modalità di routing esplicito include i seguenti passaggi:

  1. Crea una policy Secure Web Proxy.
  2. Crea regole Secure Web Proxy e aggiungile al criterio.
  3. Configura l'istanza di Secure Web Proxy in modalità di routing esplicito.
  4. Testa la connettività da un'istanza di macchina virtuale (VM) Linux per verificare che il proxy e le relative policy funzionino correttamente.
Esegui il deployment di Secure Web Proxy in modalità di routing proxy esplicito.
Esegui il deployment di Secure Web Proxy in modalità di routing proxy esplicito (fai clic per ingrandire).

Prima di iniziare

  1. Completa i passaggi di configurazione iniziale.

  2. (Facoltativo) Per eseguire gli esempi di riga di comando gcloud specificati in questo documento, installa Google Cloud CLI in uno dei seguenti ambienti di sviluppo:

    Cloud Shell

    Per utilizzare un terminale online con gcloud CLI già configurata, attiva Cloud Shell.

    Alla fine di questa pagina viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. L'inizializzazione della sessione può richiedere alcuni secondi.

    Se hai già installato gcloud CLI, assicurati di avere l'ultima versione disponibile eseguendo il comando gcloud components update.

    Shell locale

    Per utilizzare un ambiente di sviluppo locale:

    1. Installa Google Cloud CLI
    2. Inizializza gcloud CLI
  3. Crea o seleziona un Google Cloud progetto esistente.

    Se non prevedi di conservare le risorse che crei in questa procedura, ti consigliamo di creare un progetto invece di selezionarne uno già esistente. Dopo aver completato i passaggi di questa guida rapida, puoi eliminare il progetto per rimuovere tutte le risorse associate.

    Console

    Nella console Google Cloud , nella pagina di selezione del progetto, crea un progetto Google Cloud o seleziona un progetto esistente.

    Vai al selettore di progetti

    Cloud Shell

    1. Crea un progetto Google Cloud .

      gcloud projects create PROJECT_ID
      

      Sostituisci PROJECT_ID con l'ID progetto che preferisci.

    2. Seleziona il progetto Google Cloud che hai creato.

      gcloud config set project PROJECT_ID
      
  4. Crea un'istanza VM Linux.

    gcloud compute instances create swp-test-vm \
        --subnet=default \
        --zone=ZONE \
        --image-project=debian-cloud \
        --image-family=debian-11
    

    Sostituisci ZONE con la zona dell'istanza VM di test.

    Compute Engine concede il ruolo Amministratore istanze Compute (roles/compute.instanceAdmin) all'utente che crea l'istanza VM. Compute Engine aggiunge anche l'utente al gruppo sudo.

  5. Crea una regola firewall.

    gcloud compute firewall-rules create default-allow-ssh \
        --direction=INGRESS \
        --priority=1000 \
        --network=default \
        --action=ALLOW \
        --rules=tcp:22 \
        --source-ranges=0.0.0.0/0
    

Ruoli obbligatori

Per completare le attività di questo tutorial, assicurati di disporre dei seguenti ruoli:

Per ulteriori informazioni, consulta le seguenti risorse:

Crea un criterio Secure Web Proxy

Questa sezione spiega i passaggi per creare un criterio Secure Web Proxy. I criteri possono quindi fungere da contenitore per tutte le regole di sicurezza che regolano il flusso di traffico tramite Secure Web Proxy. Dopo aver creato la policy, puoi creare regole e aggiungerle alla policy.

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. Se vuoi creare regole per la tua policy, fai clic su Aggiungi regola. Per saperne di più, consulta la sezione Creare regole Secure Web Proxy.

  7. 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:

      description: basic Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/myswppolicy
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • REGION: la regione in cui viene creata la policy, ad esempio us-central1
  3. Crea la policy di Secure Web Proxy.

    gcloud network-security gateway-security-policies import myswppolicy \
        --source=policy.yaml \
        --location=REGION
    

Crea regole Secure Web Proxy

Questa sezione descrive in dettaglio i passaggi per creare regole Secure Web Proxy. Le regole aiutano a definire i controlli di accesso effettivi per il traffico web.

All'interno delle norme che hai creato in precedenza, puoi definire regole come allow-wikipedia-org. Queste regole specificano i criteri per la corrispondenza delle sessioni web, ad esempio la corrispondenza di un host specifico come www.wikipedia.org, e quindi consentono o negano il traffico web.

Console

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

    Vai alle policy SWP

  2. Fai clic sul nome della policy, ad esempio myswppolicy.

  3. Fai clic su Aggiungi regola.

  4. Per ogni regola, procedi nel seguente modo:

    1. In Priorità, inserisci un ordine di valutazione numerico per la regola. Le regole vengono valutate dalla priorità più alta a quella più bassa, dove 0 è la priorità più alta.

    2. Nel campo Nome, inserisci un nome per la regola, ad esempio allow-wikipedia-org.

    3. Nel campo Descrizione, inserisci una descrizione della regola, ad esempio Allow wikipedia.org.

    4. Per Azione, seleziona una delle seguenti opzioni:

      • Consenti: per consentire le richieste di connessione che corrispondono alla regola.
      • Nega: per negare le richieste di connessione che corrispondono alla regola.
    5. Per il campo Stato, seleziona una delle seguenti opzioni per l'applicazione della regola:

      • Attivata: per applicare la regola all'istanza di Secure Web Proxy.
      • Disattivato: per non applicare la regola all'istanza di Secure Web Proxy.
    6. Nella sezione Corrispondenza sessione, specifica i criteri per la corrispondenza della sessione, ad esempio host() == 'www.wikipedia.org'.

      Per saperne di più sulla sintassi di SessionMatcher, consulta il riferimento al linguaggio del matcher CEL.

    7. Nella sezione Corrispondenza applicazione, specifica i criteri per la corrispondenza della richiesta. Poiché non abbiamo abilitato la regola per l'ispezione TLS, la richiesta può corrispondere solo al traffico HTTP.

      Per saperne di più sulla corrispondenza del traffico TCP, consulta Configura le regole proxy TCP.

    8. Fai clic su Crea.

  5. Per aggiungere un'altra regola, fai clic su Aggiungi regola.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare il file rule.yaml.

  2. Aggiungi quanto segue al file rule.yaml. Per saperne di più sulla sintassi di SessionMatcher, consulta il riferimento al linguaggio del matcher CEL.

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
    description: Allow wikipedia.org
    enabled: true
    priority: 1
    basicProfile: ALLOW
    sessionMatcher: host() == 'www.wikipedia.org'
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • REGION: la regione della policy
    • RULE_NAME: il nome della regola, ad esempio allow-wikipedia-org.
  3. Crea la regola della policy di sicurezza.

    gcloud network-security gateway-security-policies rules import allow-wikipedia-org \
        --source=rule.yaml \
        --location=REGION \
        --gateway-security-policy=policy1
    

Configurare un proxy web

Questa sezione descrive come eseguire il deployment di Secure Web Proxy in modalità di routing esplicito, che funziona come un proxy esplicito. Spiega anche come associare le norme e le regole create in precedenza all'istanza di Secure Web Proxy, garantendo che tutto il traffico che la attraversa sia soggetto ai controlli di accesso definiti.

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 Secure Web Proxy.

    Puoi inserire un indirizzo IP dall'intervallo di indirizzi IP di Secure Web Proxy che si trovano nella subnet che hai creato 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 Porte, inserisci i numeri di porta, ad esempio 80 o 443, su cui vuoi che il proxy web sia in ascolto.

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

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

  3. 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_ID/locations/REGION/gateways/myswp
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: EXPLICIT_ROUTING_MODE
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • REGION: la regione in cui viene creata l'istanza di Secure Web Proxy
    • IP_ADDRESS: l'indirizzo IP dell'istanza di Secure Web Proxy
    • NETWORK: la rete della tua istanza Secure Web Proxy
    • SUBNETWORK: subnet dell'istanza Secure Web Proxy. Devi utilizzare la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziali.
  3. Crea un'istanza di Secure Web Proxy basata sul file gateway.yaml.

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

    Il deployment di un'istanza di Secure Web Proxy può richiedere diversi minuti.

Testa la connettività

Questa sezione si concentra sul test della connettività da una VM Linux per verificare che il Secure Web Proxy appena sottoposto a deployment, i relativi criteri e le regole associate funzionino correttamente.

  1. Connettiti alla VM di cui hai eseguito il provisioning in precedenza.

    gcloud compute ssh swp-test-vm \
        --zone=ZONE
    

    Sostituisci ZONE con la zona dell'istanza VM di test.

  2. Testa l'istanza di Secure Web Proxy.

    curl -s -o /dev/null -w "%{http_code}\\n" -x IP_ADDRESS:443 https://www.wikipedia.org
    

    Sostituisci IP_ADDRESS con l'indirizzo IP dell'istanza di Secure Web Proxy.

    Questo comando stampa il codice di stato HTTP restituito da www.wikipedia.org. Se il comando ha esito positivo, il codice di stato è 200. Tuttavia, se si verifica un problema con il proxy, il comando restituisce un codice di stato 000 per indicare un errore di connessione. Per visualizzare i messaggi di errore dettagliati, aggiungi l'opzione -v al comando.

Non abbiamo configurato l'ispezione TLS nell'esempio menzionato in questa pagina. Per ulteriori informazioni su come configurare Secure Web Proxy per l'ispezione TLS e poi testare l'istanza di Secure Web Proxy, vedi Attivare l'ispezione TLS.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

Elimina l'istanza di Secure Web Proxy swp1

Console

  1. Nella console Google Cloud , vai alla pagina Proxy web. Puoi visualizzare l'elenco di tutti i proxy web o solo quelli disponibili in una determinata rete.

    Vai a Proxy web

  2. Seleziona il proxy web che vuoi eliminare. In questo caso, il nome del web proxy è swp1.

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

Cloud Shell

gcloud network-services gateways delete swp1 \
    --location=REGION

Sostituisci REGION con la regione dell'istanza Secure Web Proxy.

Elimina la regola allow-wikipedia-org

Console

  1. Nella console Google Cloud , vai alla pagina Proxy web. Puoi visualizzare l'elenco di tutti i proxy web o solo quelli disponibili in una determinata rete.

    Vai a Proxy web

  2. Fai clic sulla policy. In questo caso, il nome della policy è policy1.

  3. Seleziona la regola che vuoi eliminare. Qui, il nome della regola è allow-wikipedia-org.

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

Cloud Shell

gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
    --location=REGION \
    --gateway-security-policy=policy1

Sostituisci REGION con la regione della tua policy.

Elimina la policy Secure Web Proxy policy1

Console

  1. Nella console Google Cloud , vai alla pagina Proxy web. Puoi visualizzare l'elenco di tutti i proxy web o solo quelli disponibili in una determinata rete.

    Vai a Proxy web

  2. Seleziona la policy che vuoi eliminare. In questo caso, il nome della policy è policy1.

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

Cloud Shell

gcloud network-security gateway-security-policies delete policy1 \
    --location=REGION

Sostituisci REGION con la regione della tua policy.

Elimina l'istanza VM Linux swp-test-vm

Console

  1. Nella console Google Cloud , vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona le istanze da eliminare. In questo caso, swp-test-vm è il nome dell'istanza VM Linux.

  3. Fai clic su Elimina.

Cloud Shell

gcloud compute instances delete swp-test-vm

Passaggi successivi