Configure a inspeção TLS

Esta página descreve como configurar a inspeção do protocolo Transport Layer Security (TLS) para a firewall de próxima geração da cloud.

Antes de começar

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

Ative o Certificate Authority Service

O Cloud NGFW usa o Certificate Authority Service para gerar autoridades de certificação (ACs) intermédias. O NGFW da nuvem usa estas ACs intermédias para gerar os certificados usados para a inspeção TLS.

Pode ativar a API CA Service através da Google Cloud consola:

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

Para ativar o serviço de AC através da CLI gcloud, use o seguinte comando:

   gcloud services enable privateca.googleapis.com
  

Ative o Gestor de certificados

O NGFW da nuvem usa o gestor de certificados para criar configurações de confiança. Se não quiser usar configurações de confiança, ignore este passo.

Pode ativar a API Certificate Manager através da Google Cloud consola:

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

Para ativar o Certificate Manager através da CLI do Google Cloud, use o seguinte comando:

   gcloud services enable certificatemanager.googleapis.com
  

Crie uma configuração de confiança

Este passo é opcional. Para criar uma configuração de confiança, siga os passos nesta secção.

  1. Crie um conjunto de ACs.

    O conjunto de ACs que cria neste passo é diferente do que cria para configurar a política de inspeção TLS.

  2. Crie uma CA raiz usando o conjunto de CAs que criou anteriormente.

    Em alternativa, use uma AC de raiz externa existente criando uma AC subordinada no serviço de AC. A CA de raiz externa tem de assinar esta CA subordinada. Para que o Cloud NGFW use a AC, as ACs raiz e subordinadas no conjunto de ACs têm de ter um comprimento do caminho de, pelo menos, um. O campo pathLenConstraint num certificado da AC especifica o comprimento do caminho. Este campo define o número máximo de certificados da AC subordinados que podem existir num caminho de certificação abaixo do certificado da AC atual.

  3. Crie um certificado com uma chave gerada automaticamente. Use o mesmo nome do conjunto de ACs que criou anteriormente.

  4. Obtenha o certificado público da AC a partir do certificado criado.

    $PEM-CERT=$(gcloud privateca roots describe ROOT_CA_NAME \
       --location LOCATION \
       --project PROJECT_ID \
       --pool CA_POOL \
       --format "value(pemCaCertificates)")
    

    Substitua o seguinte:

    • ROOT_CA_NAME: o nome da CA raiz
    • LOCATION: a localização da AC de raiz
    • PROJECT_ID: o ID do projeto da AC raiz
    • CA_POOL: o nome do conjunto de ACs a partir do qual criar os certificados
  5. Crie e importe uma configuração de confiança usando o PEM-CERT obtido no passo anterior. Se usar a sua própria CA, use o certificado público obtido a partir da CA.

Use esta configuração de fidedignidade para criar uma política de inspeção de TLS.

Crie um grupo de ACs

Tem de criar um conjunto de ACs antes de poder usar o serviço de ACs para criar uma AC.

Para criar um conjunto de CA, siga as instruções em Criar conjuntos de CA.

Use este conjunto de ACs para criar uma política de inspeção de TLS.

Crie uma AC de raiz

Se não tiver uma AC raiz existente, pode criar uma no serviço de AC. Para criar uma CA raiz, siga as instruções em Criar uma CA raiz e use o mesmo conjunto de CAs que criou anteriormente (consulte a secção Criar um conjunto de CAs).

Para usar uma AC raiz externa existente, crie uma AC subordinada no serviço de AC, assinada pela sua AC raiz externa.

Para o NGFW Enterprise, os certificados subordinados requerem uma restrição de comprimento do caminho de, pelo menos, 1 para poderem gerar uma AC intermédia. Por predefinição, o certificado subordinado e o CSR são gerados com uma restrição de comprimento do caminho de 0. Tem de alterar esta definição. Atualmente, não é possível fazê-lo através da consola, mas apenas através dos comandos da CLI Google Cloud fornecidos pelo CAS, usando algumas das seguintes flags

  • Flag --extended-key-usages: especifica as utilizações alargadas da chave para o certificado.

  • --key-usages: especifica as utilizações da chave para o certificado.

  • --max-chain-length: define a profundidade máxima das ACs subordinadas permitidas ao abrigo desta AC para um certificado da AC.

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 o seguinte:

  • SUBORDINATE_CA_ID: o identificador exclusivo da AC subordinada.
  • SUBORDINATE_POOL_ID: o nome do grupo de ACs.
  • LOCATION: a localização do grupo de ACs.
  • FILE_NAME: o nome do ficheiro onde o CSR codificado em PEM é escrito.

Isto cria o CSR e devolve 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, tem de assinar o CSR depois de o criar.

Criar uma conta de serviço

Se não tiver uma conta de serviço, tem de criar uma e conceder as autorizaçõ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 denominada service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com. Aqui, PROJECT_NUMBER é o identificador exclusivo do PROJECT_ID que forneceu no comando anterior.

  2. Conceda autorização à sua conta de serviço para gerar certificados que usam o seu conjunto de ACs:

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

    Substitua o seguinte:

    • CA_POOL: o nome do conjunto de ACs a partir do qual criar os certificados
    • SERVICE_ACCOUNT: o nome da conta de serviço que criou no passo anterior
    • LOCATION: a região do grupo de ACs

Configure a inspeção de TLS

Antes de avançar com as tarefas nesta secção, certifique-se de que configurou os seus certificados ou concluiu 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 onde quer criar a política de inspeção TLS.

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

    Se não tiver um conjunto de ACs configurado, 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 o nome dos conjuntos de cifras suportados pelo perfil personalizado.

  11. Clique em Criar.

gcloud

  1. Crie um ficheiro YAML TLS_INSPECTION_FILE.yaml. Substitua TLS_INSPECTION_FILE por um nome de ficheiro à sua escolha.

  2. Adicione o seguinte código ao ficheiro 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 o seguinte:

    • PROJECT_ID: o ID do projeto da política de inspeção de TLS
    • REGION: a região onde a política de inspeção de TLS é criada
    • TLS_INSPECTION_NAME: o nome da política de inspeção TLS
    • CA_POOL: o nome do conjunto de ACs a partir do qual criar os certificados

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

    • TLS_VERSION: um argumento opcional que especifica a versão mínima do TLS suportada pelo Cloud NGFW

      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 TLS

      Pode selecionar um dos seguintes valores:

      • PROFILE_COMPATIBLE: permite o conjunto mais amplo de clientes, incluindo clientes que suportam apenas funcionalidades TLS desatualizadas, para negociar o TLS.
      • PROFILE_MODERN: suporta um vasto conjunto de funcionalidades TLS, o que permite que os clientes modernos negociem o TLS.
      • PROFILE_RESTRICTED: suporta um conjunto reduzido de funcionalidades TLS destinadas a cumprir requisitos de conformidade mais rigorosos.
      • PROFILE_CUSTOM: permite-lhe selecionar funcionalidades do TLS individualmente.
    • CIPHER_NAME: um argumento opcional para especificar o nome do conjunto de cifras suportado pelo perfil personalizado

      Especifica este argumento apenas quando o tipo de perfil está definido como PROFILE_CUSTOM.

    • excludePublicCaSet: um indicador opcional para incluir ou excluir um conjunto de ACs públicas. Por predefinição, esta flag está definida como false. Quando esta flag está definida como verdadeira, as ligações TLS não confiam em servidores de AC públicos. Neste caso, o Cloud NGFW só pode estabelecer ligações TLS a servidores com certificados assinados por ACs na configuração de confiança.

    • TRUST_CONFIG_NAME: um argumento opcional para especificar o nome do recurso de configuração de confiança

  3. Importe a política de inspeção TLS que criou na secção Crie uma política de inspeção TLS

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

    Substitua o seguinte:

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

Veja os detalhes de uma política de inspeção TLS

Pode ver informações sobre a política de inspeção TLS que criou no seu projeto.

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. As políticas de inspeção TLS estão listadas na secção Inspeções TLS.

  4. Para ver os detalhes, clique no nome da política de inspeção de TLS.

Adicione uma política de inspeção TLS a uma associação de ponto final de firewall

Para adicionar a política de inspeção TLS a uma associação de ponto final de firewall, siga os passos mencionados no artigo Crie associações de pontos finais de firewall.

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

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

Para saber como ativar a flag --tls-inspect nas regras de políticas de firewall hierárquicas, consulte o artigo Crie regras de firewall.

Para saber como ativar a flag --tls-inspect nas regras de políticas de firewall de rede global, consulte o artigo Crie regras de firewall de rede global.

Faça a gestão da política de inspeção TLS

Pode listar, atualizar e eliminar políticas de inspeção TLS no seu projeto.

Liste todas as políticas de inspeção TLS

Pode listar todas as políticas de inspeção TLS num projeto.

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. As políticas de inspeção TLS estão listadas na secção Inspeções TLS.

gcloud

Para listar todas as políticas de inspeção TLS, use o comando gcloud network-security tls-inspection-policies list:

gcloud network-security tls-inspection-policies list \
    --project PROJECT_ID \
    --location REGION

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto para a política de inspeção TLS
  • REGION: o nome da região para a qual quer apresentar a política de inspeção TLS

Edite uma política de inspeção TLS

Pode modificar uma política de inspeção TLS existente no seu projeto.

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. As políticas de inspeção TLS estão listadas na secção Inspeções TLS.

  4. Para editar uma política, clique no nome da política de inspeção de TLS.

  5. Clique em Edit.

  6. Modifique os campos obrigatórios. Para mais informações sobre cada campo, consulte o artigo Crie uma política de inspeção TLS.

  7. Clique em Guardar.

Elimine uma política de inspeção TLS

Pode eliminar uma política de inspeção TLS do seu projeto. No entanto, se a política de inspeção TLS for referenciada por uma associação de ponto final de firewall, não é possível eliminar essa 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. As políticas de inspeção TLS estão listadas na secção Inspeções TLS.

  4. Para eliminar uma política de inspeção TLS, selecione a caixa de verificação junto ao respetivo nome.

  5. Clique em Eliminar.

  6. Clique novamente em Eliminar.

gcloud

Para eliminar uma política de inspeção TLS, use o comando gcloud network-security tls-inspection-policies delete:

gcloud network-security tls-inspection-policies delete \
    projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME \
    --location REGION

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto da política de inspeção de TLS
  • TLS_INSPECTION_NAME: o nome da inspeção TLS
  • REGION: a região onde a política de inspeção de TLS é criada

O que se segue?