Este guia mostra como usar listas de URLs para definir os URLs que seus usuários podem acessar.
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 uma lista de URLs
Para criar uma lista de URLs e adicionar uma regra, conclua as tarefas nas seções a seguir.
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.
Insira um nome para a lista de URLs que você quer criar, como
myurllist.Insira uma descrição da lista de URLs, como
My new URL list.Na lista Regiões, selecione a região em que você quer criar a lista de URLs.
Clique em Fazer upload de listas para enviar a lista de hosts, URLs ou padrões a serem correspondidos. 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_FILE
.yaml. ReplaceURL_LIST_FILE` com o nome de arquivo desejado.name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME values: URL_LISTSubstitua:
PROJECT_ID: o ID do seu projetoREGION: a região a que esta lista de URLs se aplica.URL_LIST_NAME: um nome para a lista de URLs que você está criandoURL_LIST: a 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. Portanto, adicione aspas aos URLs que incluem um caractere*.Adicione a lista de URLs para que ela possa ser referenciada por uma regra do Secure Web Proxy:
gcloud network-security url-lists import URL_LIST_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=URL_LIST_FILE.yaml
Adicionar uma regra
Console
No console do Google Cloud , acesse a página Políticas de SWP.
No menu do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.
Clique no nome da sua política.
Clique em Adicionar regra.
Preencha os campos da regra:
- Nome
- Descrição
- Status
- Prioridade: a ordem de avaliação numérica da regra. As regras são avaliadas da prioridade mais alta para a mais baixa, em que
0é a mais alta. - Na seção Ação, especifique se as conexões que correspondem à regra são permitidas (Permitir) ou negadas (Negar).
Na seção Correspondência de sessão, especifique o nome da lista de URLs que você criou anteriormente. Exemplo:
sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"Para ativar a inspeção de TLS, selecione Ativar inspeção de TLS.
Na seção Correspondência de aplicativo, especifique os critérios para corresponder à solicitação.
Clique em Criar.
Clique em Adicionar regra para adicionar outra regra.
Clique em Criar para criar a política.
Cloud Shell
Use o editor de texto de sua preferência para criar o arquivo
RULE_FILE.yaml. SubstituaRULE_FILEpelo nome de arquivo desejado.name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME basicProfile: ALLOW enabled: true priority: PRIORITY_VALUE description: RULE_DESCRIPTION sessionMatcher: SESSION_CEL_EXPRESSION applicationMatcher: APPLICATION_CEL_EXPRESSIONSubstitua:
PROJECT_ID: o ID do seu projetoREGION: a região a que essa regra se aplicaPOLICY_NAME: o nome de umGatewaySecurityPolicyusado pela sua instância do Secure Web Proxy.RULE_NAME: um nome para oGatewaySecurityPolicyRuleque você está criandoPRIORITY_VALUE: um valor de prioridade para essa regra. Números menores correspondem a prioridades mais altas.RULE_DESCRIPTION: uma descrição da política que você está criandoSESSION_CEL_EXPRESSION: uma expressão da Common Expression Language (CEL) para a sessão.APPLICATION_CEL_EXPRESSION: uma expressão CEL para o 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')"Adicione uma regra do Secure Web Proxy usando a lista de URLs que você criou anteriormente:
gcloud network-security gateway-security-policies rules import RULE_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=RULE_FILE.yaml \ --gateway-security-policy=POLICY_NAME
testar a conectividade
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: o endereço IP do seu proxy da Web.SWP_PORT_NUMBER: o número da porta do seu proxy da Web, como443HTTP_TEST_ADDRESS: um endereço para testar, comohttps://www.example.com, que corresponde a uma entrada de host ou URL no seuURL_LIST
A solicitação precisa retornar uma resposta bem-sucedida.