Ativar inspeção TLS

Nesta página, descrevemos como ativar a inspeção Transport Layer Security (TLS) para sua instância do Secure Web Proxy.

Antes de começar

Antes de configurar o Secure Web Proxy para inspeção TLS, conclua as tarefas nas seções a seguir.

Ativar CAS

O Secure Web Proxy usa o Certificate Authority Service (CAS) para gerar os certificados usados na inspeção TLS.

Para ativar o CAS, use o seguinte comando:

  gcloud services enable privateca.googleapis.com
  

Criar um pool de CA

Crie um pool de autoridades certificadoras (CA) antes de usar o CAS para criar uma CA. Nesta seção, apresentamos as permissões necessárias para concluir essa tarefa e, em seguida, descrevemos como criar um pool de ACs.

Para gerar certificados, a inspeção TLS usa uma conta de serviço separada para cada projeto, chamada service-{project ID}@gcp-sa-certmanager.iam.gserviceaccount.com. Verifique se você concedeu permissões a essa conta de serviço para usar seu pool de ACs. Se esse acesso for revogado, a inspeção TLS deixará de funcionar.

Para criar o pool, use o comando gcloud privateca pools create e especifique o ID do pool subordinado, o nível, o ID do projeto e o local.

    gcloud privateca pools create SUBORDINATE_POOL_ID
        --tier=TIER
        --project=PROJECT_ID
        --location=REGION
  

Substitua:

  • SUBORDINATE_POOL_ID: o nome do pool de ACs
  • TIER: o nível da CA, devops ou enterprise

    Recomendamos que você crie o pool de CAs no nível devops porque o rastreamento de certificados emitidos individualmente não é necessário.

  • PROJECT_ID: o ID do projeto do pool de ACs

  • REGION: o local do pool de ACs

Criar um pool de ACs subordinado

É possível criar um pool de CAs subordinados, e a CA raiz assina todas as CAs nesse pool. Esses certificados são usados para assinar os certificados do servidor gerados para inspeção TLS.

Para criar um pool subordinado, use qualquer um dos métodos a seguir.

Criar um pool de CAs subordinados usando uma CA raiz armazenada no CAS

Para gerar uma CA subordinada, faça o seguinte:

  1. Criar um pool de CA.
  2. Crie CAs subordinadas dentro de um pool de CAs.

Criar um pool de CAs subordinados usando uma CA raiz existente mantida externamente

Para gerar uma CA subordinada, faça o seguinte:

  1. Criar um pool de CA.
  2. Crie CAs subordinadas assinadas por uma CA raiz externa.

Crie uma AC raiz:

Se você não tiver uma CA raiz, crie uma no CAS. Para criar uma CA raiz, faça o seguinte:

  1. Crie uma CA raiz.
  2. Siga as etapas em Criar um pool de CAs subordinados usando uma CA raiz armazenada no CAS.

Para mais informações sobre pools de CAs, consulte a documentação do Certificate Authority Service (em inglês).

Crie uma conta de serviço

Se você não tiver uma conta de serviço, crie uma e conceda as permissões necessárias.

  1. Crie uma conta de serviço:

    gcloud beta services identity create \
        --service=networksecurity.googleapis.com \
        --project=PROJECT_ID
    

    Em resposta, a Google Cloud CLI cria uma conta de serviço chamada service-{project ID}@gcp-sa-networksecurity.iam.gserviceaccount.com.

  2. Para a conta de serviço que você criou, conceda permissões para gerar certificados com o pool de CAs:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --member='serviceAccount:SERVICE_ACCOUNT' \
        --role='roles/privateca.certificateManager' \
        --location='REGION'
    

Configurar o Secure Web Proxy para inspeção TLS

Só será possível prosseguir com as tarefas nesta seção depois de concluir as tarefas de pré-requisito listadas na seção Antes de começar.

Para configurar a inspeção de TLS, conclua as tarefas nas seções a seguir.

Criar uma política de inspeção de TLS

  1. Crie o arquivo TLS_INSPECTION_FILE.yaml. Substitua TLS_INSPECTION_FILE pelo nome de arquivo desejado.

  2. Adicione o seguinte código ao arquivo YAML para configurar a TlsInspectionPolicy que você quer:

    name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
    

    Substitua:

    • PROJECT_ID: o número do projeto.
    • REGION: a região em que a política será criada.
    • TLS_INSPECTION_NAME: o nome da política de inspeção de TLS do Proxy seguro da Web
    • CA_POOL: o nome do pool de CA que será usado para a criação dos certificados.

      O pool de CAs precisa estar na mesma região.

Importar a política de inspeção de TLS

Importe a política de inspeção TLS que você criou na etapa anterior:

gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
  --source=TLS_INSPECTION_FILE.yaml \
  --location=REGION

Adicionar a política de inspeção de TLS à política de segurança

Console

Crie a política de proxy da Web

  1. No Console do Google Cloud, acesse a página Segurança de rede.

    Acesse Segurança de rede

  2. Clique em Secure Web Proxy.

  3. Clique na guia Políticas.

  4. Clique em Criar uma política.

  5. Digite um nome para a política que você quer criar, como myswppolicy.

  6. Insira uma descrição da política, como My new swp policy.

  7. Na lista Regiões, selecione onde você quer criar a política de proxy seguro da Web.

  8. Para configurar a inspeção TLS, selecione Configurar inspeção TLS.

  9. Na lista Política de inspeção de TLS, selecione a política de inspeção de TLS que você criou.

  10. Se você quiser criar regras para sua política, clique em Continuar e em Adicionar regra. Para saber mais, acesse Criar regras do Secure Web Proxy.

  11. Clique em Criar.

Criar as regras de proxy da Web

  1. No Console do Google Cloud, acesse a página Segurança de rede.

    Acesse Segurança de rede

  2. Clique em Secure Web Proxy.

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

  4. Clique no nome da sua política.

  5. Clique em Adicionar regra.

  6. 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 os critérios para corresponder à sessão. Para mais informações sobre a sintaxe de SessionMatcher, consulte a referência da linguagem de correspondência CEL.
    7. Para ativar a inspeção TLS, selecione Ativar inspeção TLS.
    8. Na seção Correspondência de aplicativo, especifique os critérios para corresponder à solicitação. Se você não ativar a regra para a inspeção TLS, a solicitação só poderá corresponder ao tráfego HTTP.
    9. Clique em Criar.
  7. Clique em Adicionar regra para adicionar outra regra.

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

Configurar um proxy da Web

  1. No Console do Google Cloud, acesse a página Segurança de rede.

    Acesse Segurança de rede

  2. Clique em Secure Web Proxy.

  3. Clique na guia Proxies da Web.

  4. Clique em Configurar um proxy da Web.

  5. Digite um nome para o proxy da Web que você quer criar, como myswp.

  6. Digite uma descrição do proxy da Web, como My new swp.

  7. Na lista Regiões, selecione a região em que você quer criar o proxy da Web.

  8. Na lista Rede, selecione a rede em que você quer criar o proxy da Web.

  9. Na lista Sub-rede, selecione a sub-rede em que você quer criar o proxy da Web.

  10. Digite o endereço IP do proxy da Web.

  11. Na lista Certificado, selecione o certificado que você quer usar para criar o proxy da Web.

  12. Na lista Política, selecione a política criada para associar o proxy da Web.

  13. Clique em Criar.

Cloud Shell

  1. Crie o arquivo policy.yaml:

      description: basic Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
      tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    
  2. Crie a política de proxy seguro da Web:

      gcloud network-security gateway-security-policies import policy1 \
          --source=policy.yaml --location=REGION
    
  3. Crie o arquivo rule.yaml:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-example-com
      description: Allow example.com
      enabled: true
      priority: 1
      basicProfile: ALLOW
      sessionMatcher: host() == 'example.com'
      applicationMatcher: request.path.contains('index.html')
      tlsInspectionEnabled: true
    
  4. Crie a regra da política de segurança:

      gcloud network-security gateway-security-policies rules import allow-example-com \
          --source=rule.yaml \
          --location=REGION \
          --gateway-security-policy=policy1
    
  5. Para anexar uma política de inspeção TLS a uma política de segurança, crie o arquivo POLICY_FILE.yaml. Substitua POLICY_FILE pelo nome de arquivo desejado.

      description: My Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
      tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    

A seguir