Restringir versões TLS
Nesta página, descrevemos como impedir o acesso aos recursos do Google Cloud negando solicitações feitas com o Transport Layer Security (TLS) 1.0 ou 1.1.
Visão geral
OGoogle Cloud é compatível com várias versões do protocolo TLS. Para
atender aos requisitos de compliance, talvez seja necessário negar solicitações de handshake de
clientes que usam versões anteriores do TLS. Para isso, use a
gcp.restrictTLSVersion
restrição da política da
organizaçã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 bloqueio, que nega valores explícitos e permite todos os outros. Um erro vai ocorrer se você
tentar usar uma lista de permissão.
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 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 de Administrador de políticas da organização (
roles/orgpolicy.policyAdmin
) do Identity and Access Management (IAM).
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 console do Google Cloud .
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 nesse 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 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 é Negar tudo. 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_1
para TLS 1.0TLS_VERSION_1_1
para 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
,folders
ouprojects
.RESOURCE_ID
é o ID da organização, da pasta, do ID ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE
.
Execute o seguinte comando 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
,folder
ouproject
.RESOURCE_ID
é o ID da organização, da pasta, do ID 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 restrição de versão do TLS pode ser testada em qualquer serviço no escopo. O comando curl de exemplo 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
é o nome de um bucket do Cloud Storage no seu projeto, comomybucketname
.TLS_VERSION
é uma versão do TLS, como1.0
ou1.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 exemplo de comando 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 mencionado no comando anterior.SERVICE_NAME
: o nome do serviço no escopo bloqueado pela política de restrição de TLS.
Serviços compatíveis
A restrição de versão do TLS é compatível com qualquer API de recurso Google Cloud 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 restrição de versão do TLS não se aplica 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 nesses serviços, use o Cloud Load Balancing com as políticas de SSL. Você também pode usar a restrição constraints/compute.requireSslPolicy
predefinida com restrições personalizadas para políticas de SSL e 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 controles.