En esta página, se describe cómo habilitar la inspección de seguridad de la capa de transporte (TLS) para tu instancia de Secure Web Proxy. 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 Secure Web Proxy para la inspección de TLS, completa las tareas de las siguientes secciones.
Habilita Certificate Authority Service
Secure Web Proxy usa Certificate Authority Service 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 autoridad certificadora (AC) es un conjunto de varias AC con una política común de emisión de certificados y la política de Identity and Access Management (IAM). Los grupos de CA ofrecen la capacidad de rotar cadenas de confianza sin interrupciones ni tiempos de inactividad en las cargas útiles.
Debes crear un grupo de CA antes de poder usar el servicio de CA para crear una CA. En esta sección, se te guiará por los permisos que necesitas para completar esta tarea y, luego, se describe cómo crear un grupo de CA.
Para generar certificados, la inspección de TLS usa una cuenta de servicio independiente para cada proyecto llamada
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.
Asegúrate de haber otorgado permisos a esta cuenta de servicio para usar tu grupo de CA. 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 CA, usa el siguiente comando:
gcloud projects describe <var>PROJECT_ID</var>
--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 CATIER: Nivel de CA, ya seadevopsoenterpriseTe recomendamos que crees el grupo de CA en el nivel
devops, ya que no es necesario hacer un seguimiento de los certificados emitidos de forma individual.PROJECT_ID: Es el ID del proyecto del grupo de CAREGION: Es la ubicación del grupo de CA
Crea un grupo de CA subordinado
Si tienes varias situaciones de emisión de certificados, puedes crear una AC subordinada para cada una de esas situaciones. Puedes crear una CA subordinada en un grupo de CA, y la CA raíz firma todas las CA en ese grupo de CA. Estos certificados se usan para firmar certificados de servidor que se generan para la inspección de TLS.
Para crear un grupo de CA subordinado, usa uno de los siguientes métodos.
Crea un grupo de CA subordinado con una CA raíz existente almacenada en Certificate Authority Service
Para generar una CA subordinada, haz lo siguiente:
Crea un grupo de CA subordinado con una CA raíz existente que se mantiene de forma externa
Para generar una CA subordinada, haz lo siguiente:
Crea una CA raíz
Si no existe una CA raíz, puedes crear una dentro del servicio de CA.
Para crear una CA raíz, haz lo siguiente:
- Crea una CA raíz
- Crea un grupo de CA subordinado con una CA raíz existente almacenada en el servicio de CA
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 de Secure Web Proxy.
Si no tienes una cuenta de servicio, debes crear una y, luego, otorgar los permisos necesarios a esa cuenta de servicio.
Crea una cuenta de servicio.
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_IDEn respuesta, Google Cloud CLI crea una cuenta de servicio llamada
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.Para recuperar el
PROJECT_NUMBERcon elPROJECT_IDdel proyecto del grupo de CA, 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 CA.
gcloud privateca pools add-iam-policy-binding CA_POOL \ --member='serviceAccount:SERVICE_ACCOUNT' \ --role='roles/privateca.certificateManager' \ --location='REGION'
Configura Secure Web Proxy para la inspección de TLS
Solo puedes continuar con las tareas de esta sección después de completar las tareas de requisitos previos 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 Google Cloud consola de, 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 el campo Nombre, ingresa un nombre para la política.
Opcional: En el campo Descripción, ingresa una descripción para la política.
En la lista Región, selecciona la región en la que deseas crear la política.
En la lista Grupo de CA, selecciona el grupo de CA desde el que deseas crear los certificados.
Si no configuraste un grupo de CA, haz clic en Nuevo grupo y sigue las instrucciones de la sección Crea un grupo de CA.
Haz clic en Crear.
gcloud
Crea el archivo
TLS_INSPECTION_FILE.yaml. ReemplazaTLS_INSPECTION_FILEpor el nombre de archivo requerido.Agrega el siguiente código al archivo YAML para configurar el TlsInspectionPolicy requerido:
name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOLReemplaza lo siguiente:
PROJECT_ID: El ID del proyectoREGION: La región en la que se creará la políticaTLS_INSPECTION_NAME: El nombre de la política de inspección de TLS de Secure Web ProxyCA_POOL: El nombre del grupo de CA 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 Google Cloud consola, ve a la página Políticas de SWP.
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 Secure Web Proxy.
Para configurar la inspección de TLS, selecciona Configurar 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 Crea reglas de Secure Web Proxy.
Haz clic en Crear.
Crea reglas de Secure Web Proxy
En la Google Cloud consola, ve a la página Políticas de SWP.
En el menú desplegable del selector de proyectos, selecciona el ID de la 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
0es 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 hacer coincidir 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 hacer coincidir 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 Google Cloud consola de, ve a la página Proxies web.
Haz clic en Crear un proxy web seguro.
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.
Opcional: Ingresa la dirección IP de Secure Web Proxy. Puedes ingresar una dirección IP del rango de direcciones IP de Secure Web Proxy que residen en la subred que creaste en el paso anterior. Si no ingresas la dirección IP, tu instancia de Secure Web Proxy elige automáticamente una dirección IP de la subred seleccionada.
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_NAMECrea la política de Secure Web Proxy:
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml --location=REGIONCrea 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: trueCrea 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=policy1Para adjuntar una política de inspección de TLS a una política de seguridad existente crea el archivo
POLICY_FILE.yaml. ReemplazaPOLICY_FILEpor tu nombre de 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