Limita le versioni TLS

Questa pagina descrive come puoi 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 più versioni del protocollo TLS. Per soddisfare i requisiti di conformità, ti consigliamo di 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 valori non consentiti, che nega i valori espliciti e consente tutti gli altri. Si verificherà un errore se provi a utilizzare una lista consentita.

A causa del comportamento della 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, la stessa viene negata anche per tutte le cartelle e i progetti (secondari) che derivano da quell'organizzazione.

Puoi ignorare la limitazione della versione TLS ereditata aggiornando la policy dell'organizzazione in una risorsa secondaria. Ad esempio, se i criteri dell'organizzazione vietano 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 contiene cartelle secondarie, 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 un criterio dell'organizzazione, devi prima disporre del ruolo IAM (Identity and Access Management) Amministratore dei criteri dell'organizzazione (roles/orgpolicy.policyAdmin).

Limitare una versione TLS

Per limitare una o più versioni TLS:

Console

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

    Vai a Criteri dell'organizzazione

  2. Seleziona il selettore del progetto nella parte superiore della pagina.

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

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

  5. Per aggiornare il criterio 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 i criteri dell'organizzazione, seleziona Unisci con principale. Per ulteriori informazioni sull'ereditarietà e sulla gerarchia delle risorse, consulta Informazioni sulla valutazione della gerarchia.

    • Per sostituire i criteri ereditati da una risorsa principale, seleziona Sostituisci.

  8. Fai clic su Aggiungi regola.

  9. In Valori criteri, il valore predefinito è impostato su Rifiuta tutto. Seleziona Personalizza.

  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 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 del criterio dell'organizzazione, che dovrebbe avere il seguente aspetto 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 il seguente 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 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 è il nome di un bucket Cloud Storage nel tuo progetto, ad esempio mybucketname.

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

L'esempio seguente di richiesta curl 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 il criterio dell'organizzazione è configurato per limitare TLS_VERSION_X, qualsiasi tentativo di accedere alle risorse con TLS_VERSION_X nel progetto con restrizioni dei criteri in questo comando di esempio non andrà a buon fine. 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 a cui si fa riferimento nel comando precedente.
  • SERVICE_NAME: il nome del servizio ambito bloccato dal criterio di limitazione TLS.

Servizi supportati

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

Servizi non supportati

Il vincolo del criterio dell'organizzazione che limita la versione TLS non è applicabile per i seguenti servizi:

  • 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 constraints/compute.requireSslPolicy vincolo predefinito insieme ai vincoli personalizzati per i criteri SSL per applicare le limitazioni della versione TLS e delle suite di crittografia per i bilanciatori del carico.

Passaggi successivi