Restrinja as versões de TLS

Esta página descreve como pode impedir o acesso a Google Cloud recursos recusando pedidos feitos através do Transport Layer Security (TLS) 1.0 ou 1.1.

Vista geral

Google Cloud Suporta várias versões do protocolo TLS. Para cumprir os requisitos de conformidade, pode querer recusar pedidos de handshake de clientes que usam versões TLS anteriores. Para o fazer, pode usar a restrição da gcp.restrictTLSVersion 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 negações, que nega valores explícitos e permite todos os outros. Ocorre um erro se tentar usar uma lista de autorizações.

Devido ao comportamento da avaliação da hierarquia de políticas da organização, a restrição da versão de TLS aplica-se ao nó de recurso especificado e a todos os respetivos filhos. Por exemplo, se negar a versão 1.0 do TLS para uma organização, esta também é negada para todas as pastas e projetos (elementos secundários) que descendem dessa organização.

Pode substituir a restrição da versão de TLS herdada atualizando a política da organização num recurso secundário. Por exemplo, se a política da sua organização negar o TLS 1.0 ao nível da organização, pode remover a restrição para uma pasta secundária definindo uma política da organização separada nessa pasta. Se a pasta tiver filhos, a política da pasta também é aplicada a cada recurso filho devido à herança de políticas.

Antes de começar

  • Para definir, alterar ou eliminar uma política de organização, primeiro, tem de lhe ser concedida a função de gestão de identidade e de acesso (IAM) de administrador da política de organização (roles/orgpolicy.policyAdmin).

Restrinja uma versão de TLS

Para restringir uma ou mais versões do TLS, conclua os seguintes passos:

Consola

  1. Abra a página Políticas de organização na Google Cloud consola.

    Aceda às políticas da organização

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

  3. No seletor de projetos, selecione o recurso para o qual quer definir a política de organização.

  4. Selecione a restrição Restringir versão TLS na lista da página 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 Aplicação de políticas, selecione uma opção de aplicação:

    • Para unir e avaliar as políticas da sua organização em conjunto, selecione Unir com principal. Para mais informações sobre a herança e a hierarquia de recursos, consulte o artigo Compreender a avaliação da hierarquia.

    • Para substituir as políticas herdadas de um recurso principal, selecione Substituir.

  8. Clique em Adicionar regra.

  9. Em Valores da política, o valor predefinido é Recusar tudo. Em alternativa, selecione Personalizado.

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

  11. Em Valores personalizados, introduza uma versão de TLS a recusar. Os seguintes valores são valores personalizados válidos:

    • TLS_VERSION_1 para TLS 1.0
    • TLS_VERSION_1_1 para TLS 1.1

    Se estiver a restringir mais do que uma versão do TLS, clique em Adicionar valor e introduza o valor no campo adicional.

  12. Para terminar e aplicar a política de organização, clique em Guardar.

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 ficheiro de política da organização, que deve ter o seguinte aspeto se usar 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, o ID da pasta, o ID do projeto ou o número do projeto, consoante o tipo de recurso especificado em RESOURCE_TYPE.

Execute o seguinte comando para verificar se a sua 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, o ID da pasta, o ID do projeto ou o número do projeto, consoante o tipo de recurso especificado em RESOURCE_TYPE.

Teste a política

A restrição da política de restrição da versão TLS pode ser testada para qualquer serviço no âmbito. O comando curl de exemplo seguinte valida a restrição da versão do TLS para um contentor 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 existe espaço entre --tlsv e o valor. Por exemplo: --tlsv1.1

Substitua pelo seguinte:

  • GCS_BUCKET_NAME é o nome de um contentor do Cloud Storage no seu projeto, como mybucketname.

  • O TLS_VERSION é uma versão do TLS, como 1.0 ou 1.1, que é recusada na política configurada.

O exemplo de pedido curl seguinte 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 aceder a recursos com TLS_VERSION_X no projeto restrito por políticas no exemplo de comando falha. É devolvida uma mensagem de erro que descreve o motivo desta 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 aloja o recurso referido no comando anterior.
  • SERVICE_NAME: o nome do serviço no âmbito bloqueado pela política de restrição do TLS.

Serviços suportados

A restrição da versão TLS é suportada por todas as APIs de recursos que tenham um cabeçalho assinado pelo front-end da Google (GFE). Google Cloud

Serviços não suportados

A restrição da política da organização da 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 para estes serviços, use o Cloud Load Balancing juntamente com as políticas de SSL. Também pode usar a restrição constraints/compute.requireSslPolicy predefinida, juntamente com restrições personalizadas, para as políticas SSL para aplicar restrições de versão do TLS e de conjunto de cifras aos seus equilibradores de carga.

O que se segue?