Limita versioni TLS

Questa pagina descrive come impedire l'accesso alle Google Cloud risorse negando le richieste effettuate utilizzando Transport Layer Security (TLS) 1.0 o 1.1. Se vuoi anche impedire l'utilizzo di TLS 1.2, utilizza una policy di restrizione della crittografia TLS per consentire solo le crittografie TLS 1.3. Per ulteriori informazioni, consulta Limita le suite di crittografia TLS.

Panoramica

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

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

A causa del comportamento della valutazione della gerarchia delle policy dell'organizzazione, la restrizione 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, viene negata anche per tutte le cartelle e i progetti (elementi secondari) che discendono da quell'organizzazione.

Puoi sostituire la restrizione 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 restrizione per una cartella secondaria impostando una policy dell'organizzazione separata su quella cartella. Se la cartella ha elementi secondari, la policy della cartella verrà applicata anche a ogni risorsa secondaria a causa dell'ereditarietà delle policy.

Prima di iniziare

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

Limitare una versione TLS

Per limitare una o più versioni TLS:

Console

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

    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 Policy dell'organizzazione.

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

  6. Nella pagina Modifica, seleziona Personalizza.

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

    • Per unire e valutare le policy dell'organizzazione, seleziona Unisci con la risorsa padre. Per ulteriori informazioni sull'ereditarietà e sulla gerarchia delle risorse, consulta Informazioni sulla valutazione della gerarchia.

    • Per sostituire le 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 invece Personalizzato.

  10. In Tipo di policy, seleziona Nega.

  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 il comando seguente 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.

Testa la policy

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

Non è presente alcuno 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 nella policy configurata.

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 restrizioni di policy 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 dalla policy di restrizione TLS.

Servizi supportati

La restrizione della versione TLS è supportata dalle API delle risorse che hanno un'intestazione firmata da Google Front End (GFE). Google Cloud

Servizi non supportati

Il vincolo della policy dell'organizzazione di restrizione della 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 a policy SSL. Puoi anche utilizzare il vincolo predefinito constraints/compute.requireSslPolicy insieme ai vincoli personalizzati per le policy SSL per applicare le restrizioni della versione TLS e della suite di crittografia per i bilanciatori del carico.

Passaggi successivi