En esta página, se describe cómo habilitar la inspección de seguridad de la capa de transporte (TLS) para tu instancia de Proxy web seguro. Secure Web Proxy ofrece un servicio de inspección de TLS que te permite interceptar el tráfico de TLS, inspeccionar la solicitud encriptada y aplicar políticas de seguridad. Para obtener más información sobre la inspección de TLS, consulta Descripción general de la inspección de TLS.
Antes de comenzar
Antes de configurar tu instancia de Proxy web seguro para la inspección de TLS, completa las tareas de las siguientes secciones.
Habilita Certificate Authority Service
El proxy web seguro usa el servicio de la autoridad certificadora para generar los certificados que se usan para la inspección de TLS.
Para habilitar el servicio de CA, usa el siguiente comando:
gcloud services enable privateca.googleapis.com
Crear grupo de CA
Un grupo de autoridades certificadoras (AC) es un conjunto de varias AC con una política común de emisión de certificados y de administración de identidades y accesos (IAM). Los grupos de AC ofrecen la capacidad de rotar cadenas de confianza sin interrupciones ni tiempos de inactividad en las cargas útiles.
Debes crear un grupo de AC antes de poder usar el servicio de AC para crear una AC. En esta sección, se explican los permisos que necesitas para completar esta tarea y, luego, se describe cómo crear un grupo de AC.
Para generar certificados, la inspección de TLS usa una cuenta de servicio independiente para cada proyecto llamada
service-[PROJECT_NUMBER]@gcp-sa-certmanager.iam.gserviceaccount.com
.
Asegúrate de haber otorgado permisos a esta cuenta de servicio para usar tu grupo de AC. Si se revoca este acceso, la inspección de TLS dejará de funcionar.
Para recuperar el PROJECT_NUMBER
con el PROJECT_ID
del proyecto del grupo de AC, usa el siguiente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
Para crear el grupo, usa el comando gcloud privateca pools create
y especifica el ID del grupo subordinado, el nivel, el ID del proyecto y la ubicación.
gcloud privateca pools create SUBORDINATE_POOL_ID \ --tier=TIER \ --project=PROJECT_ID \ --location=REGION
Reemplaza lo siguiente:
SUBORDINATE_POOL_ID
: Es el nombre del grupo de AC.TIER
: Nivel de AC,devops
oenterprise
Te recomendamos que crees el grupo de AC en el nivel
devops
porque no es necesario hacer un seguimiento de los certificados emitidos de forma individual.PROJECT_ID
: Es el ID del proyecto del grupo de AC.REGION
: Es la ubicación del grupo de AC.
Crea un grupo de AC subordinado
Si tienes varias situaciones de emisión de certificados, puedes crear una AC subordinada para cada una de ellas. Puedes crear una AC subordinada en un grupo de AC, y la AC raíz firma todas las AC de ese grupo. Estos certificados se usan para firmar los certificados de servidor que se generan para la inspección de TLS.
Para crear un grupo de AC subordinado, usa uno de los siguientes métodos.
Crea un grupo de AC subordinada con una AC raíz existente almacenada en Certificate Authority Service
Para generar una AC subordinada, haz lo siguiente:
Crea un grupo de AC subordinado con una AC raíz existente que se encuentra de forma externa
Para generar una AC subordinada, haz lo siguiente:
Crea una AC raíz:
Si no existe una AC raíz, puedes crear una dentro del servicio de AC.
Para crear una AC raíz, haz lo siguiente:
- Crea una CA raíz
- Crea un grupo de AC subordinada con una AC raíz existente almacenada en el servicio de AC
Crea una cuenta de servicio
Una cuenta de servicio ayuda a proporcionar los permisos necesarios para la inspección de TLS sin comprometer la seguridad de tus cuentas de usuario ni la instancia del proxy web seguro.
Si no tienes una cuenta de servicio, debes crear una y, luego, otorgarle los permisos necesarios.
Crea una cuenta de servicio.
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_ID
En respuesta, Google Cloud CLI crea una cuenta de servicio llamada
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com
.Para recuperar el
PROJECT_NUMBER
con elPROJECT_ID
del proyecto del grupo de AC, usa el siguiente comando:gcloud projects describe PROJECT_ID --format="value(projectNumber)"
Para la cuenta de servicio que creaste, otorga permisos para generar certificados con tu grupo de AC.
gcloud privateca pools add-iam-policy-binding CA_POOL \ --member='serviceAccount:SERVICE_ACCOUNT' \ --role='roles/privateca.certificateManager' \ --location='REGION'
Configura el Proxy web seguro para la inspección de TLS
Puedes continuar con las tareas de esta sección solo después de completar las tareas previas que se indican en la sección Antes de comenzar.
Para configurar la inspección de TLS, completa las tareas de las siguientes secciones.
Crea una política de inspección de TLS
Console
En la consola de Google Cloud, ve a la página Políticas de inspección de TLS.
En el menú de selección de proyectos, selecciona tu organización.
Haz clic en Crear política de inspección de TLS.
En Nombre, ingresa un nombre.
Opcional: en el campo Descripción, ingresa una descripción.
En la lista Región, selecciona la región para la que deseas crear la política de inspección de TLS.
En la lista Grupo de CA, selecciona el grupo de CA desde el que deseas crear los certificados.
Si no configuraste un grupo de AC, haz clic en Nuevo grupo y sigue las instrucciones en Crea un grupo de AC.
Opcional: En la lista Versión mínima de TLS, selecciona la versión mínima de TLS que admite la política.
En Configuración de confianza, selecciona una de las siguientes opciones:
- Solo AC públicas: Selecciona esta opción si quieres confiar en los servidores con certificados firmados de forma pública.
Solo AC privadas: Selecciona esta opción si quieres confiar en los servidores con certificados firmados de forma privada.
En la lista Configuración de confianza privada, selecciona la configuración de confianza con el almacén de confianza configurado que se usará para certificados de servidor ascendentes de confianza. Para obtener más información sobre cómo crear una configuración de confianza, consulta Crea una configuración de confianza.
AC públicas y privadas: Selecciona esta opción si deseas usar AC públicas y privadas.
Opcional: En la lista Perfil del paquete de Cisco, selecciona el tipo de perfil TLS. Puedes elegir uno de los siguientes valores:
- Compatible: permite que el conjunto más amplio de clientes, incluidos aquellos que solo admitan características de TLS desactualizadas, para negociar TLS.
- Moderno: compatible con un amplio conjunto de funciones de TLS, lo que permite que los clientes modernos negocien TLS.
- Restringido: admite un conjunto reducido de funciones SSL destinadas a acatar los requisitos de cumplimiento más estrictos.
Personalizado: te permite seleccionar las funciones TLS de forma individual.
En la lista Conjuntos de algoritmos de cifrado, selecciona los conjuntos de algoritmos de cifrado compatibles con el perfil personalizado.
Haz clic en Crear.
gcloud
Crea el archivo
TLS_INSPECTION_FILE.yaml
. ReemplazaTLS_INSPECTION_FILE
por el nombre de archivo requerido.Agrega el siguiente código al archivo YAML para configurar la TlsInspectionPolicy requerida:
name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyectoREGION
: Es la región en la que se creará la política.TLS_INSPECTION_NAME
: Es el nombre de la política de inspección de TLS del Proxy web seguro.CA_POOL
: Es el nombre del grupo de AC desde el que se crearán los certificados.
El grupo de CA debe existir dentro de la misma región.
Importa la política de inspección de TLS
Importa la política de inspección de TLS que creaste en el paso anterior:
gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
--source=TLS_INSPECTION_FILE.yaml \
--location=REGION
Agrega la política de inspección de TLS a la política de seguridad
Console
Crea la política de proxy web
En la consola de Google Cloud, ve a la página Seguridad de red.
Haz clic en Proxy web seguro.
Haz clic en la pestaña Políticas.
Haz clic en Crear una política.
Ingresa un nombre para la política que deseas crear, como
myswppolicy
.Ingresa una descripción de la política, como
My new swp policy
.En la lista Regiones, selecciona la región en la que deseas crear la política de Proxy web seguro.
Para configurar la inspección de TLS, selecciona Configura la inspección de TLS.
En la lista Política de inspección de TLS, selecciona la política de inspección de TLS que creaste.
Si deseas crear reglas para tu política, haz clic en Continuar y, luego, en Agregar regla. Para obtener más información, consulta Cómo crear reglas del Proxy web seguro.
Haz clic en Crear.
Crea reglas del Proxy web seguro
En la consola de Google Cloud, ve a la página Seguridad de red.
Haz clic en Proxy web seguro.
En el menú del selector de proyectos, selecciona el ID de tu organización o la carpeta que contenga la política.
Haz clic en el nombre de la política.
Haz clic en Agregar regla.
Propaga los campos de la regla:
- Nombre
- Descripción
- Estado
- Prioridad: El orden de evaluación numérico de la regla. Las reglas se evalúan de mayor a menor prioridad, en la que
0
es la prioridad más alta. - En la sección Acción, especifica si se permiten las conexiones que coinciden con la regla (Permitir) o si se rechazan (Rechazar).
- En la sección Coincidencia de sesión, especifica los criterios para que coincida con la sesión. Para obtener más información sobre la sintaxis de
SessionMatcher
, consulta la referencia del lenguaje del comparador de CEL. - Para habilitar la inspección de TLS, selecciona Habilitar inspección de TLS.
- En la sección Coincidencia de aplicaciones, especifica los criterios para que coincida con la solicitud. Si no habilitas la regla para la inspección de TLS, la solicitud solo puede coincidir con el tráfico HTTP.
- Haz clic en Crear.
Haz clic en Agregar regla para agregar otra regla.
Haz clic en Crear para crear la política.
Configura un proxy web
En la consola de Google Cloud, ve a la página Seguridad de red.
Haz clic en Proxy web seguro.
Haz clic en la pestaña Proxy web.
Haz clic en Configurar un proxy web.
Ingresa un nombre para el proxy web que deseas crear, como
myswp
.Ingresa una descripción del proxy web, como
My new swp
.En la lista Regiones, selecciona la región en la que deseas crear el proxy web.
En la lista Red, selecciona la red en la que deseas crear el proxy web.
En la lista Subred, selecciona la subred en la que deseas crear el proxy web.
Ingresa la dirección IP del proxy web.
En la lista Certificado, selecciona el certificado que deseas usar para crear el proxy web.
En la lista Política, selecciona la política que creaste para asociar el proxy web.
Haz clic en Crear.
Cloud Shell
Crea el archivo
policy.yaml
:description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1 tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
Crea la política del Proxy web seguro:
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml --location=REGION
Crea el archivo
rule.yaml
:name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-example-com description: Allow example.com enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'example.com' applicationMatcher: request.path.contains('index.html') tlsInspectionEnabled: true
Crea la regla de la política de seguridad:
gcloud network-security gateway-security-policies rules import allow-example-com \ --source=rule.yaml \ --location=REGION \ --gateway-security-policy=policy1
Para adjuntar una política de inspección de TLS a una política de seguridad existente, crea el archivo
POLICY_FILE
.yaml. ReemplazaPOLICY_FILE
por el nombre de tu archivo.description: My Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME