Nesta página, descrevemos 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 TLS, conclua as tarefas nas seções a seguir.
Ativar o CAS
Usos do Secure Web Proxy Certificate Authority Service (CAS) 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 (CA) antes de usar o CAS para criar uma AC. Esta seção mostra as permissões necessárias para concluir esta tarefa e, em seguida, descrever como criar um pool de ACs.
Para gerar certificados, a inspeção TLS usa uma conta de serviço separada para
cada projeto chamado
service-{project ID}@gcp-sa-certmanager.iam.gserviceaccount.com
:
Verifique se você concedeu permissões a essa conta de serviço para usar
ao seu pool de ACs. Se esse acesso for revogado, a inspeção TLS deixará 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 ACs.TIER
: o nível da CA,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 ACs.REGION
: o local do pool de ACs.
Criar um pool de ACs subordinados
É possível criar um pool de ACs subordinados, e a AC raiz assina todo as ACs do pool. Esses certificados são usados para assinar certificados gerados para inspeção TLS.
Para criar um pool subordinado, use qualquer um dos métodos a seguir.
Criar um pool de ACs subordinados usando uma AC raiz armazenada no CAS
Para gerar uma CA subordinada, faça o seguinte:
Criar um pool de ACs subordinados usando uma AC raiz mantida externamente
Para gerar uma CA subordinada, faça o seguinte:
Crie uma AC raiz:
Se você não tiver uma CA 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 ACs subordinados usando uma AC raiz armazenada no CAS.
Para mais informações sobre pools de ACs, consulte a Documentação do Certificate Authority Service (em inglês).
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 AC:
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á continuar com as tarefas desta seção depois de concluir 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. SubstituirTLS_INSPECTION_FILE
pelo nome de arquivo desejado.Adicione o seguinte código ao arquivo YAML para configurar os parâmetros LTSInspectionPolicy:
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 do 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 criada 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
Crie a política de proxy da Web
No Console do Google Cloud, acesse a página Segurança de rede.
Clique em Secure Web Proxy.
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 uma região para 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 de TLS, selecione a opção que você criou.
Se quiser criar regras para sua política, clique em Clique em Continuar e em Adicionar regra. Para mais detalhes, consulte Crie regras do Secure Web Proxy.
Clique em Criar.
Crie as regras de proxy da Web
No Console do Google Cloud, acesse a página Segurança de rede.
Clique em Secure Web Proxy.
No menu do seletor de projetos, escolha o ID da organização ou na 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 correspondentes a regra é permitida (Allow) ou negada (Deny).
- Na seção Correspondência de sessão, especifique os critérios de
que correspondem à sessão. Para mais informações sobre a sintaxe de
SessionMatcher
, consulte a Referência da linguagem de correspondência de CEL. - Para ativar a inspeção TLS, selecione Ativar inspeção TLS.
- Na seção Correspondência de aplicativo, especifique os critérios das que correspondam à solicitação. Se você não ativar a regra para TLS a solicitação poderá corresponder apenas 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 Secure Web Proxy.
Clique na guia Proxies da Web.
Clique em Configurar um proxy da Web.
Digite um nome para o proxy da Web que você quer criar. como
myswp
.Digite uma descrição do proxy da Web, como
My new swp
.Na lista Regiões, selecione uma região para criar o proxy da Web.
Na lista Rede, selecione a rede 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. usar para criar o proxy da Web.
Na lista Política, selecione a opção que você criou. para associar ao 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 TLS a uma política política de segurança, crie o arquivo
POLICY_FILE
.yaml. SubstituirPOLICY_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