Restringir versiones de TLS
En esta página se describe cómo puede impedir el acceso a los recursos Google Cloud denegando las solicitudes realizadas con Seguridad en la capa de transporte (TLS) 1.0 o 1.1.
Información general
Google Cloud admite varias versiones del protocolo TLS. Para cumplir los requisitos, puede que quieras denegar las solicitudes de handshake de los clientes que usen versiones anteriores de TLS. Para ello, puedes usar la
gcp.restrictTLSVersion
restricción de política de organización.
La restricción gcp.restrictTLSVersion
se puede aplicar a organizaciones, carpetas o proyectos de la jerarquía de recursos.
La restricción usa una lista de denegación, que deniega valores explícitos y permite todos los demás. Se producirá un error si intentas usar una lista de permitidos.
Debido al comportamiento de la evaluación de la jerarquía de políticas de organización, la restricción de la versión de TLS se aplica al nodo de recurso especificado y a todos sus elementos secundarios. Por ejemplo, si deniegas la versión 1.0 de TLS en una organización, también se denegará en todas las carpetas y proyectos (elementos secundarios) que dependan de esa organización.
Para anular la restricción de versiones de TLS heredada, actualiza la política de organización en un recurso secundario. Por ejemplo, si la política de tu organización deniega TLS 1.0 a nivel de organización, puedes quitar la restricción de una carpeta secundaria definiendo una política de organización independiente en esa carpeta. Si la carpeta tiene elementos secundarios, la política de la carpeta también se aplicará a cada recurso secundario debido a la herencia de políticas.
Antes de empezar
- Para definir, cambiar o eliminar una política de organización, primero debes tener asignado el rol de gestión de identidades y accesos (IAM) Administrador de políticas de organización (
roles/orgpolicy.policyAdmin
).
Restringir una versión de TLS
Para restringir una o varias versiones de TLS, sigue estos pasos:
Consola
Abre la página Políticas de la organización en la consola de Google Cloud .
Selecciona el selector de proyectos en la parte superior de la página.
En el selector de proyectos, selecciona el recurso para el que quieras definir la política de la organización.
Selecciona la restricción Restringir versión de TLS en la lista de la página Políticas de organización.
Para actualizar la política de la organización de este recurso, haz clic en Editar.
En la página Editar, selecciona Personalizar.
En Implementación de la política, selecciona una opción:
Para combinar y evaluar las políticas de tu organización, selecciona Combinar con la principal. Para obtener más información sobre la herencia y la jerarquía de recursos, consulta Información sobre la evaluación jerárquica.
Para anular las políticas heredadas de un recurso superior, seleccione Reemplazar.
Haz clic en Añadir regla.
En Valores de la política, el valor predeterminado es Denegar todo. Selecciona Personalizar.
En Policy type (Tipo de política), selecciona Deny (Denegar).
En Valores personalizados, introduce una versión de TLS que quieras denegar. Los siguientes valores son valores personalizados válidos:
TLS_VERSION_1
para TLS 1.0TLS_VERSION_1_1
para TLS 1.1
Si vas a restringir más de una versión de TLS, haz clic en Añadir valor e introduce el valor en el campo adicional.
Para terminar y aplicar la política de la organización, haz clic en Guardar.
gcloud
Usa el comando gcloud org-policies set-policy
para definir una política de la organización en el recurso:
gcloud org-policies set-policy POLICY_PATH
POLICY_PATH es la ruta completa al archivo de la política de la organización, que debería tener el siguiente aspecto si se usa el formato YAML:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
Sustitúyelo por lo siguiente:
RESOURCE_TYPE
esorganizations
,folders
oprojects
.RESOURCE_ID
es el ID de tu organización, carpeta, proyecto o número de proyecto, según el tipo de recurso especificado enRESOURCE_TYPE
.
Ejecuta el siguiente comando para verificar que se ha aplicado tu política:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
Sustitúyelo por lo siguiente:
RESOURCE_TYPE
esorganization
,folder
oproject
.RESOURCE_ID
es el ID de tu organización, carpeta, proyecto o número de proyecto, según el tipo de recurso especificado enRESOURCE_TYPE
.
Probar la política
La restricción de la política de restricción de versiones de TLS se puede probar en cualquier servicio incluido en el ámbito. El siguiente comando curl de ejemplo valida la restricción de la versión de TLS de un segmento de 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
No debe haber ningún espacio entre --tlsv
y el valor. Por ejemplo: --tlsv1.1
Sustitúyelo por lo siguiente:
GCS_BUCKET_NAME
es el nombre de un segmento de Cloud Storage de tu proyecto, comomybucketname
.TLS_VERSION
es una versión de TLS como1.0
o1.1
denegada en la política configurada.
En el siguiente ejemplo de solicitud curl
se muestra GCS_BUCKET_NAME definido como mybucketname
y TLS_VERSION definido como 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
Si la política de organización está configurada para restringir TLS_VERSION_X
, se producirá un error en cualquier intento de acceder a recursos con TLS_VERSION_X
en el proyecto restringido por la política en este comando de ejemplo. Se devuelve un mensaje de error que describe el motivo de este fallo.
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`
Esta salida incluye los siguientes valores:
PROJECT_NUMBER
: el número de proyecto que aloja el recurso al que se hace referencia en el comando anterior.SERVICE_NAME
: el nombre del servicio incluido bloqueado por la política de restricción de TLS.
Servicios admitidos
La restricción de la versión de TLS es compatible con cualquier Google Cloud API de recursos que tenga un encabezado firmado por Google Front End (GFE).
Servicios no admitidos
La restricción de la política de organización de restricción de versiones de TLS no se aplica a los siguientes servicios:
- Apigee
- App Engine (
*.appspot.com
) - Funciones de Cloud Run (
*.cloudfunctions.net
) - Cloud Run (
*.run.app
) - Private Service Connect
- Dominios personalizados
Para restringir las versiones de TLS de estos servicios, usa Cloud Load Balancing junto con políticas de SSL. También puedes usar la constraints/compute.requireSslPolicy
restricción
predefinida junto con restricciones personalizadas para las políticas de SSL con el fin de aplicar restricciones de versión de TLS y de paquete de cifrado a tus balanceadores de carga.
Siguientes pasos
- Consulta qué productos son compatibles con cada paquete de controles.