Usar políticas de SSL para protocolos SSL y TLS

Las políticas de SSL especifican el conjunto de funciones de SSL que usan los Google Cloud balanceadores de carga al negociar el protocolo SSL con los clientes. En este documento, el término SSL hace referencia a los protocolos SSL y TLS.

Las políticas de SSL se admiten en los siguientes balanceadores de carga:

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

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

Puedes crear y gestionar políticas de SSL mediante la consola o la CLI de Google Cloud al crear un balanceador de carga HTTPS o SSL, o en cualquier momento después de crear el balanceador de carga. Google Cloud

Crear políticas de SSL

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

Crear una política de SSL con un perfil gestionado por Google

Consola

Política de SSL global

Para crear una política de SSL global con un perfil gestionado por Google, haz lo siguiente:

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

    Ir a políticas de SSL

  2. Haz clic en Crear política.

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

  4. Escribe un nombre.

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

  6. En Perfil, selecciona Compatible, Moderno o Restringido. Las funciones habilitadas y inhabilitadas del perfil se muestran en la parte derecha de la página.

  7. Si hay un balanceador de carga al que quieras 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, añade más objetivos.

  8. Haz clic en Crear.

Política de SSL regional

Para crear una política de SSL regional con un perfil gestionado por Google, haz lo siguiente:

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

    Ir a políticas de SSL

  2. Haz clic en Crear política.

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

  4. Escribe 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 funciones habilitadas y inhabilitadas del perfil se muestran en la parte derecha de la página.

  8. Si hay un balanceador de carga al que quieras 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, añade más objetivos.

  9. Haz clic en Crear.

gcloud

Política de SSL global

A continuación, se muestra la sintaxis general para crear una política de SSL global con un perfil gestionado por Google:

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

El siguiente comando 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

A continuación, se muestra la sintaxis general para crear una política de SSL regional con un perfil gestionado 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

El siguiente comando 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

Crear una política de SSL con un perfil personalizado

Consola

Política de SSL global

Para crear una política de SSL global con un perfil personalizado, sigue estos pasos:

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

    Ir a políticas de SSL

  2. Haz clic en Crear política.

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

  4. Escribe un nombre.

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

  6. En Perfil, selecciona Personalizado. Todas las funciones se muestran como Funciones inhabilitadas en la parte derecha de la página.

  7. En la lista Funciones, selecciona cada conjunto de cifrado que quieras habilitar. Los paquetes de cifrado que habilites se mostrarán en Funciones habilitadas.

  8. Si hay un balanceador de carga al que quieras 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, añade más objetivos.

  9. Haz clic en Crear.

Política de SSL regional

Para crear una política de SSL regional con un perfil personalizado, sigue estos pasos:

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

    Ir a políticas de SSL

  2. Haz clic en Crear política.

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

  4. Escribe un nombre.

  5. Selecciona una región.

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

  7. En Perfil, selecciona Personalizado. Todas las funciones se muestran como Funciones inhabilitadas en la parte derecha de la página.

  8. En la lista Funciones, selecciona cada conjunto de cifrado que quieras habilitar. Los paquetes de cifrado que habilites se mostrarán en Funciones habilitadas.

  9. Si hay un balanceador de carga al que quieras 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, añade más objetivos.

  10. Haz clic en Crear.

gcloud

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

Política de SSL global

A continuación, se muestra 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, una versión mínima de TLS 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

A continuación, se muestra 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, una versión mínima de TLS 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

Consola

En la Google Cloud consola, 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. El campo Ámbito indica si la política de SSL es global o regional.

gcloud

Para ver las políticas de SSL globales y regionales, ejecuta el siguiente comando:

  gcloud compute ssl-policies list

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

  gcloud compute ssl-policies list --global

Para ver solo las políticas de SSL regionales, ejecuta el siguiente comando:

  gcloud compute ssl-policies list --regions REGION

Listar las funciones disponibles en una política de SSL

Consola

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

    Ir a políticas de SSL

  2. Haga clic en el nombre de la política cuyas funciones quiera ver. Los conjuntos de cifrado habilitados e inhabilitados se muestran en la parte derecha 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 ver las funciones disponibles en las políticas de SSL regionales, sigue estos pasos:

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

Modificar políticas de SSL

Consola

Para modificar una política de SSL global o regional , sigue estos pasos:

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

    Ir a políticas de SSL

  2. Haga clic en el nombre de la política que quiera modificar.

  3. Haz clic en Editar.

  4. Haz los cambios que quieras.

  5. Haz clic en Guardar.

gcloud

Para modificar una política de SSL, indica una o todas las marcas correspondientes a los campos que quieras actualizar. Los campos no especificados no se actualizan.

Si actualizas las funciones, se eliminarán las que hayas habilitado anteriormente y se sustituirán 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

Crear un proxy de destino con una política de SSL

Consola

Puedes crear un proxy de destino mediante la Google Cloud consola al crear o actualizar el balanceador de carga, tal como se muestra en los siguientes documentos:

gcloud

Para crear un proxy SSL de destino con una política de SSL global, sigue estos pasos:

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

Para crear un proxy HTTPS de destino global con una política de SSL global, sigue estos pasos:

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

Para crear un proxy HTTPS de destino regional con una política de SSL regional, sigue estos pasos:

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

Asociar una política de SSL a un proxy de destino

Consola

gcloud

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

  • Para encontrar todos los proyectos de tu organización que tengan proxies SSL de destino, sigue estos pasos:

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

    gcloud asset search-all-resources \
        --scope=organizations/ORGANIZATION_ID \
        --asset-types=compute.googleapis.com/TargetHttpsProxy
    
  • Para mostrar todos los proxies SSL de destino globales de un proyecto, usa el método targetSslProxies.aggregatedList. A continuación, usa el parámetro de consulta filter para buscar proxies SSL de destino que no hagan referencia a una política 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 de un proyecto, usa el método targetHttpsProxies.aggregatedList con el parámetro de consulta includeAllScopes definido como true. A continuación, usa el parámetro de consulta filter para buscar proxies HTTPS de destino que no hagan referencia a una política 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
    
  • Para asociar una política de SSL global a un proxy SSL de destino, sigue estos pasos:

    gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • Para asociar una política de SSL global a un proxy HTTPS de destino global, sigue estos pasos:

    gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
        --ssl-policy SSL_POLICY_NAME
    
  • Para asociar una política de SSL regional a un proxy HTTPS de destino regional, sigue estos pasos:

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

Si no proporciona la marca --ssl-policy o la marca --clear-ssl-policy en una actualización de proxy de destino (por ejemplo, al actualizar un certificado SSL), la política de SSL no cambia. La marca --clear-ssl-policy se describe en el artículo Eliminar una política de SSL de un proxy de destino.

API

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

Para definir una política de SSL regional en un proxy de destino regional, usa el método regionTargetHttpsProxies.patch.

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

Consola

gcloud

Usa estos comandos para quitar una política de SSL de un proxy SSL o un proxy HTTPS. Si no asocias otra política de SSL al proxy de destino, el balanceador de carga usará la política de SSL predeterminada. Usar la marca --clear-ssl-policy equivale a sustituir una política de SSL por la política de SSL predeterminada.

Para quitar una política de SSL global de un proxy SSL de destino, sigue estos pasos:

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

Para quitar una política de SSL global de un proxy HTTPS de destino global, haz lo siguiente:

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

Para quitar una política de SSL regional de un proxy HTTPS de destino regional, sigue estos pasos:

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

Si proporciona la marca --clear-ssl-policy en el comando de actualización, la política de SSL se eliminará del proxy.

Si no proporciona la marca --clear-ssl-policy o la marca --ssl-policy en la actualización del proxy de destino (por ejemplo, al actualizar un certificado SSL), la política de SSL no se modificará. La marca --ssl-policy se describe en Adjuntar una política de SSL a un proxy de destino.

Gestionar políticas de SSL

Si usas restricciones personalizadas para limitar las funciones de TLS, comprueba manualmente el cumplimiento de TLS en las políticas de SSL preexistentes que estén asociadas a proxies SSL y HTTPS de destino.

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

  • Para encontrar todos los proyectos de tu organización que tengan recursos de políticas de SSL, sigue estos pasos:

    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 de un proyecto, usa el método sslPolicies.aggregatedList con el parámetro de consulta includeAllScopes definido como true. A continuación, usa el parámetro de consulta filter para buscar políticas SSL que no se ajusten a tus objetivos de seguridad.

    Por ejemplo, para buscar políticas de SSL con una versión de TLS inferior 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 Autenticar mediante claves de API. Para obtener tu token de acceso, usa el método projects.serviceAccounts.generateAccessToken.

    A continuación, actualiza las políticas de SSL que no cumplan 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 enumerar todos los proxies SSL de destino de un proyecto que no estén asociados a 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 Adjuntar una política de SSL a un proxy de destino.

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

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

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

      Ir a Inventario de recursos

    2. Haz clic en Consulta de recursos.

    3. En el campo Editar consulta, introduce 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 Adjuntar una política de SSL a un proxy de destino.

    5. Ejecuta la consulta en Inventario de Recursos de Cloud hasta que veas una respuesta vacía.

Límites

Consulta las cuotas y los límites de los balanceadores de carga.

Referencia de la API

Para ver las descripciones de las propiedades y los métodos que tiene a su disposición cuando trabaja con políticas de SSL a través de la API REST, consulte lo siguiente:

Producto Documentación de la API
  • Balanceador de carga de aplicación externo global
  • Balanceador de carga de aplicación clásico
  • Balanceador de carga de aplicación interno entre regiones
  • Balanceador de carga de red con proxy externo global
  • Balanceador de carga de red de proxy clásico
sslPolicies
  • Balanceador de carga de aplicación externo regional
  • Balanceador de carga de aplicación interno regional
regionSslPolicies

Referencia de CLI de gcloud

Para consultar la referencia de Google Cloud CLI, consulta lo siguiente:

Siguientes pasos