Implementar una instancia de proxy web seguro
En esta guía de inicio rápido se explica cómo desplegar y probar una instancia de proxy web seguro.
En los pasos se describe cómo desplegar Secure Web Proxy en modo de enrutamiento explícito, que funciona como un proxy explícito. Las instancias de proxy web seguro en modo de enrutamiento explícito se pueden publicar como servicio de Private Service Connect.
También puedes implementar Secure Web Proxy en el modo de enrutamiento de siguiente salto. Para obtener más información, consulta Implementar Secure Web Proxy como salto siguiente.
Antes de empezar
Completa los pasos de configuración inicial.
Opcional: Instala Google Cloud CLI en cualquiera de los siguientes entornos de desarrollo si quieres ejecutar los ejemplos de línea de comandos de
gcloud
especificados en esta guía:Cloud Shell
Para usar un terminal online con la CLI de gcloud ya configurada, activa Cloud Shell:
Al final de esta página, se inicia una sesión de Cloud Shell y se muestra un mensaje de la línea de comandos. La sesión puede tardar unos segundos en inicializarse.
Shell local
Para usar un entorno de desarrollo local, sigue estos pasos:
Crea o selecciona un Google Cloud proyecto.
Consola
En la Google Cloud consola, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto.
Cloud Shell
Crea un Google Cloud proyecto:
gcloud projects create PROJECT_ID
Sustituye
PROJECT_ID
por el ID del proyecto que quieras.Selecciona el Google Cloud proyecto que has creado:
gcloud config set project PROJECT_ID
Crea una instancia de máquina virtual (VM) de Linux.
gcloud compute instances create swp-test-vm \ --subnet=default \ --zone=ZONE \ --image-project=debian-cloud \ --image-family=debian-11
Sustituye
ZONE
por la zona de tu instancia de VM de prueba.Compute Engine asigna el rol de administrador de instancias de Compute (
roles/compute.instanceAdmin
) al usuario que crea la VM. Compute Engine también añade a ese usuario al grupo sudo.Crea una regla de cortafuegos.
gcloud compute firewall-rules create default-allow-ssh \ --direction=INGRESS \ --priority=1000 \ --network=default \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=0.0.0.0/0
Crear una política de proxy web seguro
Consola
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
policy1
.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.
Si quiere crear reglas para su política, haga clic en Añadir regla. Para obtener más información, consulta la sección Crear reglas de Secure Web Proxy.
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
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyectoREGION
: la región de tu política
Crea la política de proxy web seguro.
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml \ --location=REGION
Crear reglas de Secure Web Proxy
Consola
En la Google Cloud consola, ve a la página Políticas de SWP.
Haz clic en el nombre de la política.
Haz clic en
Añadir regla.Rellene los siguientes campos de la regla:
- Nombre
- Descripción
- Status
- Prioridad: orden de evaluación numérica 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. - Opcional: Si quieres 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.
Para obtener información sobre cómo hacer coincidir el tráfico de TPC, consulta Configurar reglas de proxy TCP para tu aplicación.
Haz clic en Crear.
Haz clic en Añadir regla para añadir otra regla.
Cloud Shell
Crea el archivo
rule.yaml
como se muestra aquí. Para obtener más información sobre la sintaxis deSessionMatcher
, consulta la referencia del lenguaje de coincidencia de CEL.name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-wikipedia-org description: Allow wikipedia.org enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'www.wikipedia.org'
Opcional: Si quieres crear una regla con la configuración de inspección de TLS, crea el archivo
rule.yaml
como se muestra aquí.Para obtener información sobre cómo hacer coincidir el tráfico de TPC, consulta Configurar reglas de proxy TCP para tu aplicación.
name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-wikipedia-org description: Allow wikipedia.org enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'www.wikipedia.org' applicationMatcher: request.path.contains('index.html') tlsInspectionEnabled: true
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyectoREGION
: la región de tu política
Crea la regla de política de seguridad.
gcloud network-security gateway-security-policies rules import allow-wikipedia-org \ --source=rule.yaml \ --location=REGION \ --gateway-security-policy=policy1
Configurar un proxy web
En esta sección se explica cómo desplegar Secure Web Proxy en modo de enrutamiento explícito, que funciona como un proxy explícito.
Consola
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 Modo de enrutamiento, selecciona la opción Explícito.
En la lista Regiones, selecciona la región en la que quieras crear el proxy web.
En la lista Red, seleccione la red en la que quiera 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, seleccione el certificado que quiera 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
gateway.yaml
.name: projects/PROJECT_ID/locations/REGION/gateways/swp1 type: SECURE_WEB_GATEWAY addresses: ["IP_ADDRESS"] ports: [443] gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1 network: projects/PROJECT_ID/global/networks/NETWORK subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK routingMode: EXPLICIT_ROUTING_MODE
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyectoREGION
: la región de tu instancia de Secure Web ProxyIP_ADDRESS
: la dirección IP de tu instancia de Secure Web ProxyNETWORK
: la red de tu instancia de Secure Web ProxySUBNETWORK
: la subred de tu instancia de Secure Web Proxy
Crea una instancia de proxy web seguro basada en
gateway.yaml
.gcloud network-services gateways import swp1 \ --source=gateway.yaml \ --location=REGION
Una instancia de proxy web seguro puede tardar varios minutos en desplegarse.
Probar la conectividad
Conéctate a la VM que has aprovisionado anteriormente.
gcloud compute ssh swp-test-vm \ --zone=ZONE
Sustituye
ZONE
por la zona de tu instancia de VM de prueba.Prueba la instancia de proxy web seguro.
curl -s -o /dev/null -w "%{http_code}\\n" -x IP_ADDRESS:443 https://www.wikipedia.org
Sustituye
IP_ADDRESS
por la dirección IP de tu instancia de proxy web seguro. Este comando imprime el código de estado HTTP devuelto por www.wikipedia.org. Si el comando se ejecuta correctamente, el código de estado es200
. Sin embargo, si hay un problema con el proxy, el comando devolverá un código de estado000
para indicar que se ha producido un error de conexión. Para ver los mensajes de error detallados, añade la opción-v
al comando.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Eliminar la instancia de swp1
proxy web seguro
Consola
En la Google Cloud consola, ve a la página Proxies web. Puede ver la lista de todos los proxies web o solo los que estén disponibles en una red concreta.
Seleccione el proxy web que quiera eliminar.
Haz clic en Eliminar.
Haz clic en Eliminar de nuevo para confirmar la acción.
Cloud Shell
gcloud network-services gateways delete swp1 \
--location=REGION
Sustituye REGION
por la región de tu instancia de proxy web seguro.
Eliminar la regla allow-wikipedia-org
Consola
En la Google Cloud consola, ve a la página Proxies web. Puede ver la lista de todos los proxies web o solo los que estén disponibles en una red concreta.
Haz clic en tu política.
Selecciona la regla que quieras eliminar.
Haz clic en Eliminar.
Haz clic en Eliminar de nuevo para confirmar la acción.
Cloud Shell
gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
--location=REGION \
--gateway-security-policy=policy1
Sustituye REGION
por la región de tu política.
Elimina la política de policy1
proxy web seguro
Consola
En la Google Cloud consola, ve a la página Proxies web. Puede ver la lista de todos los proxies web o solo los que estén disponibles en una red concreta.
Selecciona la política que quieras eliminar.
Haz clic en Eliminar.
Haz clic en Eliminar de nuevo para confirmar la acción.
Cloud Shell
gcloud network-security gateway-security-policies delete policy1 \
--location=REGION
Sustituye REGION
por la región de tu política.
Eliminar la instancia de VM de Linux swp-test-vm
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
Selecciona las instancias que quieras eliminar.
Haz clic en Eliminar.
Cloud Shell
gcloud compute instances delete swp-test-vm