Usar uma lista de URLs para criar políticas

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 -n1
    

    Se 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

  1. No console do Google Cloud , acesse a página Políticas de SWP.

    Acessar as políticas do SWP

  2. Clique em Criar uma política.

  3. No campo Nome, insira um nome para a política, como myswppolicy.

  4. No campo Descrição, insira uma descrição para a política, como My new swp policy.

  5. Em Regiões, selecione a região em que você quer criar a política, como us-central1.

  6. Clique em Criar.

Cloud Shell

  1. Use o editor de texto de sua preferência para criar um arquivo policy.yaml.

  2. Adicione o seguinte ao arquivo policy.yaml que você criou:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Substitua:

    • PROJECT_NAME: nome do projeto

    • REGION: região em que a política é criada, como us-central1

    • POLICY_NAME: nome da política

    • POLICY_DESCRIPTION: descrição da política

  3. 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

  1. No console Google Cloud , acesse a página Proxies da Web.

    Acesse proxies da Web

  2. Clique em Criar um proxy da Web seguro.

  3. No campo Nome, insira um nome para o proxy da Web, como myswp.

  4. No campo Descrição, insira uma descrição para o proxy da Web, como My new swp.

  5. Em Modo de roteamento, selecione a opção Explícito.

  6. Em Regiões, selecione a região em que você quer criar o proxy da Web, como us-central1.

  7. Em Rede, selecione a rede em que você quer criar o proxy da Web.

  8. Em Sub-rede, selecione a sub-rede da VPC que você criou anteriormente como parte das etapas de configuração inicial.

  9. 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.

  10. Em Certificado, selecione o certificado que você quer usar para criar o proxy da Web.

  11. Em Política, selecione a política que você criou para associar o proxy da Web.

  12. Clique em Criar.

Cloud Shell

  1. Use o editor de texto de sua preferência para criar um arquivo gateway.yaml.

  2. 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: samplescope
    

    Substitua:

    • GATEWAY_NAME: nome desta instância do Secure Web Proxy

    • GATEWAY_PORT_NUMBERS: lista de números de porta para este gateway, como [80,443].

    • CERTIFICATE_URLS: lista de URLs de certificados SSL

    • SUBNETWORK: 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ê.

  3. 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 allow nas 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

  1. No console Google Cloud , acesse a página Listas de URLs.

    Acessar "Listas de URLs"

  2. Clique em Criar uma lista de URLs.

  3. Insira um nome para a lista de URLs que você quer criar, como myurllist.

  4. Insira uma descrição da lista de URLs, como My new URL list.

  5. Na lista Regiões, selecione a região em que você quer criar a lista de URLs.

  6. 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.

  7. Clique em Criar.

Cloud Shell

  1. 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_LIST
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto
    • REGION: a região a que esta lista de URLs se aplica.
    • URL_LIST_NAME: um nome para a lista de URLs que você está criando
    • URL_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 *.

  2. 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

  1. No console do Google Cloud , acesse a página Políticas de SWP.

    Acessar as políticas do SWP

  2. No menu do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  3. Clique no nome da sua política.

  4. Clique em Adicionar regra.

  5. Preencha os campos da regra:

    1. Nome
    2. Descrição
    3. Status
    4. 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.
    5. Na seção Ação, especifique se as conexões que correspondem à regra são permitidas (Permitir) ou negadas (Negar).
    6. 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')"
      
    7. Para ativar a inspeção de TLS, selecione Ativar inspeção de TLS.

    8. Na seção Correspondência de aplicativo, especifique os critérios para corresponder à solicitação.

    9. Clique em Criar.

  6. Clique em Adicionar regra para adicionar outra regra.

  7. Clique em Criar para criar a política.

Cloud Shell

  1. Use o editor de texto de sua preferência para criar o arquivo RULE_FILE.yaml. Substitua RULE_FILE pelo 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_EXPRESSION
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto
    • REGION: a região a que essa regra se aplica
    • POLICY_NAME: o nome de um GatewaySecurityPolicy usado pela sua instância do Secure Web Proxy.
    • RULE_NAME: um nome para o GatewaySecurityPolicyRule que você está criando
    • PRIORITY_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á criando
    • SESSION_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')"
    

  2. 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, como 443

  • HTTP_TEST_ADDRESS: um endereço para testar, como https://www.example.com, que corresponde a uma entrada de host ou URL no seu URL_LIST

A solicitação precisa retornar uma resposta bem-sucedida.

A seguir