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_NUMBER]@gcp-sa-certmanager.iam.gserviceaccount.com
.
Confira 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ê ainda não tiver uma AC raiz, poderá criar 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.
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:
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_ID
Em resposta, a CLI do Google Cloud cria uma conta de serviço chamada
service-[PROJECT_NUMBER]@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 Secure Web Proxy para inspeção de TLS
Só prossiga 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
Console
No console do Google Cloud, 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 de TLS.
Em Nome, digite um nome.
Opcional: no campo Descrição, insira uma descrição.
Na lista Região, selecione a região em que você quer criar a política de inspeção de TLS.
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 AC, clique em Novo pool e siga as instruções em Criar um pool de AC.
Opcional: na lista Versão mínima de TLS, selecione a versão mínima de TLS compatível com a política.
Em Configuração de confiança, selecione uma das seguintes opções:
- Somente ACs públicas: selecione essa opção se você quiser confiar em servidores com certificados assinados publicamente.
Somente ACs particulares: selecione essa opção se você quiser confiar em servidores com certificados assinados de modo particular.
Na lista Configuração de confiança particular, selecione a configuração com o repositório de confiança definido que será usado para usar os certificados de servidor upstream confiáveis. Para mais informações sobre a criação de uma configuração de confiança, consulte Criar uma configuração de confiança.
ACs públicas e particulares: selecione essa opção se você quiser usar ACs públicas e particulares.
Opcional: na lista Perfil do pacote de criptografia, selecione o tipo de perfil TLS. É possível escolher ��um dos seguintes valores:
- Compatível: permite que o conjunto mais amplo de clientes negociem TLS, incluindo aqueles compatíveis apenas com recursos desatualizados de TLS.
- Moderno: compatível com um amplo conjunto de recursos de TLS, permitindo que clientes modernos negociem TLS.
- Restrito: compatível com um conjunto reduzido de recursos de TLS para cumprir requisitos de conformidade mais rigorosos.
Personalizado: permite selecionar recursos de TLS individualmente.
Na lista Pacotes de criptografia, selecione os pacotes de criptografia compatíveis com o perfil personalizado.
Clique em Criar.
gcloud
Crie o arquivo
TLS_INSPECTION_FILE.yaml
. SubstituaTLS_INSPECTION_FILE
pelo 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_POOL
Substitua:
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 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. Para saber mais, consulte 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