Configurar a inspeção de TLS

Nesta página, você verá como configurar a inspeção da Transport Layer Security (TLS) para o Cloud Firewall.

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 Firewall usa o Certificate Authority Service para gerar autoridades de certificação (CAs) intermediárias. O Cloud Firewall usa essas CAs intermediárias para gerar os certificados usados para a inspeção de TLS.

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

   gcloud services enable privateca.googleapis.com
  

Ativar o Gerenciador de certificados

O Cloud Firewall usa o Gerenciador de certificados para criar configurações de confiança. Se você não quiser usar as configurações de confiança, pule esta etapa.

Para ativar o Gerenciador de certificados, 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.

  1. Criar um pool de CA.

    O pool de CAs criado nesta etapa é diferente daquele criado para configurar a política de inspeção de TLS.

  2. Crie uma CA raiz usando o pool de CAs criado anteriormente.

  3. Crie um certificado usando uma chave gerada automaticamente. Use o mesmo nome de pool de CAs criado anteriormente.

  4. 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 raiz
    • LOCATION: o local da CA raiz
    • PROJECT_ID: o ID do projeto da CA raiz
    • CA_POOL: o nome do pool de CA que será usado para a criação dos certificados.
  5. Crie e importe uma configuração de confiança usando o PEM-CERT recebido 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.

Criar uma CA 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.

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
    

    Substitua PROJECT_ID pelo ID do projeto da conta de serviço.

    A CLI do Google Cloud cria uma conta de serviço chamada service-PROJECT_ID@gcp-sa-networksecurity.iam.gserviceaccount.com.

  2. Conceda permissão à sua conta de serviço para gerar certificados que usam seu pool de CA:

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

    Substitua:

    • CA_POOL: o nome do pool de CA que será usado para a criação dos certificados.
    • SERVICE_ACCOUNT: o nome da conta de serviço que você criou na etapa anterior.
    • LOCATION: a região do pool de CAs

Configurar inspeção de TLS

Antes de prosseguir com as tarefas desta seção, verifique se você configurou os certificados ou concluiu 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 um arquivo YAML TLS_INSPECTION_FILE.yaml. Substitua TLS_INSPECTION_FILE por um nome de arquivo de sua escolha.

  2. Adicione o seguinte código ao arquivo YAML para configurar a política de inspeção de TLS.

    name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
    minTlsVersion: TLS_VERSION
    tlsFeatureProfile: PROFILE_TYPECIPHER_NAME
    excludePublicCaSet: `TRUE`|`FALSE`
    trustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME
    

    Substitua:

    • PROJECT_ID: o ID do projeto da política de inspeção de TLS
    • REGION: a região em que a política de inspeção de TLS é criada.
    • TLS_INSPECTION_NAME: o nome da política de inspeção de TLS
    • 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.

    • TLS_VERSION: um argumento opcional que especifica a versão mínima da TLS compatível com o Cloud Firewall.

      Você pode selecionar um dos seguintes valores:

      • TLS_1_0
      • TLS_1_1
      • TLS_1_2
    • PROFILE_TYPE: um argumento opcional que especifica o tipo de perfil da TLS

      Você pode selecionar um dos seguintes valores:

      • PROFILE_COMPATIBLE: permite que o conjunto mais amplo de clientes negociem TLS, incluindo aqueles compatíveis apenas com recursos desatualizados de TLS.
      • PROFILE_MODERN: compatível com um amplo conjunto de recursos de TLS, permitindo que clientes modernos negociem TLS.
      • PROFILE_RESTRICTED: dá suporte a menos recursos de TLS para cumprir requisitos de compliance mais rigorosos.
      • PROFILE_CUSTOM: permite selecionar recursos de TLS individualmente.
    • CIPHER_NAME: um argumento opcional para especificar o nome do pacote de criptografia compatível com o perfil personalizado.

      Você especifica esse argumento somente quando o tipo de perfil está definido como PROFILE_CUSTOM.

    • excludePublicCaSet: uma sinalização opcional para incluir ou excluir um conjunto de CAs públicas.

      Por padrão, essa sinalização é definida como falsa. Quando essa sinalização é definida como verdadeira, as conexões da TLS não confiam em servidores de CA públicos. Nesse caso, o Cloud Firewall só pode fazer conexões da TLS com servidores com certificados assinados por CAs na configuração de confiança.

    • TRUST_CONFIG_NAME: o nome do recurso de configuração de confiança

Importar política de inspeção de TLS

Importe a política de inspeção de TLS que você criou na seção Criar uma política de inspeção de TLS.

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

Substitua:

  • TLS_INSPECTION_NAME: o nome da política de inspeção de TLS
  • TLS_INSPECTION_FILE: o nome do arquivo YAML da política de inspeção de TLS

Adicionar política de inspeção de TLS a uma associação de endpoint de firewall

Para adicionar a política de inspeção de TLS a uma associação de endpoint de firewall, siga as etapas mencionadas em Criar e associar endpoints de firewall.

Configurar regras da política de firewall com inspeção de TLS

Para ativar a inspeção de TLS na rede de nuvem privada virtual (VPC), defina a sinalização --tls-inspect na regra de política de firewall. Essa sinalização indica que a inspeção de TLS pode ser realizada quando o grupo de perfis de segurança é aplicado.

Para saber mais sobre como ativar a sinalização --tls-inspect nas regras hierárquicas da política de firewall, consulte Criar regras de firewall.

Para saber mais sobre como ativar a sinalização --tls-inspect nas regras da política de firewall da rede global, consulte Criar regras globais de firewall da rede.

A seguir