Esta página descreve como ativar a inspeção Transport Layer Security (TLS) para sua instância do Secure Web Proxy.
Antes de começar
Antes de configurar o Secure Web Proxy para inspeção de TLS, conclua as tarefas nas seções a seguir.
Ativar CAS
O proxy da Web seguro usa o Certificate Authority Service (CAS) (em inglês) para gerar os certificados usados na inspeção TLS.
Para ativar o CAS, use o seguinte comando:
gcloud services enable privateca.googleapis.com
Criar um pool de CA
É preciso criar um pool de autoridades certificadoras (ACs) antes de usar o serviço de ACs para criar uma AC. Esta seção explica as permissões necessárias para concluir essa tarefa e descreve como criar um pool de AC.
Para gerar certificados, a inspeção TLS usa uma conta de serviço separada para
cada projeto chamada
service-{project ID}@gcp-sa-certmanager.iam.gserviceaccount.com
.
Verifique se você concedeu permissões a essa conta de serviço para usar o pool de AC. Se esse acesso for revogado, a inspeção TLS vai parar de funcionar.
Para criar o pool, use o comando gcloud privateca pools create
e
especifique o ID do pool subordinado, o nível, 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
: o nome do pool de ACsTIER
: o nível da AC,devops
ouenterprise
Recomendamos que você crie o pool de ACs no nível
devops
, porque não é necessário rastrear certificados emitidos individualmente.PROJECT_ID
: o ID do projeto do pool de ACsREGION
: o local do pool de ACs
Criar um pool de AC subordinada
Você pode criar um pool de ACs subordinadas, e a AC raiz assina todas as ACs nesse pool. Esses certificados são usados para assinar certificados do servidor gerados para a inspeção de TLS.
Para criar um pool subordinado, use qualquer um dos métodos a seguir.
Crie um pool de AC subordinada usando uma AC raiz armazenada no CAS
Para gerar uma AC subordinada, faça o seguinte:
Criar um pool de ACs subordinadas usando uma AC raiz externa
Para gerar uma AC subordinada, faça o seguinte:
Crie uma AC raiz:
Se você não tiver uma AC raiz, crie uma no CAS. Para criar uma AC raiz, faça o seguinte:
- Crie uma AC raiz.
- Siga as etapas em Criar um pool de AC subordinada usando uma AC raiz armazenada no CAS.
Para mais informações sobre os pools de AC, consulte a documentação do Certificate Authority Service.
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.
Crie uma conta de serviço:
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_ID
Em resposta, a Google Cloud CLI cria uma conta de serviço chamada
service-{project ID}@gcp-sa-networksecurity.iam.gserviceaccount.com
.Para a conta de serviço que você criou, conceda permissões para gerar certificados com o pool de ACs:
gcloud privateca pools add-iam-policy-binding CA_POOL \ --member='serviceAccount:SERVICE_ACCOUNT' \ --role='roles/privateca.certificateManager' \ --location='REGION'
Configurar o proxy da Web seguro para inspeção de TLS
Só é possível prosseguir com as tarefas desta 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
Crie o arquivo
TLS_INSPECTION_FILE
.yaml. SubstituaTLS_INSPECTION_FILE
pelo nome de arquivo desejado.Adicione o seguinte código ao arquivo YAML para configurar a TlsInspectionPolicy desejada:
name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
Substitua:
PROJECT_ID
: o número do projeto.REGION
: a região em que a política será criada.TLS_INSPECTION_NAME
: o nome da política de inspeção TLS do Secure Web ProxyCA_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.
Importar a política de inspeção de TLS
Importe a política de inspeção de 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 de TLS à política de segurança
Console
Criar a política de proxy da Web
No Console do Google Cloud, acesse a página Segurança de rede.
Clique em Proxy seguro da Web.
Clique na guia Políticas.
Clique em Criar uma política.
Digite 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 da TLS, selecione a política de inspeção da TLS que você criou.
Se você quiser criar regras para a política, clique em Continuar e em Adicionar regra. Saiba mais em Criar regras do Secure Web Proxy.
Clique em Criar.
Criar as regras do proxy da Web
No Console do Google Cloud, acesse a página Segurança de rede.
Clique em Proxy seguro da Web.
No menu 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
corresponder à sessão. Para mais informações sobre a sintaxe de
SessionMatcher
, consulte a referência da linguagem do comparador CEL. - Para ativar a inspeção de TLS, selecione Ativar inspeção de TLS.
- Na seção Correspondência do aplicativo, especifique os critérios para corresponder à solicitação. Se você não ativar a regra para a 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 Console do Google Cloud, acesse a página Segurança de rede.
Clique em Proxy seguro da Web.
Clique na guia Proxies da Web.
Clique em Configurar um proxy da Web.
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.
Digite o endereço IP do proxy da Web.
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_NAME
Crie a política do Secure Web Proxy:
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml --location=REGION
Crie 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: true
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
Para anexar uma política de inspeção de TLS a uma política de segurança existente, crie o arquivo
POLICY_FILE
.yaml. SubstituaPOLICY_FILE
pelo nome de arquivo desejado.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