Utilizzare i criteri SSL per i protocolli SSL e TLS

I criteri SSL specificano l'insieme di funzionalità SSL utilizzate dai bilanciatori del carico Google Cloud durante la negoziazione SSL con i client. In questo documento, il termine SSL fa riferimento sia ai protocolli SSL sia a TLS.

I criteri SSL sono supportati con i seguenti bilanciatori del carico:

  • Criteri SSL globali
    • Bilanciatore del carico delle applicazioni esterno globale
    • Bilanciatore del carico delle applicazioni classico
    • Bilanciatore del carico di rete proxy esterno (con un proxy SSL di destinazione)
    • Bilanciatore del carico delle applicazioni interno tra regioni
  • Criteri SSL regionali
    • Bilanciatore del carico delle applicazioni esterno regionale
    • Bilanciatore del carico delle applicazioni interno regionale

Per ulteriori informazioni sul funzionamento dei criteri SSL, consulta la panoramica dei criteri SSL.

Puoi creare e gestire i criteri SSL utilizzando la console Google Cloud o Google Cloud CLI quando crei un bilanciatore del carico HTTPS o SSL o in qualsiasi momento dopo averlo creato.

Per elencare, creare e gestire i criteri SSL regionali, assicurati di eseguire gcloud CLI 404 o versioni successive.

Creare criteri SSL

Puoi creare criteri SSL con profili gestiti da Google o con un profilo personalizzato.

Creare un criterio SSL con un profilo gestito da Google

Console

Criterio SSL globale

Per creare un criterio SSL globale con un profilo gestito da Google, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Criteri SSL.

    Vai ai criteri SSL

  2. Fai clic su Crea criterio.

  3. Per Criterio SSL globale, fai clic sul pulsante Crea accanto. Viene visualizzata la pagina Crea norma.

  4. Inserisci un nome.

  5. Seleziona una Versione TLS minima.

  6. In corrispondenza di Profilo, seleziona Compatibile, Moderno o Con restrizioni. Le sezioni Funzionalità abilitate e Funzionalità disattivate per il profilo vengono visualizzate sul lato destro della pagina.

  7. Se esiste un bilanciatore del carico a cui vuoi associare il criterio, fai clic su Applica ai target e seleziona una regola di forwarding come destinazione del criterio SSL. Se necessario, aggiungi altri target.

  8. Fai clic su Crea.

Criterio SSL regionale

Per creare un criterio SSL regionale con un profilo gestito da Google, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Criteri SSL.

    Vai ai criteri SSL

  2. Fai clic su Crea criterio.

  3. Per Criterio SSL regionale, fai clic sul pulsante Crea accanto. Viene visualizzata la pagina Crea norma.

  4. Inserisci un nome.

  5. Seleziona una Regione.

  6. Seleziona una Versione TLS minima.

  7. In corrispondenza di Profilo, seleziona Compatibile, Moderno o Con restrizioni. Le sezioni Funzionalità abilitate e Funzionalità disattivate per il profilo vengono visualizzate sul lato destro della pagina.

  8. Se esiste un bilanciatore del carico a cui vuoi associare il criterio, fai clic su Applica ai target e seleziona una regola di forwarding come destinazione del criterio SSL. Se necessario, aggiungi altri target.

  9. Fai clic su Crea.

gcloud

Criterio SSL globale

Di seguito è riportata la sintassi generale per la creazione di un criterio SSL globale con un profilo gestito da Google:

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile COMPATIBLE | MODERN | RESTRICTED \
    --min-tls-version 1.0 | 1.1 | 1.2

Il comando seguente crea un criterio SSL globale con il profilo MODERN:

gcloud compute ssl-policies create my-ssl-policy \
    --profile MODERN \
    --min-tls-version 1.0

Criterio SSL regionale

Di seguito è riportata la sintassi generale per la creazione di un criterio SSL regionale con un profilo gestito da Google:

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile COMPATIBLE | MODERN | RESTRICTED \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --region REGION

Il comando seguente crea un criterio SSL regionale con il profilo COMPATIBLE:

gcloud compute ssl-policies create my-ssl-policy \
    --profile COMPATIBLE \
    --min-tls-version 1.1 \
    --region us-west1

Creare un criterio SSL con un profilo personalizzato

Console

Criterio SSL globale

Per creare un criterio SSL globale con un profilo personalizzato, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Criteri SSL.

    Vai ai criteri SSL

  2. Fai clic su Crea criterio.

  3. Per Criterio SSL globale, fai clic sul pulsante Crea accanto. Viene visualizzata la pagina Crea norma.

  4. Inserisci un nome.

  5. Seleziona una Versione TLS minima.

  6. In Profilo, seleziona Personalizzato. Tutte le funzionalità sono indicate come Funzionalità disattivate sul lato destro della pagina.

  7. Nell'elenco Funzionalità, seleziona ogni suite di crittografia che vuoi attivare. Le suite di crittografia che attivi sono elencate come Funzionalità attivate.

  8. Se esiste un bilanciatore del carico a cui vuoi associare il criterio, fai clic su Applica ai target e seleziona una regola di forwarding come destinazione del criterio SSL. Se necessario, aggiungi altri target.

  9. Fai clic su Crea.

Criterio SSL regionale

Per creare un criterio SSL regionale con un profilo personalizzato, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Criteri SSL.

    Vai ai criteri SSL

  2. Fai clic su Crea criterio.

  3. Per Criterio SSL regionale, fai clic sul pulsante Crea accanto. Viene visualizzata la pagina Crea norma.

  4. Inserisci un nome.

  5. Seleziona una Regione.

  6. Seleziona una Versione TLS minima.

  7. In Profilo, seleziona Personalizzato. Tutte le funzionalità sono indicate come Funzionalità disattivate sul lato destro della pagina.

  8. Nell'elenco Funzionalità, seleziona ogni suite di crittografia che vuoi attivare. Le suite di crittografia che attivi sono elencate come Funzionalità attivate.

  9. Se esiste un bilanciatore del carico a cui vuoi associare il criterio, fai clic su Applica ai target e seleziona una regola di forwarding come destinazione del criterio SSL. Se necessario, aggiungi altri target.

  10. Fai clic su Crea.

gcloud

Quando crei un criterio SSL con il profilo CUSTOM, sono supportate solo le funzionalità specificate nel comando create. Altre funzionalità non sono supportate.

Criterio SSL globale

Di seguito è riportata la sintassi generale per la creazione di un criterio SSL globale con un profilo personalizzato:

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3]

L'esempio seguente crea un criterio SSL globale con il profilo CUSTOM con una versione TLS minima di 1.2 e le funzionalità TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 e TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.2 \
    --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

Criterio SSL regionale

Di seguito è riportata la sintassi generale per la creazione di un criterio SSL regionale con un profilo personalizzato:

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.0 | 1.1 | 1.2 \
    --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3] \
    --region REGION

L'esempio seguente crea un criterio SSL regionale con il profilo CUSTOM con una versione TLS minima di 1.2 e le funzionalità TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 e TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256.

gcloud compute ssl-policies create SSL_POLICY_NAME \
    --profile CUSTOM \
    --min-tls-version 1.2 \
    --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \
    --region us-west1

Elenca criteri SSL

Console

Nella console Google Cloud, vai alla pagina Criteri SSL.

Vai ai criteri SSL

Puoi visualizzare un elenco di tutti i criteri SSL disponibili. Il campo Ambito indica se il criterio SSL è globale o regionale.

gcloud

Per elencare i criteri SSL globali e regionali, esegui:

  gcloud compute ssl-policies list

Per elencare solo i criteri SSL globali, esegui:

  gcloud compute ssl-policies list --global

Per elencare solo i criteri SSL regionali, esegui:

  gcloud compute ssl-policies list --regions REGION

Elenca le funzionalità disponibili in un criterio SSL

Console

  1. Nella console Google Cloud, vai alla pagina Criteri SSL.

    Vai ai criteri SSL

  2. Fai clic sul nome del criterio di cui vuoi visualizzare le funzionalità. Le suite di crittografia abilitate e disattivate sono elencate sul lato destro della pagina.

gcloud

Per elencare le funzionalità disponibili nei criteri SSL globali:

gcloud compute ssl-policies list-available-features

Per elencare le funzionalità disponibili nei criteri SSL regionali:

gcloud compute ssl-policies list-available-features \
    --region REGION

Modificare i criteri SSL

Console

Per modificare un criterio SSL globale o regionale:

  1. Nella console Google Cloud, vai alla pagina Criteri SSL.

    Vai ai criteri SSL

  2. Fai clic sul nome del criterio che vuoi modificare.

  3. Fai clic su Modifica.

  4. Apporta le modifiche che preferisci.

  5. Fai clic su Salva.

gcloud

Per modificare un criterio SSL esistente, passa uno o tutti gli indicatori corrispondenti ai campi che vuoi aggiornare. I campi non specificati non vengono aggiornati.

Se aggiorni le funzionalità, quelle attivate in precedenza vengono eliminate e sostituite con le nuove funzionalità specificate.

Criteri SSL globali

gcloud compute ssl-policies update SSL_POLICY_NAME \
    --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \
    --min-tls-version 1.0|1.1|1.2 \
    --custom-features FEATURES

Criteri SSL regionali

gcloud compute ssl-policies update SSL_POLICY_NAME \
    --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \
    --min-tls-version 1.0|1.1|1.2 \
    [--custom-features FEATURES \]
    --region REGION

Crea un proxy di destinazione con un criterio SSL

Console

Puoi creare un proxy target utilizzando la console Google Cloud quando crei o aggiorni il bilanciatore del carico, come mostrato nei seguenti documenti:

gcloud

Per creare un proxy SSL di destinazione con un criterio SSL globale:

gcloud compute target-ssl-proxies create TARGET_SSL_PROXY_NAME \
  --backend-service BACKEND_SERVICE_NAME \
  --ssl-certificate SSL_CERTIFICATE_NAME \
  --ssl-policy SSL_POLICY_NAME

Per creare un proxy HTTPS di destinazione globale con un criterio SSL globale:

gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
  --ssl-certificate SSL_CERTIFICATE_NAME \
  --url-map URL_MAP_NAME \
  --ssl-policy SSL_POLICY_NAME

Per creare un proxy HTTPS di destinazione regionale con un criterio SSL regionale:

gcloud compute target-https-proxies create REGIONAL_TARGET_HTTPS_PROXY_NAME \
  --ssl-certificates SSL_CERTIFICATE_NAME \
  --url-map URL_MAP_NAME \
  --url-map-region REGION \
  --ssl-policy SSL_POLICY_NAME \
  --region REGION

Allega un criterio SSL esistente a un proxy target esistente

Console

gcloud

Utilizza questi comandi per collegare un criterio SSL esistente a un proxy SSL o HTTPS.

  • Per trovare tutti i progetti della tua organizzazione con proxy SSL di destinazione:

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetSslProxy
    
  • Per trovare tutti i progetti della tua organizzazione con proxy HTTPS di destinazione:

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetHttpsProxy
    
  • Per elencare tutti i proxy SSL target globali in un progetto, utilizza il metodo targetSslProxies.aggregatedList. Quindi, utilizza il parametro di query filter per cercare i proxy SSL target che non fanno riferimento a un criterio SSL.

    curl \
        'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    
  • Per elencare tutti i proxy HTTPS di destinazione globali e regionali in un progetto, utilizza il metodo targetHttpsProxies.aggregatedList con il parametro di query includeAllScopes impostato su true. Quindi, utilizza il parametro di query filter per cercare i proxy HTTPS target che non fanno riferimento a un criterio SSL.

    curl \
        'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/targetHttpsProxies?filter=sslPolicy%3D%22%22&includeAllScopes=true&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    
  • Per collegare un criterio SSL globale esistente a un proxy SSL di destinazione:

    gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • Per collegare un criterio SSL globale esistente a un proxy HTTPS target globale:

    gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • Per collegare un criterio SSL regionale esistente a un proxy HTTPS di destinazione regionale:

    gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME \
        --region REGION
    

Se non fornisci il flag --ssl-policy o il flag --clear-ssl-policy in un aggiornamento del proxy di destinazione (ad esempio, quando aggiorni un certificato SSL), il criterio SSL rimane invariato. Il flag --clear-ssl-policy è descritto in Eliminare un criterio SSL da un proxy target.

API

Per impostare un criterio SSL globale per un proxy di destinazione globale, utilizza il metodo targetHttpsProxies.patch.

Per impostare un criterio SSL regionale per un proxy di destinazione regionale, utilizza il metodo regionTargetHttpsProxies.patch.

Eliminare un criterio SSL da un proxy di destinazione

Console

gcloud

Utilizza questi comandi per rimuovere un criterio SSL da un bilanciatore del carico HTTPS o da un proxy SSL. Se non colleghi un criterio SSL diverso al proxy target, il bilanciatore del carico utilizza il criterio SSL predefinito. L'utilizzo del flag --clear-ssl-policy è equivalente alla sostituzione di un criterio SSL con il criterio SSL predefinito.

Per rimuovere un criterio SSL globale da un proxy SSL di destinazione:

gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
    --clear-ssl-policy

Per rimuovere un criterio SSL globale da un proxy HTTPS di destinazione globale:

gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
    --clear-ssl-policy

Per rimuovere un criterio SSL regionale da un proxy HTTPS di destinazione regionale:

gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \
    --clear-ssl-policy \
    --region REGION

Quando fornisci il flag --clear-ssl-policy nel comando di aggiornamento, il criterio SSL viene rimosso dal proxy.

Se non fornisci il flag --clear-ssl-policy o il flag --ssl-policy nell'aggiornamento del proxy di destinazione (ad esempio, quando aggiorni un certificato SSL), il criterio SSL rimane invariato. Il flag --ssl-policy è descritto in Allega un criterio SSL esistente a un proxy di destinazione esistente.

Gestire i criteri SSL

Se utilizzi vincoli personalizzati per limitare le funzionalità TLS, controlla manualmente la conformità a TLS nei criteri SSL preesistenti collegati ai proxy target SSL e HTTPS.

Utilizza i seguenti passaggi di esempio per trovare e aggiornare i criteri SSL che non soddisfano i tuoi obiettivi di sicurezza.

  • Per trovare tutti i progetti della tua organizzazione che dispongono di risorse dei criteri SSL:

    gcloud asset search-all-resources \
      --scope=organizations/ORGANIZATION_ID \
      --asset-types=compute.googleapis.com/SslPolicy
    
  • Per elencare tutti i criteri SSL globali e regionali in un progetto, utilizza il metodo sslPolicies.aggregatedList con il parametro di query includeAllScopes impostato su true. Quindi, utilizza il parametro di query filter per cercare i criteri SSL non in linea con i tuoi obiettivi di sicurezza.

    Ad esempio, per trovare i criteri SSL con una versione TLS inferiore a 1.2, utilizza il filtro minTlsVersion="TLS_1_0" OR minTlsVersion="TLS_1_1":

    curl \
    
      'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/sslPolicies?filter=minTlsVersion%3D%22TLS_1_0%22%20OR%20minTlsVersion%3D%22TLS_1_1%22&includeAllScopes=true&key=YOUR_API_KEY' \
      --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
      --header 'Accept: application/json' \
      --compressed
    

    Per ottenere la chiave API, consulta Eseguire l'autenticazione utilizzando le chiavi API. Per ottenere il token di accesso, utilizza il metodo projects.serviceAccounts.generateAccessToken.

    Aggiorna quindi i criteri SSL che non soddisfano il requisito TLS minimo. Ad esempio, per un criterio SSL globale, puoi utilizzare il seguente comando:

    gcloud compute ssl-policies update SSL_POLICY_NAME \
      --min-tls-version=TLS_1_2 \
      --global
    
  • Per elencare tutti i proxy SSL target globali e regionali di un progetto che non sono associati a un criterio SSL, esegui il seguente comando:

    curl \
    
      'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \
        --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        --header 'Accept: application/json' \
        --compressed
    

    Per associare un criterio SSL a questi proxy target, consulta Associare un criterio SSL esistente a un proxy target esistente.

  • Puoi anche utilizzare Cloud Asset Inventory o Google APIs Explorer per trovare e aggiornare le risorse che non soddisfano i tuoi requisiti di sicurezza.

    Ad esempio, per cercare un elenco di proxy SSL target non associati a un criterio SSL, puoi utilizzare i seguenti passaggi in Cloud Asset Inventory:

    1. Nella console Google Cloud, vai alla pagina Inventario asset.

      Vai ad Asset Inventory

    2. Fai clic su Query asset.

    3. Nel campo Modifica query, inserisci la seguente query e fai clic su Esegui.

      select * from `compute_googleapis_com_TargetSslProxy` where resource.data.sslPolicy IS NULL
      
    4. Per associare un criterio SSL a questi proxy target, consulta Associare un criterio SSL esistente a un proxy target esistente.

    5. Esegui la query in Cloud Asset Inventory finché non viene visualizzata una risposta vuota.

Limiti

Consulta quote e limiti dei bilanciatori del carico.

Riferimento API

Per descrizioni delle proprietà e dei metodi a tua disposizione quando lavori con i criteri SSL tramite l'API REST, consulta quanto segue:

Prodotto Documentazione dell'API
  • Bilanciatore del carico delle applicazioni esterno globale
  • Bilanciatore del carico delle applicazioni classico
  • Bilanciatore del carico delle applicazioni interno tra regioni
  • Bilanciatore del carico di rete proxy esterno globale
  • Bilanciatore del carico di rete proxy classico
sslPolicies
  • Bilanciatore del carico delle applicazioni esterno regionale
  • Bilanciatore del carico delle applicazioni interno regionale
regionSslPolicies

Riferimento per l'interfaccia a riga di comando gcloud

Per il riferimento a Google Cloud CLI, consulta quanto segue:

Passaggi successivi