Nesta página, descrevemos como impedir o acesso a Google Cloud recursos negando solicitações feitas usando o Transport Layer Security (TLS) 1.0 ou 1.1. Se você também quiser impedir o uso do TLS 1.2, use uma política de restrição de criptografia TLS para permitir apenas criptografias TLS 1.3. Para mais informações, consulte Restringir pacotes de criptografia TLS.
Visão geral
O Google Cloud oferece suporte a várias versões do protocolo TLS
Google Cloud . Para atender aos requisitos de conformidade, talvez você queira negar solicitações de handshake de clientes que usam versões mais antigas do TLS. Para fazer isso, use a
gcp.restrictTLSVersion política da organização
restrição.
A restrição gcp.restrictTLSVersion pode ser aplicada a organizações, pastas ou projetos na
hierarquia de recursos.
A restrição usa uma
lista de negações,
que nega valores explícitos e permite todos os outros. Um erro vai ocorrer se você tentar usar uma lista de permissões.
Devido ao comportamento da avaliação da hierarquia da política da organização, a restrição de versão do TLS se aplica ao nó de recurso especificado e a todos os filhos dele. Por exemplo, se você negar o TLS 1.0 para uma organização, ele também será negado para todas as pastas e projetos (filhos) que descendem dessa organização.
É possível substituir a restrição de versão do TLS herdada atualizando a política da organização em um recurso filho. Por exemplo, se a política da organização negar o TLS 1.0 no nível da organização, você poderá remover a restrição de uma pasta filha definindo uma política da organização separada nessa pasta. Se a pasta tiver filhos, a política dela também será aplicada a cada recurso filho devido à herança de políticas.
Antes de começar
- Para definir, alterar ou excluir uma política da organização, primeiro você precisa receber o papel do Identity and Access Management (IAM, na sigla em inglês) de Administrador da Política da organização (
roles/orgpolicy.policyAdmin).
Restringir uma versão do TLS
Para restringir uma ou mais versões do TLS, siga estas etapas:
Console
Abra a página Políticas da organização no Google Cloud console.
Selecione o seletor de projetos na parte superior da página.
No Seletor de projetos, selecione o recurso em que você quer definir a política da organização.
Selecione a restrição Restringir versão do TLS na lista da página Políticas da organização.
Para atualizar a política da organização desse recurso, clique em Editar.
Na página Editar, selecione Personalizar.
Em Política de aplicação, selecione uma opção para aplicação:
Para mesclar e avaliar as políticas da organização juntas, selecione Mesclar com pai. Para saber mais informações sobre herança e a hierarquia de recursos, consulte Noções básicas sobre avaliação de hierarquia.
Para modificar políticas herdadas de um recurso pai, selecione Substituir.
Clique em Adicionar regra.
Em Valores da política, o valor padrão é definido como Negar todos. Selecione Personalizado.
Em Tipo de política, selecione Negar.
Em Valores personalizados, insira uma versão do TLS a ser negada. Os seguintes valores são válidos:
TLS_VERSION_1para TLS 1.0TLS_VERSION_1_1para TLS 1.1
Se você estiver restringindo mais de uma versão do TLS, clique em Adicionar valor e insira o valor no campo adicional.
Para finalizar e aplicar a política da organização, clique em Salvar.
gcloud
Use o comando gcloud org-policies set-policy para definir uma política da organização no recurso:
gcloud org-policies set-policy POLICY_PATH
POLICY_PATH é o caminho completo para o arquivo de política da organização, que deve ser semelhante ao seguinte se você estiver usando o formato YAML:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
Substitua pelo seguinte:
RESOURCE_TYPEéorganizations,foldersouprojects.RESOURCE_IDé o ID da organização, o ID da pasta, o ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE.
Execute o comando a seguir para verificar se a política foi aplicada:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
Substitua pelo seguinte:
RESOURCE_TYPEéorganization,folderouproject.RESOURCE_IDé o ID da organização, o ID da pasta, o ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE.
Testar a política
A restrição da política de versão do TLS pode ser testada para qualquer serviço no escopo. O exemplo de comando curl a seguir valida a restrição de versão do TLS para um bucket do Cloud Storage.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/GCS_BUCKET_NAME/o" \ --tlsvTLS_VERSION --tls-max TLS_VERSION --ciphers DEFAULT@SECLEVEL=0
Não há espaço entre --tlsv e o valor. Por exemplo: --tlsv1.1
Substitua pelo seguinte:
GCS_BUCKET_NAMEé um nome de bucket do Cloud Storage no seu projeto, comomybucketname.TLS_VERSIONé uma versão do TLS, como1.0ou1.1, negada na política configurada.
O exemplo de solicitação curl a seguir mostra GCS_BUCKET_NAME definido
como mybucketname e TLS_VERSION definido como 1.1:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/mybucketname/o" \ --tlsv1.1 --tls-max 1.1 --ciphers DEFAULT@SECLEVEL=0
Se a política da organização estiver configurada para restringir TLS_VERSION_X, qualquer tentativa de acessar recursos com TLS_VERSION_X no projeto restrito pela política neste comando de exemplo vai falhar. Uma mensagem de erro é retornada descrevendo o motivo dessa falha.
Request is disallowed by organization's constraints/gcp.restrictTLSVersion constraint for 'projects/PROJECT_NUMBER' to use service 'SERVICE_NAME.googleapis.com' by violated TLS version `TLS_VERSION_X`
Esta saída inclui os seguintes valores:
PROJECT_NUMBER: o número do projeto que hospeda o recurso referenciado no comando anterior.SERVICE_NAME: o nome do serviço no escopo bloqueado pela política de restrição do TLS.
Serviços compatíveis
A restrição de versão do TLS é compatível com qualquer Google Cloud API de recurso que tenha um cabeçalho assinado pelo Google Front End (GFE).
Serviços sem suporte
A restrição da política da organização de versão do TLS não é aplicável aos seguintes serviços:
- Apigee
- App Engine (
*.appspot.com) - Funções do Cloud Run (
*.cloudfunctions.net), - Cloud Run (
*.run.app) - Private Service Connect
- Domínios personalizados
Para restringir as versões do TLS desses serviços, use Cloud Load Balancing
com políticas de SSL. Você também pode
usar a restrição predefinida constraints/compute.requireSslPolicy
juntamente com restrições personalizadas para políticas de SSL para
aplicar restrições de versão do TLS e de pacote de criptografia aos balanceadores de carga.
A seguir
- Saiba quais produtos são compatíveis com cada pacote de controle.