Questa pagina spiega come utilizzare gli elenchi di URL per creare e gestire policy di accesso granulari per il traffico web in uscita all'interno dell'istanza Secure Web Proxy. Anziché creare regole individuali per ogni sito web, gli elenchi di URL ti consentono di definire una raccolta riutilizzabile e centralizzata di domini, nomi host e pattern URL specifici.
Ecco alcuni vantaggi principali dell'utilizzo degli elenchi di URL:
Semplifica la gestione delle policy: puoi applicare un ampio insieme di regole
allowodenycon un unico riferimento nella tua policy di sicurezza.Applica un controllo preciso: puoi utilizzare una sintassi specifica per trovare corrispondenze con interi domini, sottodomini o percorsi URL esatti. In questo modo puoi avere la certezza che i tuoi carichi di lavoro possano accedere solo alle destinazioni autorizzate.
Accesso web sicuro: puoi proteggere e controllare in modo efficiente l'accesso web nel tuo ambiente Google Cloud .
Prima di iniziare
Completa i passaggi di configurazione iniziale.
Verifica che sia installata la versione 406.0.0 o successive di Google Cloud CLI:
gcloud version | head -n1Se 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
Nella console Google Cloud , vai alla pagina Policy SWP.
Fai clic su Crea una policy.
Nel campo Nome, inserisci un nome per la policy, ad esempio
myswppolicy.Nel campo Descrizione, inserisci una descrizione della norma, ad esempio
My new swp policy.Per Regioni, seleziona la regione in cui vuoi creare il criterio, ad esempio
us-central1.Fai clic su Crea.
Cloud Shell
Utilizza l'editor di testo che preferisci per creare un file
policy.yaml.Aggiungi quanto segue al file
policy.yamlche hai creato:name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTIONSostituisci quanto segue:
PROJECT_NAME: il nome del progettoREGION: la regione in cui viene creata la policy, ad esempious-central1POLICY_NAME: il nome della policyPOLICY_DESCRIPTION: la descrizione della policy
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
Nella console Google Cloud , vai alla pagina Proxy web.
Fai clic su Crea un proxy web sicuro.
Nel campo Nome, inserisci un nome per il web proxy, ad esempio
myswp.Nel campo Descrizione, inserisci una descrizione del proxy web, ad esempio
My new swp.Per Modalità di routing, seleziona l'opzione Esplicita.
Per Regioni, seleziona la regione in cui vuoi creare il proxy web, ad esempio
us-central1.In Rete, seleziona la rete in cui vuoi creare il proxy web.
Per Subnet, seleziona la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziali.
(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.
In Certificato, seleziona il certificato che vuoi utilizzare per creare il proxy web.
Per Policy, seleziona la policy che hai creato per associare il proxy web.
Fai clic su Crea.
Cloud Shell
Utilizza l'editor di testo che preferisci per creare un file
gateway.yaml.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: samplescopeSostituisci quanto segue:
GATEWAY_NAME: il nome di questa istanza di Secure Web ProxyGATEWAY_PORT_NUMBERS: elenco dei numeri di porta per questo gateway, ad esempio[80,443]CERTIFICATE_URLS: elenco degli URL dei certificati SSLSUBNETWORK: 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.
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
allowspecifiche nelle sezioni successive.
Creare e configurare un elenco di URL
Console
Nella console Google Cloud , vai alla pagina Elenchi URL.
Fai clic su Crea un elenco di URL. Si apre la pagina Crea elenco di URL.
Nel campo Nome, inserisci un nome per l'elenco di URL, ad esempio
example-org-allowed-list.Nel campo Descrizione, inserisci una descrizione dell'elenco di URL, ad esempio
My new URL list.Per Regioni, seleziona la regione in cui vuoi creare l'elenco di URL, ad esempio
us-central1.Per aggiungere l'elenco di host, URL o pattern da corrispondere, nel campo Elenco URL, inserisci i dettagli o fai clic su Carica elenco per caricare un elenco personalizzato di URL. Per ulteriori informazioni, consulta Riferimento alla sintassi di UrlList.
Fai clic su Crea.
Cloud Shell
Utilizza l'editor di testo che preferisci per creare il file
url_list.yaml.Aggiungi quanto segue al file
url_list.yaml:name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME values: URL_LISTSostituisci quanto segue:
PROJECT_ID: ID univoco del tuo progetto Google CloudREGION: la regione in cui viene creata la lista di URL, ad esempious-central1URL_LIST_NAME: il nome dell'elenco URLURL_LIST: 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. Devi aggiungere le virgolette intorno agli URL che includono un carattere*.Importa l'elenco di URL che hai creato utilizzando il comando
gcloud network-security url-lists importin modo che la regola Secure Web Proxy possa farvi riferimento.gcloud network-security url-lists import URL_LIST_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=url_list.yaml
Aggiungere una regola Secure Web Proxy
Console
Nella console Google Cloud , vai alla pagina Policy SWP.
Fai clic sul nome della policy, ad esempio
myswppolicy.Fai clic su Aggiungi regola.
Per ogni regola, procedi nel seguente modo:
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.Nel campo Nome, inserisci un nome per la regola, ad esempio
allow-org-url-list.Nel campo Descrizione, inserisci una descrizione della regola.
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.
Per il campo Stato, seleziona una delle seguenti opzioni per l'applicazione della regola:
- Attivato: per applicare la regola all'istanza di Secure Web Proxy.
- Disattivato: per non applicare la regola all'istanza di Secure Web Proxy.
Nella sezione Corrispondenza sessione, specifica il nome univoco dell'elenco di URL che hai creato nella sezione precedente. Ad esempio:
sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME)"Per saperne di più sulla sintassi di
SessionMatcher, consulta il riferimento al linguaggio del matcher CEL.Nella sezione Corrispondenza applicazione, specifica i criteri per la corrispondenza della richiesta.
Fai clic su Aggiungi regola.
Cloud Shell
Utilizza l'editor di testo che preferisci per creare un file
rule.yaml.Aggiungi quanto segue al file
rule.yaml:name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME basicProfile: ALLOW enabled: true priority: RULE_PRIORITY description: RULE_DESCRIPTION sessionMatcher: SESSION_CEL_EXPRESSION applicationMatcher: APPLICATION_CEL_EXPRESSIONSostituisci quanto segue:
PROJECT_ID: l'ID univoco del tuo progetto Google CloudREGION: la regione a cui si applica questa regolaPOLICY_NAME: il nome di una policy di sicurezza esistente utilizzata dall'istanza di Secure Web ProxyRULE_NAME: il nome della regolaPRIORITY_VALUE: priorità della regola; un numero più basso corrisponde a una priorità più altaRULE_DESCRIPTION: descrizione della regolaSESSION_CEL_EXPRESSION: un'espressione Common Expression Language (CEL). Per saperne di più, consulta il riferimento al linguaggio del matcher CEL.APPLICATION_CEL_EXPRESSION: un'espressione CEL per la tua 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')"Importa la regola che hai creato utilizzando il comando
gcloud network-security gateway-security-policies rules import.gcloud network-security gateway-security-policies rules import RULE_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=rule.yaml \ --gateway-security-policy=POLICY_NAME
Testa la configurazione dei criteri
Puoi testare di nuovo la connettività per verificare che le regole di accesso basate su elenchi di URL siano configurate correttamente e applicate attivamente dall'istanza di Secure Web Proxy.
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 dell'istanza Secure Web ProxySWP_PORT_NUMBER: il numero di porta del proxy web, ad esempio443HTTP_TEST_ADDRESS: un indirizzo da testare, ad esempiohttps://www.example.com. Corrisponde a una voce di host o URL nel tuourl_list.
Se tutto funziona correttamente, ricevi una risposta 200 OK. Questa
risposta conferma che il traffico in uscita verso un URL
elencato nell'elenco di URL e a cui fa riferimento la regola dei criteri di sicurezza
è consentito correttamente tramite l'istanza di Secure Web Proxy.