En esta página se describe cómo habilitar la inspección de Seguridad en la capa de transporte (TLS) en tu instancia de proxy web seguro. El proxy web seguro ofrece un servicio de inspección TLS que te permite interceptar el tráfico de TLS, inspeccionar la solicitud cifrada y aplicar políticas de seguridad. Para obtener más información sobre la inspección TLS, consulta el resumen de la inspección TLS.
Antes de empezar
Antes de configurar tu instancia de Secure Web Proxy para la inspección TLS, completa las tareas que se indican en las siguientes secciones.
Habilitar el servicio de autoridad de certificación
El proxy web seguro usa el servicio de autoridades de certificación para generar los certificados que se utilizan en la inspección TLS.
Para habilitar el Servicio de Autoridades de Certificación, usa el siguiente comando:
gcloud services enable privateca.googleapis.com
Crear un grupo de autoridades de certificación
Un grupo de autoridades de certificación (ACs) es una colección de varias ACs con una política de emisión de certificados y una política de gestión de identidades y accesos (IAM) comunes. Los grupos de AC permiten rotar las cadenas de confianza sin que se produzcan interrupciones ni tiempos de inactividad en sus cargas útiles.
Debes crear un grupo de autoridades de certificación para poder usar CA Service y crear una autoridad de certificación. En esta sección se explican los permisos que necesitas para completar esta tarea y se describe cómo crear un grupo de CAs.
Para generar certificados, la inspección TLS usa una cuenta de servicio independiente para cada proyecto llamada service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com
.
Asegúrate de que has concedido permisos a esta cuenta de servicio para usar tu grupo de CAs. Si se revoca este acceso, la inspección TLS dejará de funcionar.
Para recuperar el PROJECT_NUMBER
mediante el PROJECT_ID
del proyecto del grupo de CAs, 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
Haz los cambios siguientes:
SUBORDINATE_POOL_ID
: nombre del grupo de autoridades de certificaciónTIER
: nivel de CA,devops
oenterprise
Te recomendamos que crees el grupo de CAs en el nivel
devops
, ya que no es necesario hacer un seguimiento de los certificados emitidos individualmente.PROJECT_ID
: ID del proyecto del grupo de ACsREGION
: ubicación del grupo de autoridades de certificación
Crear un grupo de ACs subordinadas
Si tienes varios casos de emisión de certificados, puedes crear una AC subordinada para cada uno de ellos. Puedes crear una AC subordinada en un grupo de ACs y la AC raíz firma todas las ACs de ese grupo. Estos certificados se usan para firmar certificados de servidor que se generan para la inspección TLS.
Para crear un grupo de CAs subordinadas, utiliza uno de los siguientes métodos.
Crear un grupo de ACs subordinadas usando una AC raíz almacenada en el servicio de autoridad de certificación
Para generar una autoridad de certificación subordinada, sigue estos pasos:
Crear un grupo de ACs subordinadas usando una AC raíz externa
Para generar una autoridad de certificación subordinada, sigue estos pasos:
- Crear un grupo de autoridades de certificación
- Crear ACs subordinadas firmadas por una AC raíz externa
Crear una CA raíz
Si no existe ninguna CA raíz, puedes crear una en el servicio de CA.
Para crear una CA raíz, siga estos pasos:
- Crear una AC raíz
- Crear un grupo de ACs subordinadas usando una AC raíz almacenada en el servicio de ACs
Crear una cuenta de servicio
Una cuenta de servicio ayuda a proporcionar los permisos necesarios para la inspección TLS sin poner en riesgo la seguridad de tus cuentas de usuario ni la de tu instancia de proxy web seguro.
Si no tienes una cuenta de servicio, debes crear una y, a continuación, conceder los permisos necesarios a esa cuenta de servicio.
Crea una cuenta de servicio.
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_ID
En respuesta, la CLI de Google Cloud crea una cuenta de servicio llamada
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com
.Para recuperar el
PROJECT_NUMBER
mediante elPROJECT_ID
del proyecto del grupo de CAs, usa el siguiente comando:gcloud projects describe PROJECT_ID --format="value(projectNumber)"
En la cuenta de servicio que has creado, concede permisos para generar certificados con tu grupo de ACs.
gcloud privateca pools add-iam-policy-binding CA_POOL \ --member='serviceAccount:SERVICE_ACCOUNT' \ --role='roles/privateca.certificateManager' \ --location='REGION'
Configurar Secure Web Proxy para la inspección TLS
Solo puedes continuar con las tareas de esta sección después de haber completado las tareas de requisitos previos que se indican en la sección Antes de empezar.
Para configurar la inspección TLS, completa las tareas que se indican en las siguientes secciones.
Crear una política de inspección TLS
Consola
En la Google Cloud consola, ve a la página Políticas de inspección de TLS.
En el menú de selección de proyectos, elige el tuyo.
Haz clic en Crear política de inspección TLS.
En Name (Nombre), escribe un nombre.
Opcional: En el campo Descripción, escribe una descripción.
En la lista Región, selecciona la región para la que quieras crear la política de inspección de TLS.
En la lista Grupo de ACs, selecciona el grupo de ACs desde el que quieras crear los certificados.
Si no has configurado un grupo de autoridades de certificación, haz clic en New Pool (Nuevo grupo) y sigue las instrucciones de Crear un grupo de autoridades de certificación.
Opcional: En la lista Versión mínima de TLS, seleccione la versión mínima de TLS que admita la política.
En Configuración de confianza, selecciona una de las siguientes opciones:
- Solo ACs públicas: selecciona esta opción si quieres confiar en servidores con certificados firmados públicamente.
Solo ACs privadas: selecciona esta opción si quieres confiar en 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 quieras usar para confiar en los certificados de servidor upstream. Para obtener más información sobre cómo crear una configuración de confianza, consulta Crear una configuración de confianza.
Autoridades de certificación públicas y privadas: selecciona esta opción si quieres usar autoridades de certificación públicas y privadas.
Opcional: En la lista Perfil de conjunto de cifrado, selecciona el tipo de perfil TLS. Puedes elegir uno de los siguientes valores:
- Compatible: permite que la mayor variedad de clientes, incluidos los que solo admiten funciones de TLS obsoletas, negocien TLS.
- Moderna: admite un amplio conjunto de funciones de TLS, lo que permite a los clientes modernos negociar TLS.
- Restringido: admite un conjunto reducido de funciones de TLS destinado a satisfacer requisitos de cumplimiento más estrictos.
Personalizado: te permite seleccionar funciones de TLS de forma individual.
En la lista Paquetes de cifrado, selecciona los paquetes de cifrado que admite el perfil personalizado.
Haz clic en Crear.
gcloud
Crea el archivo
TLS_INSPECTION_FILE.yaml
. SustituyeTLS_INSPECTION_FILE
por el nombre de archivo que quieras.Añade el siguiente código al archivo YAML para configurar el elemento TlsInspectionPolicy necesario:
name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
Haz los cambios siguientes:
PROJECT_ID
: ID del proyectoREGION
: región en la que se va a crear la políticaTLS_INSPECTION_NAME
: nombre de la política de inspección TLS del proxy web seguroCA_POOL
: nombre del grupo de autoridades de certificación a partir del cual se van a crear los certificados
El pool de CAs debe estar en la misma región.
Importar la política de inspección TLS
Importa la política de inspección TLS que has creado en el paso anterior:
gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
--source=TLS_INSPECTION_FILE.yaml \
--location=REGION
Añadir la política de inspección de TLS a la política de seguridad
Consola
Crear 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.Introduce el nombre de la política que quieras crear, como
myswppolicy
.Introduce una descripción de la política, como
My new swp policy
.En la lista Regiones, selecciona la región en la que quieras crear la política de proxy web seguro.
Para configurar la inspección TLS, selecciona Configurar inspección TLS.
En la lista Política de inspección TLS, selecciona la política de inspección TLS que has creado.
Si quiere crear reglas para su política, haga clic en Continuar y, a continuación, en Añadir regla. Para obtener más información, consulta el artículo Crear reglas de proxy web seguro.
Haz clic en Crear.
Crear reglas de Secure Web Proxy
En la Google Cloud consola, ve a la página Políticas de SWP.
En el menú de selección de proyectos, selecciona el ID de tu organización o la carpeta que contenga tu política.
Haz clic en el nombre de la política.
Haz clic en
Añadir regla.Rellena los campos de la regla:
- Nombre
- Descripción
- Status
- Prioridad: el orden de evaluación numérico de la regla. Las reglas se evalúan de mayor a menor prioridad, donde
0
es la prioridad más alta. - En la sección Acción, especifica si las conexiones que coincidan con la regla se permiten (Permitir) o se deniegan (Denegar).
- En la sección Concordancia de sesión, especifique los criterios para que la sesión coincida. Para obtener más información sobre la sintaxis de
SessionMatcher
, consulta la referencia del lenguaje de coincidencia de CEL. - Para habilitar la inspección TLS, selecciona Habilitar inspección TLS.
- En la sección Coincidencia de aplicación, especifica los criterios para que coincida la solicitud. Si no habilitas la regla para la inspección de TLS, la solicitud solo podrá coincidir con el tráfico HTTP.
- Haz clic en Crear.
Haz clic en Añadir regla para añadir otra regla.
Haz clic en Crear para crear la política.
Configurar un proxy web
En la Google Cloud consola, ve a la página Proxies web.
Haz clic en
Crear un proxy web seguro.Introduce el nombre del proxy web que quieras crear, como
myswp
.Introduce una descripción del proxy web, como
My new swp
.En la lista Regiones, selecciona la región en la que quieras crear el proxy web.
En la lista Red, selecciona la red en la que quieras crear el proxy web.
En la lista Subred, selecciona la subred en la que quieras crear el proxy web.
Opcional: Introduce la dirección IP del proxy web seguro. Puedes introducir una dirección IP del intervalo de direcciones IP de Secure Web Proxy que se encuentre en la subred que has creado en el paso anterior. Si no introduces la dirección IP, tu instancia de Secure Web Proxy elegirá automáticamente una dirección IP de la subred seleccionada.
En la lista Certificado, selecciona el certificado que quieras usar para crear el proxy web.
En la lista Política, seleccione la política que ha creado 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 de 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 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 TLS a una política de seguridad, crea el archivo
POLICY_FILE
.yaml. SustituyePOLICY_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