Esegui il deployment di Secure Web Proxy come proxy esplicito

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 proxy esplicito.

Le istanze di Secure Web Proxy in modalità di routing esplicito possono essere dispiegate come servizio Private Service Connect. In alternativa, puoi eseguire il deployment di Secure Web Proxy in modalità di routing dell'hop successivo.

Il deployment di Secure Web Proxy in modalità di routing esplicito prevede i seguenti passaggi:

  1. Crea una policy di Secure Web Proxy.
  2. Crea regole di Secure Web Proxy e aggiungile alla policy.
  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 del 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.

    Nella parte inferiore 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, segui questi passaggi:

    1. Installa Google Cloud CLI
    2. Inizializza gcloud CLI
  3. Crea o seleziona un progetto Google Cloud 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 selezionane uno 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. Creare 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 Compute Instance Admin (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 una policy di Secure Web Proxy

Questa sezione illustra i passaggi per creare una policy di Secure Web Proxy. La policy può quindi fungere da container per tutte le regole di sicurezza che regolano il flusso di traffico attraverso 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 a 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 policy, ad esempio My new swp policy.

  5. In Regioni, seleziona la regione in cui vuoi creare la policy, ad esempio us-central1.

  6. Se vuoi creare regole per la policy, fai clic su Aggiungi regola. Per saperne di più, consulta la sezione Crea regole di Secure Web Proxy.

  7. Fai clic su Crea.

Cloud Shell

  1. Utilizza un editor di testo per creare un file policy.yaml.

  2. Aggiungi il codice seguente 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 di Secure Web Proxy

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

All'interno della policy creata 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 a Policy SWP

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

  3. Fai clic su Aggiungi regola.

  4. Per ogni regola, segui questi passaggi:

    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. In 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. Nel campo Stato, seleziona una delle seguenti opzioni per l'applicazione della regola:

      • Abilitata: per applicare la regola all'istanza di Secure Web Proxy.
      • Disattivata: 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 per 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 attivato 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 del proxy TCP.

    8. Fai clic su Crea.

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

Cloud Shell

  1. Utilizza un editor di testo per creare il file rule.yaml.

  2. Aggiungi il codice seguente al file rule.yaml. Per ulteriori informazioni 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
    

Configura 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 inoltre come associare la policy e le regole create in precedenza all'istanza di Secure Web Proxy, assicurando che tutto il traffico che la attraversa sia soggetto ai controlli degli accessi 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 proxy web, ad esempio myswp.

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

  5. In Modalità di routing, seleziona l'opzione Esplicito.

  6. In 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. In Subnet, seleziona la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziale.

  9. (Facoltativo) Nel campo Indirizzo IP del proxy web, inserisci l'indirizzo IP di Secure Web Proxy.

    Puoi inserire un indirizzo IP dall'intervallo di indirizzi IP di Secure Web Proxy 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 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. In Policy associata, seleziona la policy che hai creato per associarla al proxy web.

  3. Fai clic su Crea.

Cloud Shell

  1. Utilizza un editor di testo per creare un file gateway.yaml.

  2. Aggiungi il codice seguente 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
    

    Facoltativo: per consentire alle applicazioni client di altre regioni Google Cloud di connettersi al proxy, abilita l'accesso globale quando crei l'istanza di Secure Web Proxy.

    Nel file gateway.yaml, aggiungi il campo allowGlobalAccess e impostalo su true.

    Importante: puoi attivare allowGlobalAccess solo quando crei un'istanza di Secure Web Proxy. Non puoi configurare questa impostazione in un secondo momento.

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    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
    allowGlobalAccess: true
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • REGION thought To create a firewall rule, you must have the Compute Security Admin role (<code>roles/compute.securityAdmin</code>).
    • IP_ADDRESS: l'indirizzo IP della tua istanza Secure Web Proxy
    • NETWORK: la rete della tua istanza Secure Web Proxy
    • SUBNETWORK: la subnet della tua istanza Secure Web Proxy. Devi utilizzare la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziale.
  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 distribuito, 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 della tua 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 saperne di più su come configurare Secure Web Proxy per l'ispezione TLS e poi testare l'istanza di Secure Web Proxy, consulta Abilita 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 di quelli disponibili in una determinata rete.

    Vai a Proxy web

  2. Seleziona il proxy web che vuoi eliminare. In questo caso, il nome del proxy web è 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 il gateway Cloud NAT

Console

  1. Nella console Google Cloud , vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Seleziona il gateway Cloud NAT generato automaticamente per la tua istanza di Secure Web Proxy. Il gateway Cloud NAT è in genere denominato swg-autogen-nat.

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

Cloud Shell

  1. (Facoltativo) Per identificare il nome del router Cloud generato automaticamente, elenca i router nella tua regione.

    gcloud compute routers list \
        --region=REGION \
        --filter="name:(swg-autogen-router-*)" \
        --format="value(name)"
    

    Sostituisci REGION con la regione della tua istanza Secure Web Proxy.

  2. Elimina il gateway Cloud NAT.

    gcloud compute routers nats delete NAT_NAME \
        --router=ROUTER_NAME \
        --region=REGION
    

    Sostituisci quanto segue:

    • NAT_NAME: il nome del gateway Cloud NAT, in genere swg-autogen-nat
    • ROUTER_NAME: il nome del router Cloud associato al gateway Cloud NAT. Il nome del router in genere inizia con swg-autogen-router-.
    • REGION: la regione del gateway Cloud NAT

Elimina il router Cloud

Console

  1. Nella console Google Cloud , vai alla pagina Router Cloud.

    Vai a Router Cloud

  2. Seleziona il router Cloud generato automaticamente per la tua istanza di Secure Web Proxy. Il nome del router in genere inizia con swg-autogen-router-.

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

Cloud Shell

gcloud compute routers delete ROUTER_NAME \
    --region=REGION

Sostituisci quanto segue:

  • ROUTER_NAME: il nome del router Cloud
  • REGION: la regione del router Cloud

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 di 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. In questo caso, 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 policy.

Elimina la policy di 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 di 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 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