Restringir versões do TLS
Nesta página, descrevemos como impedir o acesso aos recursos do Google Cloud negar solicitações feitas usando o Transport Layer Security (TLS) 1.0 ou 1.1;
Visão geral
O Google Cloud oferece suporte a várias versões do protocolo TLS. Para
atender aos requisitos de compliance, negue as solicitações de handshake de
clientes que usam versões anteriores do TLS. Para fazer isso, use a
restrição da política da
organização gcp.restrictTLSVersion
.
A restrição gcp.restrictTLSVersion
pode ser aplicada a organizações, pastas ou projetos na
hierarquia de recursos.
A restrição usa uma
deny list,
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 avaliação da hierarquia de políticas da organização, a restrição de versão do TLS se aplica ao nó de recurso especificado e a todos os filhos. 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 TLS herdada atualizando a política da organização em um recurso filho. Por exemplo, se sua organização nega o TLS 1.0 no nível da organização, remova a restrição para uma pasta filha, basta definir uma política da organização separada nessa pasta. Se a pasta tiver filhos, a política dela também será aplicada em 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
Administrador de políticas da organização (
roles/orgpolicy.policyAdmin
) Cloud 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 Políticas da organização.
Para atualizar a política da organização para este 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 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 tudo. Selecionar Personalizado.
Em Tipo de política, selecione Negar.
Em Valores personalizados, insira uma versão do TLS para negar. Os valores a seguir são valores personalizados 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 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 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
é 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 o 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
descreve o motivo da 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 com suporte
A restrição de versão do TLS é compatível com todas as APIs de recursos do Google Cloud que têm um cabeçalho assinado pelo Google Front End (GFE).
Serviços sem suporte
A restrição da política da organização para restrição de versão do TLS não é aplicável aos seguintes serviços:
- 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 o Cloud Load Balancing
com as políticas de SSL. Você também pode
usar a restrição predefinida constraints/compute.requireSslPolicy
com restrições personalizadas para políticas de SSL para
aplicar restrições de versão do TLS e de conjunto de criptografia aos balanceadores de carga.
A seguir
- Saiba quais produtos são aceitos para cada pacote de controle.