Nesta página, descrevemos como ativar a inspeção da Transport Layer Security (TLS) para sua instância do Secure Web Proxy. O Secure Web Proxy oferece um serviço de inspeção TLS que permite interceptar o tráfego TLS, inspecionar a solicitação criptografada e aplicar políticas de segurança. Para mais informações sobre a inspeção TLS, consulte Visão geral da inspeção TLS.
Antes de começar
Antes de configurar sua instância do Secure Web Proxy para inspeção TLS, conclua as tarefas nas seções a seguir.
Ativar o Certificate Authority Service
O Secure Web Proxy usa o Certificate Authority Service para gerar os certificados usados na inspeção TLS.
Para ativar o serviço de CA, use o seguinte comando:
gcloud services enable privateca.googleapis.com
Criar um pool de CA
Um pool de ACs (autoridades certificadoras) é uma coleção de várias ACs com uma política de emissão de certificados e uma política do Identity and Access Management (IAM) comuns. Os pools de AC fornecem a capacidade de alternar as cadeias de confiança sem nenhuma interrupção do serviço ou inatividade dos payloads delas.
É preciso criar um pool de CAs antes de usar o serviço de CA. Esta seção orienta você pelas permissões necessárias para concluir essa tarefa e descreve como criar um pool de CAs.
Para gerar certificados, a inspeção TLS usa uma conta de serviço separada para cada projeto chamada
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.
Verifique se você concedeu permissões a essa conta de serviço para usar seu pool de CAs. Se esse acesso for revogado, a inspeção TLS vai parar de funcionar.
Para recuperar o PROJECT_NUMBER usando o PROJECT_ID do projeto do pool de ACs, use o seguinte comando:
gcloud projects describe <var>PROJECT_ID</var>
--format="value(projectNumber)"
Para criar o pool, use o gcloud privateca pools create comando e
especifique o ID do pool subordinado, a camada, 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: nome do pool de ACsTIER: camada de CA,devopsouenterpriseRecomendamos que você crie o pool de ACs na camada
devops, porque o rastreamento de certificados emitidos individualmente não é necessário.PROJECT_ID: ID do projeto do pool de ACsREGION: local do pool de CAs
Criar um pool de CAs subordinado
Se você tiver vários cenários de emissão de certificados, poderá criar uma CA subordinada para cada um desses cenários. É possível criar uma CA subordinada em um pool de CAs, e a CA raiz assina todas as CAs nesse pool. Esses certificados são usados para assinar certificados de servidor gerados para inspeção TLS.
Para criar um pool de CAs subordinado, use um dos seguintes métodos.
Criar um pool de CAs subordinado usando uma CA raiz armazenada no Certificate Authority Service
Para gerar uma CA subordinada, faça o seguinte:
Criar um pool de CAs subordinado usando uma CA raiz externa
Para gerar uma CA subordinada, faça o seguinte:
Criar uma CA raiz
Se uma CA raiz não existir, você poderá criar uma no serviço de CA.
Para criar uma CA raiz, faça o seguinte:
Criar uma conta de serviço
Uma conta de serviço ajuda a fornecer as permissões necessárias para a inspeção TLS sem comprometer a segurança das suas contas de usuário ou da instância do Secure Web Proxy.
Se você não tiver uma conta de serviço, crie uma e conceda as permissões necessárias a ela.
Crie uma conta de serviço.
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_IDEm resposta, a Google Cloud CLI cria uma conta de serviço chamada
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.Para recuperar o
PROJECT_NUMBERusando oPROJECT_IDdo projeto do pool de ACs, use o seguinte comando:gcloud projects describe PROJECT_ID --format="value(projectNumber)"Para a conta de serviço criada, conceda permissões para gerar certificados com seu 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
Você só poderá 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
Console
No Google Cloud console, acesse a página Políticas de inspeção TLS.
No menu do seletor de projetos, escolha seu projeto.
Clique em Criar política de inspeção TLS.
No campo Nome, insira um nome para a política.
Opcional: no campo Descrição, insira uma descrição para a política.
Na lista Região, selecione a região em que você quer criar a política.
Na lista Pool de AC, selecione o pool de AC do qual você quer criar os certificados.
Se você não tiver configurado um pool de CAs, clique em Novo pool e siga as instruções na seção Criar um pool de CAs.
Clique em Criar.
gcloud
Crie o arquivo
TLS_INSPECTION_FILE.yaml. SubstituaTLS_INSPECTION_FILEpelo nome de arquivo necessário.Adicione o seguinte código ao arquivo 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_POOLSubstitua:
PROJECT_ID: ID do projetoREGION: região em que a política será criadaTLS_INSPECTION_NAME: nome da política de inspeção TLS do Secure Web ProxyCA_POOL: nome do pool de ACs em que os certificados serão criados
O pool de CAs precisa estar na mesma região.
Importar a política de inspeção 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 TLS à política de segurança
Console
Criar a política de proxy da Web
No Google Cloud console, acesse a página Políticas de SWP.
Clique em Criar uma política.
Insira um nome para a política que você quer criar, como
myswppolicy.Insira uma descrição da política, como
My new swp policy.Na lista Regiões, selecione a região em que você quer criar a política do Secure Web Proxy.
Para configurar a inspeção TLS, selecione Configurar inspeção TLS.
Na lista Política de inspeção TLS, selecione a política de inspeção TLS que você criou.
Se você quiser criar regras para a política, clique em Continuar e em Adicionar regra. Para mais detalhes, consulte Criar regras do Secure Web Proxy.
Clique em Criar.
Criar regras do Secure Web Proxy
No Google Cloud console, acesse a página Políticas de SWP.
No menu suspenso do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.
Clique no nome da sua política.
Clique em Adicionar regra.
Preencha os campos da regra:
- Nome
- Descrição
- Status
- 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. - Na seção Ação, especifique se as conexões que correspondem à regra são permitidas (Permitir) ou negadas (Negar).
- Na seção Correspondência de sessão, especifique os critérios para correspondência da sessão. Para mais informações sobre a sintaxe de
SessionMatcher, consulte a referência da linguagem do correspondente CEL. - Para ativar a inspeção TLS, selecione Ativar inspeção TLS.
- Na seção Correspondência de aplicativo, especifique os critérios para correspondência da solicitação. Se você não ativar a regra para inspeção TLS, a solicitação só poderá corresponder ao tráfego HTTP.
- Clique em Criar.
Clique em Adicionar regra para adicionar outra regra.
Clique em Criar para criar a política.
Configurar um proxy da Web
No Google Cloud console, acesse a página Proxies da Web.
Clique em Criar um proxy da Web seguro.
Insira um nome para o proxy da Web que você quer criar, como
myswp.Insira uma descrição do proxy da Web, como
My new swp.Na lista Regiões, selecione a região em que você quer criar o proxy da Web.
Na lista Rede, selecione a rede em que você quer criar o proxy da Web.
Na lista Sub-rede, selecione a sub-rede em que você quer criar o proxy da Web.
Opcional: insira o endereço IP do Secure Web Proxy. É possível inserir um endereço IP do intervalo de endereços IP do Secure Web Proxy que reside na sub-rede criada na etapa anterior. Se você não inserir o endereço IP, a instância do Secure Web Proxy vai escolher automaticamente um endereço IP da sub-rede selecionada.
Na lista Certificado, selecione o certificado que você quer usar para criar o proxy da Web.
Na lista Política, selecione a política que você criou para associar o proxy da Web.
Clique em Criar.
Cloud Shell
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_NAMECrie a política do Secure Web Proxy:
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml --location=REGIONCrie 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: trueCrie 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=policy1Para anexar uma política de inspeção TLS a uma política de segurança atual, crie o arquivo
POLICY_FILE.yaml. SubstituaPOLICY_FILEpelo nome do arquivo.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