Usa políticas de SSL para los protocolos SSL y TLS

Las políticas de SSL especifican el conjunto de características de SSL que los balanceadores de cargas de Google Cloud usan cuando negocian SSL con los clientes. En este documento, el término SSL hace referencia a los protocolos SSL y TLS.

Las políticas de SSL son compatibles con los siguientes balanceadores de cargas:

  • Políticas de SSL globales
    • Balanceador de cargas de aplicaciones externo global
    • Balanceador de cargas de aplicaciones clásico
    • Balanceador de cargas de red del proxy externo (con un proxy SSL de destino)
    • Balanceador de cargas de aplicaciones interno entre regiones
  • Políticas de SSL regionales
    • Balanceador de cargas de aplicaciones externo regional
    • Balanceador de cargas de aplicaciones interno regional

Para obtener más información sobre cómo funcionan las políticas de SSL, consulta Descripción general de las políticas de SSL.

Puedes crear y administrar políticas de SSL con la consola de Google Cloud o Google Cloud CLI cuando creas un balanceador de cargas HTTPS o SSL o en cualquier momento después de crear el balanceador de cargas.

Crea políticas de SSL

Puedes crear políticas de SSL con los perfiles administrados por Google o con un perfil personalizado.

Crea una política de SSL con un perfil administrado por Google

Console

Política de SSL global

Si quieres crear una política de SSL global con un perfil administrado por Google, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Políticas de SSL.

    Ir a Políticas de SSL

  2. Haga clic en Crear política.

  3. En Política de SSL regional, haz clic en el botón Crear junto a ella. Aparecerá la página Crear política.

  4. Ingresa un Nombre.

  5. Selecciona una Versión mínima de TLS.

  6. En Perfil, selecciona Compatible, Moderno o Restringido. Las características habilitadas y las características inhabilitadas para el perfil se muestran a la derecha de la página.

  7. Si hay un balanceador de cargas al que deseas adjuntar la política, haz clic en Aplicar a los destinos y selecciona una regla de reenvío como destino de la política de SSL. Si es necesario, agrega más destinos.

  8. Haz clic en Crear.

Política de SSL regional

Si quieres crear una política de SSL regional con un perfil administrado por Google, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Políticas de SSL.

    Ir a Políticas de SSL

  2. Haga clic en Crear política.

  3. En Política de SSL regional, haz clic en el botón Crear junto a ella. Aparecerá la página Crear política.

  4. Ingresa un Nombre.

  5. Selecciona una Región.

  6. Selecciona una Versión mínima de TLS.

  7. En Perfil, selecciona Compatible, Moderno o Restringido. Las características habilitadas y las características inhabilitadas para el perfil se muestran a la derecha de la página.

  8. Si hay un balanceador de cargas al que deseas adjuntar la política, haz clic en Aplicar a los destinos y selecciona una regla de reenvío como destino de la política de SSL. Si es necesario, agrega más destinos.

  9. Haz clic en Crear.

gcloud

Política de SSL global

La siguiente es la sintaxis general para crear una política de SSL global con un perfil administrado por Google:

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

Con el siguiente comando, se crea una política de SSL global con el perfil MODERN:

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

Política de SSL regional

La siguiente es la sintaxis general para crear una política de SSL regional con un perfil administrado por Google:

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

Con el siguiente comando, se crea una política de SSL regional con el perfil COMPATIBLE:

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

Crea una política de SSL con un perfil personalizado

Console

Política de SSL global

Si quieres crear una política de SSL global con un perfil personalizado, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Políticas de SSL.

    Ir a Políticas de SSL

  2. Haga clic en Crear política.

  3. En Política de SSL regional, haz clic en el botón Crear junto a ella. Aparecerá la página Crear política.

  4. Ingresa un Nombre.

  5. Selecciona una Versión mínima de TLS.

  6. En Perfil, selecciona Personalizado. Todas las características se muestran como Características inhabilitadas a la derecha de la página.

  7. En la lista de Características, selecciona cada conjunto de cifrado que desees habilitar. Los conjuntos de cifrado que habilitas se enumeran como Características habilitadas.

  8. Si hay un balanceador de cargas al que deseas adjuntar la política, haz clic en Aplicar a los destinos y selecciona una regla de reenvío como destino de la política de SSL. Si es necesario, agrega más destinos.

  9. Haz clic en Crear.

Política de SSL regional

Si quieres crear una política de SSL regional con un perfil personalizado, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Políticas de SSL.

    Ir a Políticas de SSL

  2. Haga clic en Crear política.

  3. En Política de SSL regional, haz clic en el botón Crear junto a ella. Aparecerá la página Crear política.

  4. Ingresa un Nombre.

  5. Selecciona una Región.

  6. Selecciona una Versión mínima de TLS.

  7. En Perfil, selecciona Personalizado. Todas las características se muestran como Características inhabilitadas a la derecha de la página.

  8. En la lista de Características, selecciona cada conjunto de cifrado que desees habilitar. Los conjuntos de cifrado que habilitas se enumeran como Características habilitadas.

  9. Si hay un balanceador de cargas al que deseas adjuntar la política, haz clic en Aplicar a los destinos y selecciona una regla de reenvío como destino de la política de SSL. Si es necesario, agrega más destinos.

  10. Haz clic en Crear.

gcloud

Cuando creas una política de SSL con el perfil CUSTOM, solo se admiten las características que especificas en el comando create. No se admiten otras características.

Política de SSL global

La siguiente es la sintaxis general para crear una política de SSL global con un perfil personalizado:

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]

En el siguiente ejemplo, se crea una política de SSL global con el perfil CUSTOM y una versión mínima de TLS de 1.2 y las funciones TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 y 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

Política de SSL regional

La siguiente es la sintaxis general para crear una política de SSL regional con un perfil personalizado:

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

En el siguiente ejemplo, se crea una política de SSL regional con el perfil CUSTOM y una versión mínima de TLS de 1.2 y las funciones TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 y 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

Mostrar lista de políticas de SSL

Console

En la consola de Google Cloud, ve a la página Políticas de SSL.

Ir a Políticas de SSL

Puedes ver una lista de todas las políticas de SSL disponibles. En el campo Alcance, se indica si la política de SSL es global o regional.

gcloud

Para enumerar las políticas de SSL globales y regionales, ejecuta lo siguiente:

  gcloud compute ssl-policies list

Para enumerar solo las políticas de SSL globales, ejecuta lo siguiente:

  gcloud compute ssl-policies list --global

Para enumerar solo las políticas de SSL regionales, ejecuta lo siguiente:

  gcloud compute ssl-policies list --regions REGION

Enumera las funciones disponibles en una política de SSL

Console

  1. En la consola de Google Cloud, ve a la página Políticas de SSL.

    Ir a Políticas de SSL

  2. Haz clic en el nombre de la política cuyas características quieres ver. Los conjuntos de cifrado inhabilitados y habilitados se muestran en el lado derecho de la página.

gcloud

Para enumerar las funciones disponibles en las políticas de SSL globales, haz lo siguiente:

gcloud compute ssl-policies list-available-features

Para enumerar las funciones disponibles en las políticas de SSL regionales, haz lo siguiente:

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

Modifica las políticas de SSL

Console

Para modificar una política de SSL global o regional, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Políticas de SSL.

    Ir a Políticas de SSL

  2. Haz clic en el nombre de la política que quieres modificar.

  3. Haz clic en Editar.

  4. Aplica los cambios que quieras.

  5. Haz clic en Guardar.

gcloud

Si quieres modificar una política de SSL existente, debes pasar cualquiera o todas las marcas correspondientes a los campos que quieres actualizar. Los campos sin especificar no se actualizan.

Si actualizas las características, las que se habilitaron con anterioridad se borran y se reemplazan por las nuevas que especifiques.

Políticas de SSL globales

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

Políticas de SSL regionales

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 de destino con una política de SSL

Console

Puedes crear un proxy de destino con la consola de Google Cloud cuando creas o actualizas el balanceador de cargas, como se muestra en los siguientes documentos:

gcloud

Si quieres crear un proxy SSL de destino con una política de SSL global:

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

Si quieres crear un proxy HTTPS de destino global con una política de SSL global:

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

Si quieres crear un proxy HTTPS de destino regional con una política de SSL regional:

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

Adjunta una política de SSL existente a un proxy de destino existente

Console

gcloud

Usa estos comandos para adjuntar una política de SSL existente a un proxy SSL o HTTPS.

  • Para buscar todos los proyectos de tu organización que tengan proxies SSL de destino, haz lo siguiente:

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetSslProxy
    
  • Para buscar todos los proyectos de tu organización que tengan proxies HTTPS de destino, haz lo siguiente:

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetHttpsProxy
    
  • Para enumerar todos los proxies SSL de destino globales en un proyecto, usa el método targetSslProxies.aggregatedList. Luego, usa el parámetro de consulta filter para buscar proxies SSL de destino que no hacen referencia a una política de 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
    
  • Para enumerar todos los proxies HTTPS de destino globales y regionales en un proyecto, usa el método targetHttpsProxies.aggregatedList con el parámetro de consulta includeAllScopes configurado como true. Luego, usa el parámetro de consulta filter para buscar proxies HTTPS de destino que no hagan referencia a una política de 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
    
  • Si quieres conectar una política de SSL global existente a un proxy SSL de destino:

    gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • Usa este comando para adjuntar una política de SSL global existente a un proxy HTTPS de destino global:

    gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • Usa este comando para adjuntar una política de SSL regional existente a un proxy HTTPS de destino regional:

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

Si no proporcionas las marcas --ssl-policy o --clear-ssl-policy en una actualización de proxy de destino (por ejemplo, cuando actualizas un certificado SSL), la política de SSL no se modifica. La marca --clear-ssl-policy se describe en Borra una política de SSL de un proxy de destino.

API

Si quieres establecer una política de SSL global para un proxy de destino global, usa el método targetHttpsProxies.patch.

Si quieres establecer una política de SSL regional para un proxy de destino regional, usa el método regionTargetHttpsProxies.patch.

Borra una política de SSL de un proxy de destino

Console

gcloud

Usa estos comandos para quitar una política de SSL de un proxy SSL o proxy HTTPS. Si no conectas una política de SSL diferente al proxy de destino, el balanceador de cargas usará la política de SSL predeterminada. El uso de la marca --clear-ssl-policy equivale a reemplazar una política de SSL por la política de SSL predeterminada.

Quita una política de SSL global de un proxy SSL de destino:

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

Usa lo siguiente para quitar una política de SSL global de un proxy HTTPS de destino global:

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

Usa este comando para quitar una política de SSL regional de un proxy HTTPS de destino regional:

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

Cuando proporcionas la marca --clear-ssl-policy en el comando update, la política de SSL se quita del proxy.

Si no proporcionas las marcas --clear-ssl-policy o --ssl-policy en la actualización de proxy de destino (por ejemplo, cuando actualizas un certificado SSL), la política de SSL no se modifica. La marca --ssl-policy se describe en Conecta una política de SSL existente a un proxy de destino existente.

Administra las políticas de SSL

Si usas restricciones personalizadas para restringir las capacidades de TLS, verifica de forma manual el cumplimiento de TLS en las políticas de SSL preexistentes que están adjuntas a los proxies SSL y HTTPS de destino.

Sigue estos pasos de muestra para buscar y actualizar las políticas de SSL que no cumplan con tus objetivos de seguridad.

  • Para buscar todos los proyectos de tu organización que tengan recursos de políticas de SSL, haz lo siguiente:

    gcloud asset search-all-resources \
      --scope=organizations/ORGANIZATION_ID \
      --asset-types=compute.googleapis.com/SslPolicy
    
  • Para enumerar todas las políticas de SSL globales y regionales en un proyecto, usa el método sslPolicies.aggregatedList con el parámetro de consulta includeAllScopes establecido en true. Luego, usa el parámetro de consulta filter para buscar políticas de SSL que no se alineen con tus objetivos de seguridad.

    Por ejemplo, para encontrar políticas de SSL con una versión de TLS anterior a 1.2, usa el 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
    

    Para obtener tu clave de API, consulta Autentica mediante claves de API. Para obtener tu token de acceso, usa el método projects.serviceAccounts.generateAccessToken.

    Luego, actualiza las políticas de SSL que no cumplan con tu requisito mínimo de TLS.

    Para actualizar una política de SSL global, puedes usar el siguiente comando:

    gcloud compute ssl-policies update SSL_POLICY_NAME \
      --min-tls-version=TLS_1_2 \
      --global
    

    Para actualizar una política de SSL regional, puedes usar el siguiente comando:

    gcloud compute ssl-policies update SSL_POLICY_NAME \
      --min-tls-version=TLS_1_2 \
      --region REGION
    

  • Para obtener una lista de todos los proxies SSL de destino en un proyecto que no están asociados con una política de SSL, ejecuta el siguiente 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
    

    Para adjuntar una política de SSL a estos proxies de destino, consulta Conecta una política de SSL existente a un proxy de destino existente.

  • También puedes usar Cloud Asset Inventory o el Explorador de APIs de Google para buscar y actualizar los recursos que no cumplan con tus requisitos de seguridad.

    Por ejemplo, para buscar una lista de proxies SSL de destino que no estén asociados con una política de SSL, puedes seguir los pasos que se indican a continuación en Cloud Asset Inventory:

    1. En la consola de Google Cloud, ve a la página Inventario de activos.

      Ve al Inventario de recursos.

    2. Haz clic en Consulta de recursos.

    3. En el campo Editar consulta, ingresa la siguiente consulta y haz clic en Ejecutar.

      select * from `compute_googleapis_com_TargetSslProxy` where resource.data.sslPolicy IS NULL
      
    4. Para adjuntar una política de SSL a estos proxies de destino, consulta Conecta una política de SSL existente a un proxy de destino existente.

    5. Ejecuta la consulta en Cloud Asset Inventory hasta que veas una respuesta vacía.

Límites

Consulta Cuotas y límites del balanceador de cargas.

Referencia de la API

Para obtener descripciones de las propiedades y los métodos disponibles cuando trabajas con políticas de SSL a través de la API de REST, consulta lo siguiente:

Producto Documentación de la API
  • Balanceador de cargas de aplicaciones externo global
  • Balanceador de cargas de aplicaciones clásico
  • Balanceador de cargas de aplicaciones interno entre regiones
  • Balanceador de cargas de red del proxy externo global
  • Balanceador de cargas de red de proxy clásico
sslPolicies
  • Balanceador de cargas de aplicaciones externo regional
  • Balanceador de cargas de aplicaciones interno regional
regionSslPolicies

Referencia de la CLI de gcloud

Para obtener información sobre Google Cloud CLI, consulta lo siguiente:

¿Qué sigue?