Limita versioni TLS

In questa pagina viene descritto come impedire l'accesso alle risorse Google Cloud rifiutando le richieste effettuate utilizzando Transport Layer Security (TLS) 1.0 o 1.1.

Panoramica

Google Cloud supporta diverse versioni del protocollo TLS. Per soddisfare i requisiti di conformità, può essere opportuno rifiutare le richieste di handshake dai client che utilizzano versioni TLS precedenti. Per farlo, puoi utilizzare il vincolo dei criteri dell'organizzazione gcp.restrictTLSVersion.

Il vincolo gcp.restrictTLSVersion può essere applicato a organizzazioni, cartelle o progetti nella gerarchia delle risorse. Il vincolo utilizza un elenco di negazioni, che nega i valori espliciti e autorizza tutti gli altri. Se provi a utilizzare una lista consentita, si verifica un errore.

A causa del comportamento della valutazione della gerarchia dei criteri dell'organizzazione, la limitazione della versione TLS si applica al nodo di risorse specificato e a tutti i relativi elementi figlio. Ad esempio, se neghi TLS versione 1.0 per un'organizzazione, viene negato anche per tutte le cartelle e tutti i progetti (figlio) che discendono da quell'organizzazione.

Puoi ignorare la limitazione della versione TLS ereditata, aggiornando il criterio dell'organizzazione su una risorsa figlio. Ad esempio, se il criterio dell'organizzazione nega TLS 1.0 a livello di organizzazione, puoi rimuovere la limitazione per una cartella secondaria impostando un criterio dell'organizzazione separato per quella cartella. Se la cartella ha elementi figlio, il criterio della cartella verrà applicato anche a ogni risorsa figlio a causa dell'ereditarietà dei criteri.

Prima di iniziare

  • Per impostare, modificare o eliminare un criterio dell'organizzazione, devi prima disporre del ruolo Amministratore criteri organizzazione (roles/orgpolicy.policyAdmin) Identity and Access Management (IAM).

Limitare una versione TLS

Per limitare una o più versioni TLS, completa i seguenti passaggi:

Console

  1. Apri la pagina Criteri dell'organizzazione nella console Google Cloud.

    Vai a Criteri dell'organizzazione

  2. Seleziona il selettore di progetti nella parte superiore della pagina.

  3. Dal selettore dei progetti, scegli la risorsa per cui vuoi impostare il criterio dell'organizzazione.

  4. Seleziona il vincolo Limita versione TLS dall'elenco nella pagina Criteri dell'organizzazione.

  5. Per aggiornare il criterio dell'organizzazione per questa risorsa, fai clic su Modifica.

  6. Nella pagina Modifica, seleziona Personalizza.

  7. In Applicazione delle norme, seleziona un'opzione di applicazione:

    • Per unire e valutare insieme i criteri dell'organizzazione, seleziona Unisci con elemento padre. Per ulteriori informazioni sull'ereditarietà e sulla gerarchia delle risorse, consulta Informazioni sulla valutazione della gerarchia.

    • Per eseguire l'override dei criteri ereditati da una risorsa padre, seleziona Sostituisci.

  8. Fai clic su Aggiungi regola.

  9. In Valori dei criteri, il valore predefinito è impostato su Nega tutto. Seleziona Personalizzato.

  10. In Tipo di criterio, seleziona Rifiuta.

  11. In Valori personalizzati, inserisci una versione TLS da rifiutare. I seguenti valori sono valori personalizzati validi:

    • TLS_VERSION_1 per TLS 1.0
    • TLS_VERSION_1_1 per TLS 1.1

    Se limiti più di una versione TLS, fai clic su Aggiungi valore e inserisci il valore nel campo aggiuntivo.

  12. Per completare e applicare il criterio dell'organizzazione, fai clic su Salva.

gcloud

Utilizza il comando gcloud org-policies set-policy per impostare un criterio dell'organizzazione sulla risorsa:

gcloud org-policies set-policy POLICY_PATH

POLICY_PATH è il percorso completo del file dei criteri dell'organizzazione. Se utilizzi il formato YAML, dovrebbe essere simile al seguente:

name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
  rules:
  - values:
    deniedValues:
    - TLS_VERSION_1
    - TLS_VERSION_1_1

Sostituisci con quanto segue:

  • RESOURCE_TYPE è organizations, folders o projects.

  • RESOURCE_ID è l'ID organizzazione, l'ID cartella, l'ID progetto o il numero di progetto, a seconda del tipo di risorsa specificato in RESOURCE_TYPE.

Esegui questo comando per verificare che il criterio sia stato applicato:

gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective

Sostituisci con quanto segue:

  • RESOURCE_TYPE è organization, folder o project.

  • RESOURCE_ID è l'ID organizzazione, l'ID cartella, l'ID progetto o il numero di progetto, a seconda del tipo di risorsa specificato in RESOURCE_TYPE.

Testa il criterio

Il vincolo del criterio di limitazione della versione TLS può essere testato per qualsiasi servizio incluso nell'ambito. Il comando curl di esempio seguente convalida la restrizione della versione TLS per un bucket 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

Nessuno spazio tra --tlsv e il valore. Ad esempio: --tlsv1.1

Sostituisci con quanto segue:

  • GCS_BUCKET_NAME è il nome di un bucket Cloud Storage nel tuo progetto, ad esempio mybucketname.

  • TLS_VERSION è una versione TLS come 1.0 o 1.1 negata nel criterio configurato.

La seguente richiesta curl di esempio mostra il valore GCS_BUCKET_NAME impostato su mybucketname e TLS_VERSION impostato su 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 il criterio dell'organizzazione è configurato per limitare TLS_VERSION_X, qualsiasi tentativo di accedere alle risorse con TLS_VERSION_X nel progetto con limitazioni per i criteri in questo comando di esempio non riuscirà. Viene restituito un messaggio di errore che descrive il motivo dell'errore.

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`

Questo output include i seguenti valori:

  • PROJECT_NUMBER: il numero del progetto che ospita la risorsa menzionata nel comando precedente.
  • SERVICE_NAME: il nome del servizio nell'ambito bloccato dal criterio di restrizione TLS.

Servizi supportati

La limitazione di versione TLS è supportata da qualsiasi API di risorse Google Cloud con un'intestazione firmata da Google Front End (GFE).

Servizi non supportati

Il vincolo relativo al criterio dell'organizzazione per la limitazione di versione TLS non è applicabile ai seguenti servizi:

  • App Engine (*.appspot.com)
  • Cloud Functions (*.cloudfunctions.net),
  • Cloud Run (*.run.app)
  • Private Service Connect
  • Domini personalizzati

Per limitare le versioni TLS per questi servizi, utilizza Cloud Load Balancing insieme ai criteri SSL. Puoi anche utilizzare il vincolo constraints/compute.requireSslPolicy predefinito insieme a vincoli personalizzati per i criteri SSL per applicare restrizioni alla versione TLS e alla suite di crittografia per i tuoi bilanciatori del carico.

Passaggi successivi