Ative a inspeção de TLS

Esta página descreve como ativar a inspeção do Transport Layer Security (TLS) para a sua instância do proxy Web seguro. O proxy Web seguro oferece um serviço de inspeção TLS que lhe permite intercetar o tráfego TLS, inspecionar o pedido encriptado e aplicar políticas de segurança. Para mais informações sobre a inspeção TLS, consulte o artigo Vista geral da inspeção TLS.

Antes de começar

Antes de configurar a instância do proxy Web seguro para inspeção TLS, conclua as tarefas nas secções seguintes.

Ative o Certificate Authority Service

O proxy Web seguro usa o serviço de autoridade de certificação para gerar os certificados usados para a inspeção TLS.

Para ativar o serviço de AC, use o seguinte comando:

  gcloud services enable privateca.googleapis.com
  

Crie um grupo de ACs

Um conjunto de autoridades de certificação (AC) é uma coleção de várias ACs com uma política de emissão de certificados comum e uma política de gestão de identidade e acesso (IAM). Os conjuntos de ACs oferecem a capacidade de rodar as cadeias de confiança sem qualquer interrupção ou tempo de inatividade para os respetivos payloads.

Tem de criar um conjunto de ACs antes de poder usar o serviço de AC para criar uma AC. Esta secção explica as autorizações necessárias para concluir esta tarefa e, em seguida, descreve como criar um conjunto de ACs.

Para gerar certificados, a inspeção TLS usa uma conta de serviço separada para cada projeto denominada service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com. Certifique-se de que concedeu autorizações a esta conta de serviço para usar o seu conjunto de ACs. Se este acesso for revogado, a inspeção TLS deixa de funcionar.

Para obter o PROJECT_NUMBER através do PROJECT_ID do projeto do conjunto de ACs, use o seguinte comando:

gcloud projects describe <var>PROJECT_ID</var>
    --format="value(projectNumber)"

Para criar o conjunto, use o comando gcloud privateca pools create e especifique o ID do conjunto subordinado, o nível, o ID do projeto e a localização.

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

Substitua o seguinte:

  • SUBORDINATE_POOL_ID: nome do grupo de ACs
  • TIER: Nível de CA, devops ou enterprise

    Recomendamos que crie o conjunto de ACs no nível devops porque não é necessário acompanhar os certificados emitidos individualmente.

  • PROJECT_ID: ID do projeto do conjunto de CA

  • REGION: localização do grupo de ACs

Crie um grupo de CAs subordinadas

Se tiver vários cenários de emissão de certificados, pode criar uma AC subordinada para cada um desses cenários. Pode criar uma AC subordinada num conjunto de ACs e a AC de raiz assina todas as ACs nesse conjunto de ACs. Estes certificados são usados para assinar certificados do servidor gerados para a inspeção TLS.

Para criar um conjunto de ACs subordinadas, use um dos seguintes métodos.

Crie um conjunto de ACs subordinadas usando uma AC de raiz existente armazenada no Certificate Authority Service

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

  1. Crie um grupo de ACs
  2. Crie ACs subordinadas num grupo de ACs

Crie um conjunto de ACs subordinado usando uma AC raiz existente detida externamente

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

  1. Crie um grupo de ACs
  2. Crie ACs subordinadas assinadas por uma AC de raiz externa

Crie uma AC de raiz

Se não existir uma AC raiz, pode criar uma no serviço de AC.

Para criar uma AC raiz, faça o seguinte:

  1. Crie uma AC de raiz
  2. Crie um conjunto de ACs subordinadas através de uma AC raiz existente armazenada no serviço de AC

Criar uma conta de serviço

Uma conta de serviço ajuda a fornecer as autorizações necessárias para a inspeção TLS sem comprometer a segurança das suas contas de utilizador nem a sua própria instância do proxy Web seguro.

Se não tiver uma conta de serviço, tem de criar uma e, em seguida, conceder as autorizações necessárias a essa conta de serviço.

  1. Crie uma conta de serviço.

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

    Em resposta, a CLI do Google Cloud cria uma conta de serviço denominada service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.

    Para obter o PROJECT_NUMBER através do PROJECT_ID do projeto do conjunto de ACs, use o seguinte comando:

    gcloud projects describe PROJECT_ID
        --format="value(projectNumber)"
    
  2. Para a conta de serviço que criou, conceda autorizações para gerar certificados com o seu conjunto de ACs.

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

Configure o Secure Web Proxy para a inspeção TLS

Só pode avançar com as tarefas desta secção depois de concluir as tarefas de pré-requisitos indicadas na secção Antes de começar.

Para configurar a inspeção TLS, conclua as tarefas nas secções seguintes.

Crie uma política de inspeção TLS

Consola

  1. Na Google Cloud consola, aceda à página Políticas de inspeção de TLS.

    Aceda às políticas de inspeção de TLS

  2. No menu do seletor de projetos, selecione o seu projeto.

  3. Clique em Criar política de inspeção TLS.

  4. Em Nome, introduza um nome.

  5. Opcional: no campo Descrição, introduza uma descrição.

  6. Na lista Região, selecione a região para a qual quer criar a política de inspeção de TLS.

  7. Na lista CA pool, selecione o CA pool a partir do qual quer criar os certificados.

    Se ainda não tiver configurado um conjunto de ACs, clique em Novo conjunto e siga as instruções em Crie um conjunto de ACs.

  8. Opcional: na lista Versão de TLS mínima, selecione a versão de TLS mínima suportada pela política.

  9. Para a Configuração de confiança, selecione uma das seguintes opções:

    • Apenas ACs públicas: selecione esta opção se quiser confiar em servidores com certificados assinados publicamente.
    • Apenas ACs privadas: selecione esta opção se quiser confiar em servidores com certificados assinados de forma privada.

      Na lista Configuração de confiança privada, selecione a configuração de confiança com o repositório de confiança configurado para usar para confiar em certificados de servidor a montante. Para mais informações sobre como criar uma configuração de confiança, consulte o artigo Crie uma configuração de confiança.

    • ACs públicas e privadas: selecione esta opção se quiser usar ACs públicas e privadas.

  10. Opcional: na lista Perfil do conjunto de cifras, selecione o tipo de perfil TLS. Pode escolher um dos seguintes valores:

    • Compatível: permite que o conjunto mais amplo de clientes, incluindo clientes que suportam apenas funcionalidades TLS desatualizadas, negociem o TLS.
    • Moderna: suporta um vasto conjunto de funcionalidades TLS, o que permite aos clientes modernos negociar o TLS.
    • Restrito: suporta um conjunto reduzido de funcionalidades TLS destinado a cumprir requisitos de conformidade mais rigorosos.
    • Personalizado: permite selecionar as funcionalidades do TLS individualmente.

      Na lista Conjuntos de cifras, selecione os conjuntos de cifras suportados pelo perfil personalizado.

  11. Clique em Criar.

gcloud

  1. Crie o ficheiro TLS_INSPECTION_FILE.yaml. Substitua TLS_INSPECTION_FILE pelo nome do ficheiro necessário.

  2. Adicione o código seguinte ao ficheiro YAML para configurar a TlsInspectionPolicy necessária:

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

    Substitua o seguinte:

    • PROJECT_ID: ID do projeto
    • REGION: região na qual a política vai ser criada
    • TLS_INSPECTION_NAME: nome da política de inspeção TLS do proxy Web seguro
    • CA_POOL: nome do grupo de ACs a partir do qual os certificados vão ser criados

    O conjunto de CA tem de existir na mesma região.

Importe a política de inspeção TLS

Importe a política de inspeção de TLS que criou no passo anterior:

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

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

Consola

Crie a política de proxy Web

  1. Na Google Cloud consola, aceda à página Políticas de SWP.

    Aceda às políticas de SWP

  2. Clique em Criar uma política.

  3. Introduza um nome para a política que quer criar, como myswppolicy.

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

  5. Na lista Regiões, selecione a região onde quer criar a política de proxy Web seguro.

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

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

  8. Se quiser criar regras para a sua política, clique em Continuar e, de seguida, em Adicionar regra. Para ver detalhes, consulte o artigo Crie regras de proxy Web seguro.

  9. Clique em Criar.

Crie regras do Secure Web Proxy

  1. Na Google Cloud consola, aceda à página Políticas de SWP.

    Aceda às políticas de SWP

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

  3. Clique no nome da política.

  4. Clique em Adicionar regra.

  5. Preencha os campos da regra:

    1. Nome
    2. Descrição
    3. Estado
    4. Prioridade: a ordem de avaliação numérica da regra. As regras são avaliadas da prioridade mais elevada para a mais baixa, em que 0 é a prioridade mais elevada.
    5. Na secção Ação, especifique se as ligações que correspondem à regra são permitidas (Permitir) ou recusadas (Recusar).
    6. Na secção Correspondência de sessão, especifique os critérios para fazer corresponder a sessão. Para mais informações sobre a sintaxe de SessionMatcher, consulte a referência do idioma do motor de correspondência do IEC.
    7. Para ativar a inspeção TLS, selecione Ativar inspeção TLS.
    8. Na secção Correspondência da aplicação, especifique os critérios para fazer corresponder o pedido. Se não ativar a regra para inspeção de TLS, o pedido só pode corresponder ao tráfego HTTP.
    9. Clique em Criar.
  6. Clique em Adicionar regra para adicionar outra regra.

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

Configure um proxy Web

  1. Na Google Cloud consola, aceda à página Proxies Web.

    Aceda a Proxies Web

  2. Clique em Criar um proxy Web seguro.

  3. Introduza um nome para o proxy Web que quer criar, como myswp.

  4. Introduza uma descrição do proxy Web, como My new swp.

  5. Na lista Regiões, selecione a região onde quer criar o proxy Web.

  6. Na lista Rede, selecione a rede onde quer criar o proxy Web.

  7. Na lista Sub-rede, selecione a sub-rede onde quer criar o proxy Web.

  8. Opcional: introduza o endereço IP do proxy Web seguro. Pode introduzir um endereço IP do intervalo de endereços IP do proxy Web seguro que reside na sub-rede que criou no passo anterior. Se não introduzir o endereço IP, a instância do proxy Web seguro escolhe automaticamente um endereço IP da sub-rede selecionada.

  9. Na lista Certificado, selecione o certificado que quer usar para criar o proxy Web.

  10. Na lista Política, selecione a política que criou para associar ao proxy Web.

  11. Clique em Criar.

Cloud Shell

  1. Crie o ficheiro 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 Secure Web Proxy:

      gcloud network-security gateway-security-policies import policy1 \
          --source=policy.yaml --location=REGION
    
  3. Crie o ficheiro 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 existente, crie o ficheiro POLICY_FILE.yaml. Substitua POLICY_FILE pelo nome do ficheiro.

      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
    

O que se segue?