Limita le versioni TLS

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

Panoramica

Google Cloud supporta più protocolli TLS le versioni secondarie. A soddisfano i requisiti di conformità, ti consigliamo di rifiutare le richieste di handshake che utilizzano versioni TLS precedenti. A questo scopo, puoi utilizzare gcp.restrictTLSVersion criteri dell'organizzazione di blocco.

Il vincolo gcp.restrictTLSVersion può essere applicato a organizzazioni, cartelle o progetti nella gerarchia delle risorse. Il vincolo utilizza un parametro elenco negazione, che nega valori espliciti e consente tutti gli altri. Si verifica un errore se prova a usare una lista consentita.

A causa del comportamento valutazione della gerarchia dei criteri dell'organizzazione, la limitazione di versione TLS si applica al nodo risorsa specificato e a tutti e i relativi figli. 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 di versione TLS ereditata aggiornando il del criterio dell'organizzazione su una risorsa figlio. Ad esempio, se la tua organizzazione il criterio nega TLS 1.0 a livello di organizzazione, puoi rimuovere la limitazione per una cartella secondaria, impostando un criterio dell'organizzazione separato per la 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 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 di progetti, seleziona la risorsa per cui vuoi impostare il criterio dell'organizzazione.

  4. Seleziona il vincolo Limita versione TLS dall'elenco nella 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 l'elemento principale. Per ulteriori informazioni sull'ereditarietà e la 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 criterio, 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 valori seguenti 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 di 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 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 ambito. Il seguente esempio di comando curl 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 in modo da limitare TLS_VERSION_X, verrà applicata una qualsiasi tentativo di accedere alle risorse con TLS_VERSION_X nel criterio limitato progetto 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 a cui si fa riferimento nel comando precedente.
  • SERVICE_NAME: il nome del servizio ambito bloccato dal criterio di limitazione TLS.

Servizi supportati

La restrizione della versione TLS è supportata da qualsiasi API delle risorse di Google Cloud con un'intestazione firmata 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 di 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 utilizza l'impostazione predefinita constraints/compute.requireSslPolicy vincolo insieme a vincoli personalizzati per i criteri SSL applicare restrizioni relative alla versione TLS e alla suite di crittografia per i bilanciatori del carico.

Passaggi successivi