Para inspecionar o tráfego criptografado e proteger sua rede de nuvem privada virtual (VPC) contra ameaças ocultas, configure a inspeção de Transport Layer Security (TLS) para o Cloud Next Generation Firewall.
Se você for um administrador de rede ou um engenheiro de segurança que configura a inspeção TLS, use este documento para configurar seu ambiente.
Neste documento, mostramos como concluir as seguintes tarefas:
- Configurar recursos de autoridade de certificação (CA)
- Criar recursos de configuração de confiança
- Ativar inspeção TLS
Antes de começar, revise os conceitos na visão geral da inspeção de TLS.
Antes de começar
Antes de configurar a inspeção de TLS, conclua as tarefas nas seções a seguir.
Ativar o Certificate Authority Service
O Cloud NGFW usa o Certificate Authority Service para gerar autoridades de certificação (CAs) intermediárias. O Cloud NGFW usa essas CAs intermediárias para gerar os certificados usados para a inspeção de TLS.
É possível ativar a API CA Service usando o console Google Cloud :
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você
criou o projeto, provavelmente já tem essa permissão com o papel de
Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de
Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin).
Saiba como conceder papéis.
Para ativar o serviço de CA usando a CLI do Google Cloud, use o seguinte comando:
gcloud services enable privateca.googleapis.com
Ativar o Certificate Manager
O Cloud NGFW usa o Certificate Manager para criar configurações de confiança. Se você não quiser usar as configurações de confiança, pule esta etapa.
É possível ativar a API Certificate Manager usando o console Google Cloud :
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você
criou o projeto, provavelmente já tem essa permissão com o papel de
Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de
Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin).
Saiba como conceder papéis.
Para ativar o Gerenciador de certificados usando a CLI do Google Cloud, use o seguinte comando:
gcloud services enable certificatemanager.googleapis.com
Criar uma configuração de confiança
Essa é uma etapa opcional. Para criar uma configuração de confiança, siga as etapas desta seção.
-
O pool de CAs criado nesta etapa é diferente daquele criado para configurar a política de inspeção de TLS.
Crie uma CA raiz usando o pool de CAs criado anteriormente.
Como alternativa, use uma CA raiz externa criando uma CA subordinada no serviço de CA. A CA raiz externa precisa assinar essa CA subordinada. Para que o Cloud NGFW use a CA, as CAs raiz e subordinada no pool de CAs precisam ter um comprimento de caminho de pelo menos um. O campo
pathLenConstraintem um certificado de CA especifica o comprimento do caminho. Esse campo define o número máximo de certificados de CA subordinada que podem existir em um caminho de certificação abaixo do certificado de CA atual.Crie um certificado usando uma chave gerada automaticamente. Use o mesmo nome de pool de CAs criado anteriormente.
Consiga o certificado público da CA do certificado criado.
$PEM-CERT=$(gcloud privateca roots describe ROOT_CA_NAME \ --location LOCATION \ --project PROJECT_ID \ --pool CA_POOL \ --format "value(pemCaCertificates)")
Substitua:
ROOT_CA_NAME: o nome da CA raizLOCATION: o local da CA raizPROJECT_ID: o ID do projeto da CA raizCA_POOL: o nome do pool de CA que será usado para a criação dos certificados.
Crie e importe uma configuração de confiança usando o
PEM-CERTrecebido na etapa anterior. Se você usar sua própria CA, use o certificado público recebido da CA.
Use essa configuração de confiança para criar uma política de inspeção de TLS.
Criar um pool de CA
É preciso criar um pool de CAs antes de usar o serviço de CA.
Para criar um pool de CAs, siga as instruções em Como criar pools de CAs.
Use esse pool de CAs para criar uma política de inspeção de TLS.
Crie uma AC raiz:
Se você ainda não tiver uma CA raiz, poderá criá-la no Serviço de CA. Para criar uma CA raiz, siga as instruções em Como criar uma CA raiz e use o mesmo pool de CAs criado anteriormente. Consulte a seção Criar uma CA. pool.
Para usar uma AC raiz externa, crie uma AC subordinada no serviço de CA, assinada pela AC raiz externa.
Para o NGFW Enterprise, os certificados subordinados exigem uma restrição de comprimento de caminho de pelo menos 1 para gerar uma CA intermediária. Por padrão, o certificado subordinado e a CSR são gerados com uma restrição de comprimento de caminho de 0. Isso precisa ser mudado. No momento, isso não pode ser feito pelo console, apenas pelos comandos da Google Cloud CLI fornecidos pelo CAS usando algumas das seguintes flags:
Flag
--extended-key-usages: especifica os usos de chave estendidos para o certificado.Flag
--key-usages: especifica os usos da chave para o certificado.Flag
--max-chain-length: define a profundidade máxima de CAs subordinadas permitidas por essa CA para um certificado de CA.
gcloud
gcloud privateca subordinates create SUBORDINATE_CA_ID \
--pool=SUBORDINATE_POOL_ID \
--location=LOCATION \
--create-csr --csr-output-file=FILE_NAME \
--key-algorithm="ec-p256-sha256" \
--subject="CN=Example Server TLS CA, O=Example LLC
--key-algorithm=rsa-pss-4096-sha256 \
--key-usages=cert_sign,crl_sign \
--extended-key-usages=server_auth \
--max-chain-length=1"
Substitua:
- SUBORDINATE_CA_ID: o identificador exclusivo da CA subordinada.
- SUBORDINATE_POOL_ID: o nome do pool de ACs.
- LOCATION: o local do pool de ACs.
- FILE_NAME: o nome do arquivo em que a CSR codificada em PEM é gravada.
Isso cria a CSR e retorna o seguinte:
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID] and saved CSR to FILE_NAME.
Para ativar a AC subordinada, assine a CSR depois que ela for criada.
Criar uma conta de serviço
Se você não tiver uma conta de serviço, crie uma e conceda as permissões necessárias.
Crie uma conta de serviço: