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ários protocolos TLS padrão. Para atendam aos requisitos de conformidade, negue solicitações de handshake clientes que usam versões anteriores do TLS. Para fazer isso, você pode usar o método 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 deny list, que nega valores explícitos e permite todos os outros. Ocorrerá um erro se você tente 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 a versão 1.0 do TLS para uma organização, ela também é negado para todas as pastas e projetos (filhos) que descendem organização.

Você pode substituir a restrição de versão de TLS herdada atualizando o 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 quaisquer filhos, a política da pasta 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 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

  1. Abra a página Políticas da organização no console do Google Cloud.

    Acessar as políticas da organização

  2. Selecione o seletor de projetos na parte superior da página.

  3. No seletor de projeto, escolha o recurso para o qual você quer para definir a política da organização.

  4. Selecione a restrição Restringir versão do TLS na lista Políticas da organização.

  5. Para atualizar a política da organização para este recurso, clique em Editar.

  6. Na página Editar, selecione Personalizar.

  7. 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.

  8. Clique em Adicionar regra.

  9. Em Valores da política, o valor padrão é definido como Negar tudo. Selecionar Personalizado.

  10. Em Tipo de política, selecione Negar.

  11. Em Valores personalizados, digite uma versão do TLS para negar. Os valores a seguir são valores personalizados válidos:

    • TLS_VERSION_1 para TLS 1.0
    • TLS_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.

  12. 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íticas 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 ou projects.

  • RESOURCE_ID é o ID da organização, da pasta, do ID ou o número do projeto, dependendo do tipo de recurso especificado em RESOURCE_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 ou project.

  • RESOURCE_ID é o ID da organização, da pasta, do ID ou o número do projeto, dependendo do tipo de recurso especificado em RESOURCE_TYPE.

Testar a política

A restrição da política de restrição de versão do TLS pode ser testada 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 projeto, como mybucketname.

  • TLS_VERSION é uma versão do TLS como 1.0 ou 1.1 negado 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 o TLS_VERSION_X, tentativa de acesso a recursos com TLS_VERSION_X no bloco de anúncios 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 mencionado no comando anterior.
  • SERVICE_NAME: o nome do serviço no escopo. bloqueados pela política de restrição de TLS.

Serviços com suporte

A restrição de versão do TLS é aceita por todas as APIs de recursos do Google Cloud com um cabeçalho assinado por 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)
  • Cloud Functions (*.cloudfunctions.net)
  • Cloud Run (*.run.app)
  • Private Service Connect
  • Domínios personalizados

Para restringir as versões do TLS para esses serviços, use o Cloud Load Balancing. além das políticas de SSL. Você também pode use o constraints/compute.requireSslPolicy predefinido restrição além de restrições personalizadas para políticas de SSL aplicar restrições de versão do TLS e pacote de criptografia aos balanceadores de carga.

A seguir