En esta página, se explica cómo usar listas de URLs para crear y administrar políticas de acceso detalladas para tu tráfico web saliente dentro de tu instancia del proxy web seguro. En lugar de crear reglas individuales para cada sitio web, las listas de URLs te permiten definir una colección reutilizable y centralizada de dominios, nombres de host y patrones de URL específicos.
Estos son algunos beneficios clave de usar listas de URLs:
Simplifica la administración de políticas: Puedes aplicar un gran conjunto de reglas
allowodenycon una sola referencia en tu política de seguridad.Aplicar un control preciso: Puedes usar una sintaxis específica para hacer coincidir dominios, subdominios o rutas de URL exactas completas. Esto ayuda a garantizar que tus cargas de trabajo solo puedan acceder a destinos autorizados.
Acceso web seguro: Puedes proteger y auditar de manera eficiente el acceso web en todo tu entorno de Google Cloud .
Antes de comenzar
Completa los pasos de configuración inicial.
Verifica que tengas instalada la versión 406.0.0 o posterior de Google Cloud CLI:
gcloud version | head -n1Si tienes instalada una versión anterior de gcloud CLI, actualízala:
gcloud components update --version=406.0.0
Crea una instancia del Proxy web seguro con una política vacía
Para crear una instancia del Proxy web seguro, primero debes crear una política de seguridad vacía y, luego, crear un proxy web que use la política.
Crea una política de seguridad vacía
Console
En la consola de Google Cloud , ve a la página Políticas de SWP.
Haz clic en Crear una política.
En el campo Nombre, ingresa un nombre para la política, como
myswppolicy.En el campo Descripción, ingresa una descripción para la política, como
My new swp policy.En Regiones, selecciona la región en la que deseas crear la política, como
us-central1.Haz clic en Crear.
Cloud Shell
Usa tu editor de texto preferido para crear un archivo
policy.yaml.Agrega lo siguiente al archivo
policy.yamlque creaste:name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTIONReemplaza lo siguiente:
PROJECT_NAME: Nombre de tu proyectoREGION: Es la región en la que se crea tu política, comous-central1.POLICY_NAME: Nombre de la políticaPOLICY_DESCRIPTION: Descripción de tu política
Importa la política de seguridad con el comando
gcloud network-security gateway-security-policies import:gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Crea un proxy web
Console
En la consola de Google Cloud , ve a la página Proxies web.
Haz clic en Crear un proxy web seguro.
En el campo Nombre, ingresa un nombre para el proxy web, como
myswp.En el campo Descripción, ingresa una descripción para el proxy web, como
My new swp.En Modo de enrutamiento, selecciona la opción Explícito.
En Regiones, selecciona la región en la que deseas crear el proxy web, como
us-central1.En Red, selecciona la red en la que deseas crear el proxy web.
En Subred, selecciona la subred de VPC que creaste anteriormente como parte de los pasos de configuración inicial.
Opcional: En el campo Dirección IP del proxy web, ingresa la dirección IP del proxy web seguro.
Puedes ingresar una dirección IP del rango de direcciones IP del proxy web seguro que se encuentra en la subred que creaste en el paso anterior. Si no ingresas la dirección IP, tu instancia de Secure Web Proxy elegirá automáticamente una dirección IP de la subred seleccionada.
En Certificado, selecciona el certificado que deseas usar para crear el proxy web.
En Política, selecciona la política que creaste para asociar el proxy web.
Haz clic en Crear.
Cloud Shell
Usa tu editor de texto preferido para crear un archivo
gateway.yaml.Agrega lo siguiente al archivo
gateway.yaml.name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME type: SECURE_WEB_GATEWAY ports: [GATEWAY_PORT_NUMBERS] certificateUrls: [CERTIFICATE_URLS] gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME network: projects/PROJECT_NAME/global/networks/NETWORK_NAME subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK addresses: [GATEWAY_IP_ADDRESS] scope: samplescopeReemplaza lo siguiente:
GATEWAY_NAME: Nombre de esta instancia de Secure Web ProxyGATEWAY_PORT_NUMBERS: Lista de números de puerto para esta puerta de enlace, como[80,443]CERTIFICATE_URLS: Lista de URLs de certificados SSLSUBNETWORK: Subred de VPC que creaste anteriormente como parte de los pasos de configuración inicialGATEWAY_IP_ADDRESS: Es una lista opcional de direcciones IP para tus instancias de Secure Web Proxy dentro de las subredes de proxy que creaste anteriormente en los pasos de configuración inicial.Si decides no enumerar direcciones IP, omite el campo para permitir que el proxy web elija una dirección IP por ti.
Crea la instancia del Proxy web seguro con el comando
gcloud network-services gateways import:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
Prueba la conectividad
Para probar la conectividad, usa el comando curl desde cualquier instancia de máquina virtual (VM) dentro de tu red de nube privada virtual (VPC):
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Si todo funciona correctamente, tu instancia del proxy web seguro devolverá un código de estado 403 Forbidden. Este error confirma lo siguiente:
La instancia del Proxy web seguro se implementó correctamente y recibe tráfico de forma activa.
La política de Proxy web seguro aplica correctamente la postura de seguridad predeterminada de rechazar todo el tráfico hasta que definas reglas
allowespecíficas en las próximas secciones.
Crea y configura una lista de URLs
Console
En la consola de Google Cloud , ve a la página URL Lists.
Haz clic en Crear una lista de URLs. Se abrirá la página Crear lista de URLs.
En el campo Nombre, ingresa un nombre para la lista de URLs, como
example-org-allowed-list.En el campo Descripción, ingresa una descripción para la lista de URLs, como
My new URL list.En Regiones, selecciona la región en la que deseas crear la lista de URLs, como
us-central1.Para agregar la lista de hosts, URLs o patrones que coincidan, en el campo Lista de URLs, ingresa los detalles o haz clic en Subir lista para subir una lista personalizada de URLs. Para obtener más información, consulta la referencia de sintaxis de UrlList.
Haz clic en Crear.
Cloud Shell
Usa tu editor de texto preferido para crear el archivo
url_list.yaml.Agrega lo siguiente al archivo
url_list.yaml.name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME values: URL_LISTReemplaza lo siguiente:
PROJECT_ID: ID único de tu proyecto de Google CloudREGION: Es la región en la que se crea tu lista de URLs, comous-central1.URL_LIST_NAME: Nombre de la lista de URLsURL_LIST: Lista de hosts, URLs o patrones que se deben hacer coincidir
Para obtener más información, consulta la referencia de sintaxis de UrlList.
El siguiente es un ejemplo de un archivo de regla de lista de URLs:
name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list values: - www.example.com - about.example.com - "*.google.com" - "github.com/example-org/*"El carácter asterisco (
*) tiene un significado especial en YAML. Debes agregar comillas alrededor de las URLs que incluyan un carácter*.Importa la lista de URLs que creaste con el comando
gcloud network-security url-lists importpara que tu regla del proxy web seguro pueda hacer referencia a ella.gcloud network-security url-lists import URL_LIST_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=url_list.yaml
Agrega una regla del Proxy web seguro
Console
En la consola de Google Cloud , ve a la página Políticas de SWP.
Haz clic en el nombre de tu política, como
myswppolicy.Haz clic en Agregar regla.
Para cada regla, haz lo siguiente:
En Prioridad, ingresa un orden de evaluación numérico para la regla. Las reglas se evalúan de mayor a menor prioridad, en la que
0es la prioridad más alta.En el campo Nombre, ingresa un nombre para la regla, como
allow-org-url-list.En el campo Descripción, ingresa una descripción para la regla.
En Acción, selecciona una de las siguientes opciones:
- Permitir: Para permitir las solicitudes de conexión que coinciden con la regla
- Rechazar: Para rechazar las solicitudes de conexión que coinciden con la regla.
En el campo Estado, selecciona una de las siguientes opciones para la aplicación de la regla:
- Habilitada: Para aplicar la regla en tu instancia de Proxy web seguro
- Inhabilitado: Para no aplicar la regla en tu instancia de Proxy web seguro
En la sección Session Match, especifica el nombre único de la lista de URLs que creaste en la sección anterior. Por ejemplo:
sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME)"Para obtener más información sobre la sintaxis de
SessionMatcher, consulta la referencia del lenguaje del comparador de CEL.En la sección Application Match, especifica los criterios para hacer coincidir la solicitud.
Haz clic en Agregar regla.
Cloud Shell
Usa tu editor de texto preferido para crear un archivo
rule.yaml.Agrega lo siguiente al archivo
rule.yaml.name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME basicProfile: ALLOW enabled: true priority: RULE_PRIORITY description: RULE_DESCRIPTION sessionMatcher: SESSION_CEL_EXPRESSION applicationMatcher: APPLICATION_CEL_EXPRESSIONReemplaza lo siguiente:
PROJECT_ID: ID único de tu proyecto de Google CloudREGION: Es la región a la que se aplica esta regla.POLICY_NAME: Nombre de una política de seguridad existente que usa tu instancia de Proxy web seguroRULE_NAME: Nombre de la reglaPRIORITY_VALUE: prioridad de la regla; un número más bajo corresponde a una prioridad más altaRULE_DESCRIPTION: Descripción de la reglaSESSION_CEL_EXPRESSION: Es una expresión de Common Expression Language (CEL). Para obtener más información, consulta la referencia del lenguaje del comparador de CEL.APPLICATION_CEL_EXPRESSION: Una expresión de CEL para tu aplicación
El siguiente es un ejemplo de un archivo de reglas:
name: projects/PROJECT_ID/locations/REGION/urlLists/allow-repos basicProfile: ALLOW enabled: true priority: 100 description: Allow access to our list of known code repos. sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"Importa la regla que creaste con el comando
gcloud network-security gateway-security-policies rules import.gcloud network-security gateway-security-policies rules import RULE_NAME \ --location=REGION \ --project=PROJECT_ID \ --source=rule.yaml \ --gateway-security-policy=POLICY_NAME
Prueba la configuración de la política
Puedes volver a probar la conectividad para validar que las reglas de acceso basadas en listas de URLs estén configuradas correctamente y que tu instancia de Proxy web seguro las aplique de forma activa.
Para probar la conectividad, usa el siguiente comando curl:
curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS
--proxy-insecure
Reemplaza lo siguiente:
SWP_IP_ADDRESS: Dirección IP de tu instancia de Secure Web ProxySWP_PORT_NUMBER: Número de puerto de tu proxy web, como443HTTP_TEST_ADDRESS: Es una dirección para probar, comohttps://www.example.com. Coincide con una entrada de host o URL en tuurl_list.
Si todo funciona correctamente, recibirás una respuesta 200 OK. Esta respuesta confirma que el tráfico saliente a una URL que aparece en tu lista de URLs y a la que se hace referencia en la regla de la política de seguridad se permite correctamente a través de tu instancia de Proxy web seguro.