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

  1. Completa los pasos de configuración inicial.

  2. 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:

    1. Instala gcloud CLI.
    2. Inicializa gcloud CLI.
  3. 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.

    Ir al selector de proyectos

    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
      
  4. 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.

  5. 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

  1. En la Google Cloud consola, ve a la página Políticas de SWP.

    Ir a las políticas de SWP

  2. Haz clic en Crear una política.

  3. Introduce el nombre de la política que quieras crear, como policy1.

  4. Introduce una descripción de la política, como My new swp policy.

  5. En la lista Regiones, selecciona la región en la que quieras crear la política de proxy web.

  6. 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.

  7. Haz clic en Crear.

Cloud Shell

  1. 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 proyecto
    • REGION: la región de tu política
  2. 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

  1. En la Google Cloud consola, ve a la página Políticas de SWP.

    Ir a las políticas de SWP

  2. Haz clic en el nombre de la política.

  3. Haz clic en Añadir regla.

  4. Rellene los siguientes campos de la regla:

    1. Nombre
    2. Descripción
    3. Status
    4. 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.
    5. En la sección Acción, especifica si las conexiones que coincidan con la regla se permiten (Permitir) o se deniegan (Denegar).
    6. 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.
    7. Opcional: Si quieres habilitar la inspección TLS, selecciona Habilitar inspección TLS.
    8. 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.

    9. Haz clic en Crear.

  5. Haz clic en Añadir regla para añadir otra regla.

Cloud Shell

  1. Crea el archivo rule.yaml como se muestra aquí. Para obtener más información sobre la sintaxis de SessionMatcher, 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 proyecto
      • REGION: la región de tu política
  2. 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

  1. En la Google Cloud consola, ve a la página Proxies web.

    Ve a Proxies web.

  2. Haz clic en Crear un proxy web seguro.

  3. Introduce el nombre del proxy web que quieras crear, como myswp.

  4. Introduce una descripción del proxy web, como My new swp.

  5. En Modo de enrutamiento, selecciona la opción Explícito.

  6. En la lista Regiones, selecciona la región en la que quieras crear el proxy web.

  7. En la lista Red, seleccione la red en la que quiera crear el proxy web.

  8. En la lista Subred, selecciona la subred en la que quieras crear el proxy web.

  9. 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.

  10. En la lista Certificado, seleccione el certificado que quiera usar para crear el proxy web.

  11. En la lista Política, seleccione la política que ha creado para asociar el proxy web.

  12. Haz clic en Crear.

Cloud Shell

  1. 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 proyecto
    • REGION: la región de tu instancia de Secure Web Proxy
    • IP_ADDRESS: la dirección IP de tu instancia de Secure Web Proxy
    • NETWORK: la red de tu instancia de Secure Web Proxy
    • SUBNETWORK: la subred de tu instancia de Secure Web Proxy
  2. 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

  1. 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.

  2. 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 es 200. Sin embargo, si hay un problema con el proxy, el comando devolverá un código de estado 000 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

  1. 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.

    Ve a Proxies web.

  2. Seleccione el proxy web que quiera eliminar.

  3. Haz clic en Eliminar.

  4. 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

  1. 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.

    Ve a Proxies web.

  2. Haz clic en tu política.

  3. Selecciona la regla que quieras eliminar.

  4. Haz clic en Eliminar.

  5. 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

  1. 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.

    Ve a Proxies web.

  2. Selecciona la política que quieras eliminar.

  3. Haz clic en Eliminar.

  4. 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

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Selecciona las instancias que quieras eliminar.

  3. Haz clic en Eliminar.

Cloud Shell

gcloud compute instances delete swp-test-vm

Siguientes pasos