Nesta página, explicamos como usar listas de URLs para criar e gerenciar políticas de acesso granular para o tráfego da Web de saída na instância do proxy seguro da Web. Em vez de criar regras individuais para cada site, as listas de URLs permitem definir uma coleção reutilizável e centralizada de domínios, nomes de host e padrões de URL específicos.
Confira alguns dos principais benefícios de usar listas de URLs:
Simplifique o gerenciamento de políticas: é possível aplicar um grande conjunto de regras de
allowoudenycom uma única referência na sua política de segurança.Impor controle preciso: é possível usar uma sintaxe específica para corresponder a domínios, subdomínios ou caminhos de URL inteiros. Isso ajuda a garantir que suas cargas de trabalho acessem apenas destinos autorizados.
Acesso seguro à Web: você pode proteger e auditar com eficiência o acesso à Web em todo o seu ambiente Google Cloud .
Antes de começar
Conclua as etapas de configuração inicial.
Verifique se você tem a versão 406.0.0 ou mais recente da Google Cloud CLI instalada:
gcloud version | head -n1Se você tiver uma versão anterior da CLI gcloud instalada, atualize-a:
gcloud components update --version=406.0.0
Criar uma instância do Secure Web Proxy com uma política vazia
Para criar uma instância do Secure Web Proxy, primeiro é necessário criar uma política de segurança vazia e, em seguida, um proxy da Web que use a política.
Criar uma política de segurança vazia
Console
No console do Google Cloud , acesse a página Políticas de SWP.
Clique em Criar uma política.
No campo Nome, insira um nome para a política, como
myswppolicy.No campo Descrição, insira uma descrição para a política, como
My new swp policy.Em Regiões, selecione a região em que você quer criar a política, como
us-central1.Clique em Criar.
Cloud Shell
Use o editor de texto de sua preferência para criar um arquivo
policy.yaml.Adicione o seguinte ao arquivo
policy.yamlque você criou:name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTIONSubstitua:
PROJECT_NAME: nome do projetoREGION: região em que a política é criada, comous-central1POLICY_NAME: nome da políticaPOLICY_DESCRIPTION: descrição da política
Importe a política de segurança usando o comando
gcloud network-security gateway-security-policies import:gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Criar um proxy da Web
Console
No console Google Cloud , acesse a página Proxies da Web.
Clique em Criar um proxy da Web seguro.
No campo Nome, insira um nome para o proxy da Web, como
myswp.No campo Descrição, insira uma descrição para o proxy da Web, como
My new swp.Em Modo de roteamento, selecione a opção Explícito.
Em Regiões, selecione a região em que você quer criar o proxy da Web, como
us-central1.Em Rede, selecione a rede em que você quer criar o proxy da Web.
Em Sub-rede, selecione a sub-rede da VPC que você criou anteriormente como parte das etapas de configuração inicial.
Opcional: no campo Endereço IP do proxy da Web, insira o endereço IP do proxy da Web seguro.
Você pode inserir um endereço IP do intervalo de endereços IP do proxy da Web seguro que reside na sub-rede criada na etapa anterior. Se você não inserir o endereço IP, sua instância do Secure Web Proxy escolherá automaticamente um endereço IP da sub-rede selecionada.
Em Certificado, selecione o certificado que você quer usar para criar o proxy da Web.
Em Política, selecione a política que você criou para associar o proxy da Web.
Clique em Criar.
Cloud Shell
Use o editor de texto de sua preferência para criar um arquivo
gateway.yaml.Adicione o seguinte ao arquivo
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: samplescopeSubstitua:
GATEWAY_NAME: nome desta instância do Secure Web ProxyGATEWAY_PORT_NUMBERS: lista de números de porta para este gateway, como[80,443].CERTIFICATE_URLS: lista de URLs de certificados SSLSUBNETWORK: a sub-rede VPC que você criou anteriormente como parte das etapas de configuração inicial.GATEWAY_IP_ADDRESS: lista opcional de endereços IP das instâncias do proxy seguro da Web nas sub-redes de proxy criadas anteriormente nas etapas de configuração inicial.Se você não quiser listar endereços IP, omita o campo para que o proxy da Web escolha um endereço IP para você.
Crie a instância do Secure Web Proxy usando o comando
gcloud network-services gateways import:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
testar a conectividade
Para testar a conectividade, use o comando curl em qualquer instância de máquina virtual (VM)
na rede de nuvem privada virtual (VPC):
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Se tudo estiver funcionando corretamente, sua instância do Secure Web Proxy
vai retornar um código de status 403 Forbidden. Esse erro confirma o seguinte:
A instância do Secure Web Proxy foi implantada e está recebendo tráfego.
A política de proxy da Web segura está aplicando corretamente a postura de segurança padrão de rejeitar todo o tráfego até que você defina regras específicas de
allownas próximas seções.
Criar e configurar uma lista de URLs
Console
No console Google Cloud , acesse a página Listas de URLs.
Clique em Criar uma lista de URLs. A página Criar lista de URLs é aberta.
No campo Nome, insira um nome para a lista de URLs, como
example-org-allowed-list.No campo Descrição, insira uma descrição para a lista de URLs, como
My new URL list.Em Regiões, selecione a região em que você quer criar a lista de URLs, como
us-central1.Para adicionar a lista de hosts, URLs ou padrões a serem correspondidos, no campo Lista de URLs, insira os detalhes ou clique em Fazer upload da lista para enviar uma lista personalizada de URLs. Para mais informações, consulte Referência de sintaxe UrlList.
Clique em Criar.
Cloud Shell
Use o editor de texto de sua preferência para criar o arquivo
url_list.yaml.Adicione o seguinte ao arquivo
url_list.yaml.name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME values: URL_LISTSubstitua:
PROJECT_ID: ID exclusivo do seu projeto Google CloudREGION: região em que sua lista de URLs é criada, comous-central1URL_LIST_NAME: nome da lista de URLsURL_LIST: lista de hosts, URLs ou padrões para correspondência
Para mais informações, consulte a referência de sintaxe UrlList.
Confira abaixo um exemplo de arquivo de regras de lista de URLs:
name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list values: - www.example.com - about.example.com - "*.google.com" - "github.com/example-org/*"O caractere asterisco (
*) tem um significado especial em YAML. Adicione aspas aos URLs que incluem um caractere*.Importe a lista de URLs que você criou usando o comando
gcloud network-security url-lists importpara que sua regra do Secure Web Proxy possa fazer referência a ela.gcloud network-security url-lists import URL_LIST_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=url_list.yaml
Adicionar uma regra do Secure Web Proxy
Console
No console do Google Cloud , acesse a página Políticas de SWP.
Clique no nome da política, como
myswppolicy.Clique em Adicionar regra.
Para cada regra, faça o seguinte:
Em Prioridade, digite uma ordem de avaliação numérica para a regra. As regras são avaliadas da prioridade mais alta para a mais baixa, em que
0é a mais alta.No campo Nome, insira um nome para a regra, como
allow-org-url-list.No campo Descrição, insira uma descrição para a regra.
Em Ação, selecione uma das seguintes opções:
- Permitir: para permitir solicitações de conexão que correspondem à regra.
- Negar: para negar solicitações de conexão que correspondem à regra.
No campo Status, selecione uma das seguintes opções para a aplicação da regra:
- Ativada: para aplicar a regra na sua instância do Secure Web Proxy.
- Desativado: para não aplicar a regra na sua instância do Secure Web Proxy.
Na seção Correspondência de sessão, especifique o nome exclusivo da lista de URLs que você criou na seção anterior. Exemplo:
sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME)"Para mais informações sobre a sintaxe de
SessionMatcher, consulte a referência da linguagem de correspondência da CEL.Na seção Correspondência de aplicativo, especifique os critérios para corresponder à solicitação.
Clique em Adicionar regra.
Cloud Shell
Use o editor de texto de sua preferência para criar um arquivo
rule.yaml.Adicione o seguinte ao arquivo
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_EXPRESSIONSubstitua:
PROJECT_ID: ID exclusivo do seu projeto Google CloudREGION: região em que essa regra se aplicaPOLICY_NAME: nome de uma política de segurança atual usada pela instância do Secure Web ProxyRULE_NAME: nome da regraPRIORITY_VALUE: prioridade da regra. Um número menor corresponde a uma prioridade maior.RULE_DESCRIPTION: descrição da regraSESSION_CEL_EXPRESSION: uma expressão da linguagem de expressão comum (CEL). Para mais informações, consulte Referência da linguagem de correspondência da CEL.APPLICATION_CEL_EXPRESSION: uma expressão CEL para seu aplicativo
Confira abaixo um exemplo de arquivo de regra:
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')"Importe a regra criada usando o 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
Testar a configuração da política
Você pode testar a conectividade novamente para validar se as regras de acesso com base em listas de URLs estão configuradas corretamente e sendo aplicadas ativamente pela sua instância do Secure Web Proxy.
Para testar a conectividade, use o seguinte comando curl:
curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS
--proxy-insecure
Substitua:
SWP_IP_ADDRESS: endereço IP da sua instância do Secure Web ProxySWP_PORT_NUMBER: número da porta do seu proxy da Web, como443HTTP_TEST_ADDRESS: um endereço para testar, comohttps://www.example.com. Ele corresponde a uma entrada de host ou URL no seuurl_list.
Se tudo funcionar corretamente, você vai receber uma resposta 200 OK. Essa
resposta confirma que o tráfego de saída para um URL
listado na sua lista de URLs e referenciado pela regra da política de segurança
foi permitido pela instância do proxy seguro da Web.