Limita versioni TLS

Questa pagina descrive come impedire l'accesso alle risorse Google Cloud negando le richieste effettuate utilizzando Transport Layer Security (TLS) 1.0 o 1.1.

Panoramica

Google Cloud supporta più versioni del protocollo TLS. Per soddisfare i requisiti di conformità, potresti voler rifiutare le richieste di handshake da client che utilizzano versioni TLS precedenti. Per farlo, puoi utilizzare il gcp.restrictTLSVersion vincolo dei criteri dell'organizzazione.

Il vincolo gcp.restrictTLSVersion può essere applicato a organizzazioni, cartelle o progetti nella gerarchia delle risorse. Il vincolo utilizza un elenco di negazione, che nega i valori espliciti e consente tutti gli altri. Si verificherà un errore se tenti di utilizzare una lista consentita.

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

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

Prima di iniziare

  • Per impostare, modificare o eliminare una policy dell'organizzazione, devi prima disporre del ruolo IAM (Identity and Access Management) Organization Policy Administrator (roles/orgpolicy.policyAdmin).

Limitare una versione TLS

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

Console

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

    Vai a Policy dell'organizzazione

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

  3. Nel selettore di progetti, seleziona la risorsa per cui vuoi impostare la policy dell'organizzazione.

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

  5. Per aggiornare la policy dell'organizzazione per questa risorsa, fai clic su Modifica.

  6. Nella pagina Modifica, seleziona Personalizza.

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

    • Per unire e valutare insieme le policy della tua organizzazione, seleziona Unisci a principale. Per saperne di più sull'ereditarietà e sulla gerarchia delle risorse, consulta Informazioni sulla valutazione della gerarchia.

    • Per eseguire l'override delle policy ereditate da una risorsa padre, seleziona Sostituisci.

  8. Fai clic su Aggiungi regola.

  9. In Valori policy, 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 negare. I seguenti valori sono valori personalizzati validi:

    • TLS_VERSION_1 per TLS 1.0
    • TLS_VERSION_1_1 per TLS 1.1

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

  12. Per completare e applicare la policy dell'organizzazione, fai clic su Salva.

gcloud

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

gcloud org-policies set-policy POLICY_PATH

POLICY_PATH è il percorso completo del file della policy dell'organizzazione, che dovrebbe essere simile al seguente se utilizzi il formato YAML:

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 la policy sia stata applicata:

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.

Testare la policy

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

Non devono esserci spazi tra --tlsv e il valore. Ad esempio: --tlsv1.1

Sostituisci con quanto segue:

  • GCS_BUCKET_NAME è un nome di 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 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 la policy dell'organizzazione è configurata per limitare TLS_VERSION_X, qualsiasi tentativo di accedere alle risorse con TLS_VERSION_X nel progetto con limitazioni dei criteri in questo comando di esempio non riuscirà. Viene restituito un messaggio di errore che descrive il motivo di questo 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 a cui si fa riferimento nel comando precedente.
  • SERVICE_NAME: il nome del servizio incluso nell'ambito bloccato dal criterio di limitazione TLS.

Servizi supportati

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

Servizi non supportati

Il vincolo della policy dell'organizzazione che limita la versione TLS non è applicabile ai seguenti servizi:

  • Apigee
  • App Engine (*.appspot.com)
  • Funzioni Cloud Run (*.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 ai vincoli personalizzati per i criteri SSL per applicare le restrizioni relative alla versione TLS e alla suite di crittografia per i bilanciatori del carico.

Passaggi successivi