Esta página explica 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 Secure Web Proxy. 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:
Simplificar o gerenciamento de políticas: é possível aplicar um grande conjunto de
allowoudenyregras com uma única referência na política de segurança.Aplicar controle preciso: é possível usar uma sintaxe específica para corresponder a domínios inteiros, subdomínios ou caminhos de URL exatos. Isso ajuda a garantir que as cargas de trabalho só possam acessar destinos autorizados.
Acesso seguro à Web: é possível 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 versão:
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 crie 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 Google Cloud console do, acesse a página Políticas do 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 seu 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
gcloud network-security gateway-security-policies importcomando:gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Criar um proxy da Web
Console
No Google Cloud console do, 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 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 Secure Web Proxy.
É possível inserir um endereço IP do intervalo de endereços IP do Secure Web Proxy que reside na sub-rede criada na etapa anterior. Se você não inserir o endereço IP, a instância do Secure Web Proxy vai 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 dessa instância do Secure Web ProxyGATEWAY_PORT_NUMBERS: lista de números de porta para esse gateway, como[80,443]CERTIFICATE_URLS: lista de URLs de certificados SSLSUBNETWORK: sub-rede VPC que você criou anteriormente como parte das etapas de configuração inicialGATEWAY_IP_ADDRESS: lista opcional de endereços IP para as instâncias do Secure Web Proxy nas sub-redes de proxy que você criou anteriormente nas etapas de configuração inicialSe você optar por não listar endereços IP, omita o campo para permitir que o proxy da Web escolha um endereço IP para você.
Crie a instância do Secure Web Proxy usando o
gcloud network-services gateways importcomando:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
Testar a conectividade
Para testar a conectividade, use o comando curl de 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, a 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 ativamente.
A política do Secure Web Proxy está aplicando corretamente a postura de segurança padrão de rejeitar todo o tráfego até que você defina regras
allowespecíficas nas próximas seções.
Criar e configurar uma lista de URLs
Console
No Google Cloud console do, 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 fazer upload de uma lista personalizada de URLs. Para mais informações, consulte a 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 Google Cloud projetoREGION: região em que a lista de URLs é criada, comous-central1URL_LIST_NAME: nome da lista de URLsURL_LIST: lista de hosts, URLs ou padrões a serem correspondidos
Para mais informações, consulte a referência de sintaxe UrlList.
Confira abaixo um exemplo de arquivo de regra 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. É necessário adicionar aspas em torno de URLs que incluem um caractere*.Importe a lista de URLs que você criou usando o
gcloud network-security url-lists importcomando para que a 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 Google Cloud console do, acesse a página Políticas do SWP.
Clique no nome da sua política, como
myswppolicy.Clique em Adicionar regra.
Para cada regra, faça o seguinte:
Em Prioridade, insira 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 correspondam à regra.
- Negar: para negar solicitações de conexão que correspondam à regra.
No campo Status, selecione uma das seguintes opções para a aplicação da regra:
- Ativado: para aplicar a regra na instância do Secure Web Proxy.
- Desativado: para não aplicar a regra na 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 de linguagem do matcher 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 Google Cloud projetoREGION: região a que essa regra se aplicaPOLICY_NAME: nome de uma política de segurança atual que a instância do Secure Web Proxy usaRULE_NAME: nome da regraPRIORITY_VALUE: prioridade da regra; um número menor corresponde a uma prioridade maiorRULE_DESCRIPTION: descrição da regraSESSION_CEL_EXPRESSION: uma expressão Common Expression Language (CEL). Para mais informações, consulte a referência de linguagem do matcher 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 que você criou usando o
gcloud network-security gateway-security-policies rules importcomando.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
É possível testar a conectividade novamente para validar se as regras de acesso baseadas em listas de URLs estão configuradas corretamente e ativamente aplicadas pela 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 instância do Secure Web ProxySWP_PORT_NUMBER: número da porta do proxy da Web, como443HTTP_TEST_ADDRESS: um endereço para teste, comohttps://www.example.com. Ele corresponde a uma entrada de host ou URL na suaurl_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 lista de URLs e referenciado pela regra de política de segurança é permitido com sucesso pela instância do Secure Web Proxy.