El servicio de prevención de intrusiones supervisa el tráfico de la carga de trabajo de Google Cloud para detectar actividad maliciosa y tomar medidas preventivas que la evite. Para habilitar este servicio en tu red, debes configurar varios componentes de Cloud Next Generation Firewall. En este instructivo, se describe el flujo de trabajo de extremo a extremo para configurar el servicio de prevención de intrusiones en tu red.
Objetivos
En este instructivo, se muestra cómo completar las siguientes tareas:
- Crear una red de nube privada virtual (VPC) con dos subredes.
- Crea una instancia de máquina virtual (VM) de servidor en la primera subred de la red de VPC y, luego, instala el servidor Apache en la VM.
- Crea una instancia de VM de cliente en la segunda subred de la red de VPC.
- Crear un perfil de seguridad y un grupo de perfiles de seguridad.
- Crea un extremo de firewall y asócialo con la red de VPC.
- Agrega una política de firewall de red global con las siguientes reglas de firewall:
- Una regla de firewall para habilitar el acceso de Identity-Aware Proxy (IAP) a las instancias de VM en la red de VPC.
- Una regla de firewall para dirigir todo el tráfico de entrada a la inspección de capa 7.
- Verifica si el tráfico malicioso a la instancia de VM del servidor está bloqueado.
- Limpia los recursos.
En el siguiente diagrama, se muestra la arquitectura de alto nivel de la configuración de la implementación en este instructivo. La política de firewall fw-policy-ips
en VPC
vpc-ips
redirecciona el tráfico de entrada al extremo de firewall en la zona
asia-southeast1-a
. El extremo de firewall endpoint-ips
inspecciona el tráfico
de cualquier amenaza. Si se detecta alguna amenaza, aplica las medidas preventivas con las instrucciones especificadas en el perfil de seguridad sec-profile-ips
.
Costos
Hay un costo asociado con la creación de los extremos de firewall. Para obtener detalles sobre los precios, consulta los precios de Cloud Next Generation Firewall.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Habilita la API de Compute Engine para tu proyecto.
- Habilita la API de Network Security para tu proyecto.
- Habilita la API de Identity-Aware Proxy para tu proyecto.
- Debes tener el rol de IAM Administrador de red de Compute (
roles/compute.networkAdmin
) en tu organización. - Si prefieres trabajar desde la línea de comandos, instala Google Cloud CLI.
Para obtener información conceptual y de instalación sobre la herramienta, consulta Descripción general de gcloud CLI.
Nota: Si no ejecutaste gcloud CLI antes, primero ejecuta
gcloud init
para inicializar el directorio de gcloud CLI.
Crea una red de VPC personalizada con subredes
En esta sección, crearás una red de VPC de modo personalizado con dos subredes IPv4.
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en Crear red de VPC.
En Nombre, ingresa
vpc-ips
.En Descripción, ingresa
VPC network to set up intrusion prevention service
.En Modo de creación de subred, selecciona Personalizado.
En la sección Subred nueva, especifica los siguientes parámetros de configuración para una subred:
- Nombre:
subnet-ips-server
- Región:
asia-southeast1
- Rango IPv4:
10.0.0.0/24
- Nombre:
Haz clic en Listo.
Haz clic en Agregar subred y especifica los siguientes parámetros de configuración:
- Nombre:
subnet-ips-client
- Región:
us-central1
- Rango IPv4:
192.168.10.0/24
- Nombre:
Haz clic en Listo.
Haz clic en Crear.
gcloud
Para crear una red de VPC, ejecuta el siguiente comando:
gcloud compute networks create vpc-ips \ --subnet-mode custom \ --description "VPC network to set up intrusion prevention service."
En el diálogo Autorizar Cloud Shell, haz clic en Autorizar.
Para crear una subred, ejecuta el siguiente comando:
gcloud compute networks subnets create subnet-server-ips \ --network vpc-ips \ --region asia-southeast1 \ --range 10.0.0.0/24
Para crear otra subred, ejecuta el siguiente comando:
gcloud compute networks subnets create subnet-client-ips \ --network vpc-ips \ --region us-central1 \ --range 192.168.10.0/24
Crea instancias de VM
En esta sección, crearás instancias de VM del servidor y del cliente.
Crea la instancia de VM del servidor
En esta sección, crearás una instancia de VM en la subred subnet-server-ips
y, luego, instalarás el servidor Apache en ella.
Console
En la consola de Google Cloud, ve a la página Crea una instancia.
En Nombre, ingresa
vm-server-ips
.En Región, selecciona
asia-southeast1 (Singapore)
.En Zona, selecciona
asia-southeast1-a
.En la sección Disco de arranque, elige Cambiar y, para el sistema operativo, elige Debian.
Haz clic en Seleccionar.
Expande Opciones avanzadas y, luego, Herramientas de redes.
En la sección Interfaces de red, especifica los siguientes parámetros de configuración:
- Red:
vpc-ips
- Subred:
subnet-server-ips IPv4 (10.0.0.0/24)
- Red:
Haz clic en Listo.
Expande la sección Administración.
En la sección Automatización, agrega la siguiente secuencia de comandos de inicio:
#! /bin/bash apt update apt -y install apache2 cat <<EOF > /var/www/html/index.html <html><body><p>Hello world.</p></body></html> EOF
Haz clic en Crear.
Toma nota de la dirección IP externa de la VM del servidor después de crearla.
gcloud
Para crear la VM del servidor, ejecuta el siguiente comando:
gcloud compute instances create vm-server-ips \ --network vpc-ips \ --zone asia-southeast1-a \ --subnet subnet-server-ips \ --stack-type IPV4_ONLY \ --image-project debian-cloud \ --image-family debian-11 \ --metadata=startup-script='#! /bin/bash apt update apt -y install apache2 cat <<EOF > /var/www/html/index.html <html><body><p>Hello World.</p></body></html> EOF'
Toma nota de la dirección IP externa de la VM en el estado devuelto.
Crea la instancia de VM del cliente
En esta sección, crearás una instancia de VM en la subred subnet-client-ips
.
Console
En la consola de Google Cloud, ve a la página Crea una instancia.
En Nombre, ingresa
vm-client-ips
.En Región, selecciona
us-central1
.En Zona, selecciona
us-central1-a
.Expande Opciones avanzadas y, luego, Herramientas de redes.
En la sección Interfaces de red, especifica los siguientes parámetros de configuración:
- Red:
vpc-ips
- Subred:
subnet-client-ips IPv4 (192.168.10.0/24)
- Red:
Haz clic en Listo.
Haz clic en Crear.
gcloud
Para crear la VM del cliente, ejecuta el siguiente comando:
gcloud compute instances create vm-client-ips \ --network vpc-ips \ --zone us-central1-a \ --subnet subnet-client-ips \ --stack-type IPV4_ONLY
Crear un perfil de seguridad
En esta sección, crearás un perfil de seguridad de tipo threat-prevention
en
tu organización. Si deseas ver los permisos necesarios para crear un perfil de seguridad, consulta Permisos necesarios para esta tarea.
Console
En la consola de Google Cloud, ve a la página Perfiles de seguridad.
En el menú de selección de proyectos, selecciona tu organización.
Selecciona la pestaña Perfiles de seguridad.
Haga clic en Crear perfil.
En Nombre, ingresa
sec-profile-ips
.En Descripción, ingresa
Security profile to set up intrusion prevention service
.Haz clic en Continuar.
Haz clic en Crear.
gcloud
Para crear un perfil de seguridad, ejecuta el siguiente comando:
gcloud network-security security-profiles \ threat-prevention \ create sec-profile-ips \ --organization ORGANIZATION_ID \ --location global \ --project PROJECT_ID \ --description "Security profile to set up intrusion prevention service."
Reemplaza lo siguiente:
ORGANIZATION_ID
: es la organización en la que se crea el perfil de seguridad.PROJECT_ID
: Es un ID del proyecto que se usa para cuotas y restricciones de acceso en el perfil de seguridad.
Crear un grupo de perfil de seguridad
En esta sección, crearás un grupo de perfiles de seguridad para incluir que creaste en la sección anterior. Si quieres ver los permisos necesarios para crear un grupo de perfiles de seguridad, consulta Permisos necesarios para esta tarea.
Console
En la consola de Google Cloud, ve a la página Perfiles de seguridad.
En el menú de selección de proyectos, selecciona tu organización.
Selecciona la pestaña Grupos de perfiles de seguridad.
Haz clic en Crear grupo de perfiles.
En Nombre, ingresa
sec-profile-group-ips
.En Descripción, ingresa
Security profile group to set up intrusion prevention service
.En la lista Perfil de prevención de amenazas, elige
sec-profile-ips
.Haz clic en Crear.
gcloud
Para crear un grupo de perfiles de seguridad, ejecuta el siguiente comando:
gcloud network-security security-profile-groups \ create sec-profile-group-ips \ --organization ORGANIZATION_ID \ --location global \ --project PROJECT_ID \ --threat-prevention-profile \ organizations/ORGANIZATION_ID/locations/global/securityProfiles/sec-profile-ips \ --description "Security profile group to set up intrusion prevention service."
Reemplaza lo siguiente:
ORGANIZATION_ID
: es la organización en la que se crea el grupo de perfiles de seguridad.PROJECT_ID
: Es un ID del proyecto que se usará para las cuotas y las restricciones de acceso en el grupo de perfil de seguridad.
Crea un extremo de firewall
En esta sección, crearás un extremo de firewall en una zona específica. Para ver las necesarios para crear un extremo de firewall, Consulta Permisos necesarios para esta tarea.
Nota: Cuando creas un extremo de firewall, el estado del extremo de firewall se establece en Creating
. Una vez que el extremo del firewall está listo, el estado cambia a Active
.
Console
En la consola de Google Cloud, ve a la página Extremos de firewall.
En el menú de selección de proyectos, selecciona tu organización.
Haz clic en Crear.
En la lista Región, selecciona
asia-southeast1 (Singapore)
.En la lista Zona, selecciona
asia-southeast1-a
.En Nombre, ingresa
endpoint-ips
.Haz clic en Crear.
gcloud
Para crear un extremo de firewall, ejecuta el siguiente comando:
gcloud network-security firewall-endpoints \ create endpoint-ips \ --organization ORGANIZATION_ID \ --zone asia-southeast1-a \ --billing-project PROJECT_ID
Reemplaza lo siguiente:
ORGANIZATION_ID
en la organización en la que se crea el extremo de firewall.PROJECT_ID
: Es un ID del proyecto que se usa para la facturación de extremo de firewall.
Crear una asociación de extremo de firewall
En esta sección, asociarás el extremo de firewall a la red de VPC que creaste en el paso anterior.
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en la red
vpc-ips
para ver la página Detalles de la red de VPC.Selecciona la pestaña Extremo de firewall.
Haz clic en Agregar asociación de extremo.
En la lista Región, selecciona
asia-southeast1
.En la lista Zona, selecciona
asia-southeast1-a
.En la lista Extremo de firewall, elige
endpoint-ips
.Haz clic en Crear.
gcloud
Para crear una asociación de extremo de firewall, ejecuta el siguiente comando:
gcloud network-security firewall-endpoint-associations \ create endpoint-association-ips \ --endpoint organizations/ORGANIZATION_ID/locations/asia-southeast1-a/firewallEndpoints/endpoint-ips \ --network vpc-ips \ --zone asia-southeast1-a \ --project PROJECT_ID
Reemplaza lo siguiente:
ORGANIZATION_ID
en la organización en la que se crea el extremo de firewall.PROJECT_ID
: Es un ID del proyecto en el que se crea la asociación.
Crea una política de firewall de red global
En esta sección, crearás una política de firewall de red global que contiene los con estas dos reglas de firewall:
- Una regla de firewall de entrada con una prioridad de
100
para permitir el tráfico de TCP en los puertos3389
y22
. Esta regla habilita el acceso de IAP a las instancias de VM en la red de VPC. - Una regla de firewall de entrada con prioridad
200
para hacer una inspección de capa 7 en el tráfico entrante a la VM del servidor en una zona específica.
Console
En la consola de Google Cloud, ve a la página Políticas de firewall.
En la lista de elección de proyectos, elige tu proyecto dentro de tu organización.
Haz clic en Crear política de firewall.
En Nombre, ingresa
fw-policy-ips
.En Permiso de la implementación, elige Global.
Haz clic en Continuar y, luego, en Agregar regla.
En el campo Prioridad, ingresa
100
.En Registros, selecciona Activar.
En Dirección del tráfico, selecciona Ingress.
En Acción en caso de coincidencia, selecciona Permitir.
Para el filtro Fuente, elige IPv4 y, luego, en el campo Rango de IP, escribe
35.235.240.0/20
.En la sección Protocolos y puertos, selecciona Protocolos y puertos especificados.
Elige TCP y, en Puertos, escribe
22,3389
.Haz clic en Crear.
Haz clic en Agregar regla.
En el campo Prioridad, ingresa
200
.En Registros, selecciona Activar.
En Dirección del tráfico, selecciona Ingress.
En Acción en caso de coincidencia, elige Continuar a la inspección de L7.
En la lista Grupo de perfiles de seguridad, elige
sec-profile-group-ips
.En el filtro Destino, elige IPv4 y, luego, en la rango de IP escribe la dirección IP externa de la VM del servidor que creaste en la sección Crear las instancias de VM del servidor .
Haz clic en Crear.
Haz clic en Continuar.
Haz clic en Asociar política con redes de VPC.
Elegir red de
vpc-ips
.Haz clic en Associate.
Haz clic en Crear.
gcloud
Para crear una política de firewall de red global, ejecuta el siguiente comando:
gcloud compute network-firewall-policies \ create fw-policy-ips \ --global \ --project PROJECT_ID
Reemplaza lo siguiente:
PROJECT_ID
: Un ID del proyecto en el que la red global la política de firewall.
Para agregar la regla de firewall para habilitar el acceso IAP, ejecuta el siguiente comando:
gcloud compute network-firewall-policies rules create 100 \ --firewall-policy fw-policy-ips \ --direction INGRESS \ --action ALLOW \ --src-ip-ranges 35.235.240.0/20 \ --layer4-configs tcp:22, tcp:3389 \ --global-firewall-policy \ --enable-logging
Si deseas agregar la regla de firewall para habilitar la inspección de la capa 7 y poder prevenir y detectar amenazas, ejecuta el siguiente comando:
gcloud compute network-firewall-policies rules create 200 \ --direction INGRESS \ --firewall-policy fw-policy-ips \ --action apply_security_profile_group \ --dest-ip-ranges SERVER_VM_IP \ --layer4-configs tcp:0-65535 \ --global-firewall-policy \ --security-profile-group \ //networksecurity.googleapis.com/organizations/ORGANIZATION_ID \ /locations/global/securityProfileGroups/sec-profile-group-ips \ --enable-logging
Reemplaza lo siguiente:
SERVER_VM_IP
: la dirección IP externa de la VM del servidor que creaste en la sección Crear las instancias de VM del servidor.ORGANIZATION_ID
: es la organización en la que se crea el grupo seguro de perfiles.
Para asociar la política de firewall con la red de VPC, ejecuta el siguiente comando:
gcloud compute network-firewall-policies associations create \ --firewall-policy fw-policy-ips \ --network vpc-ips \ --name fw-pol-association-ips \ --global-firewall-policy \ --project PROJECT_ID
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto en el que Se crea la asociación de VPC.
Prueba la configuración
En esta sección, probarás la configuración generando tráfico que intercepta el extremo, y se aplica la política de firewall de red global para realizar la inspección de capa 7.
Console
En la consola de Google Cloud, ve a la página Instancias de VM.
En la columna IP externa de la VM de
vm-server-ips
, copia la dirección IP externa de la VM.En la columna Conectar de la VM de
vm-client-ips
, haz clic en SSH.En el cuadro de diálogo SSH en el navegador, haz clic en Autorizar y espera a que se establezca la conexión.
Para verificar si una solicitud no de amenaza no está bloqueada, ejecuta el siguiente comando:
curl EXTERNAL_IP -m 2
Reemplaza
EXTERNAL_IP
por la IP externa de la instancia devm-server-ips
VM.El mensaje de respuesta esperado es el siguiente:
<!doctype html><html><body><h1>Hello World!</h1></body></html>
Para verificar que se haya bloqueado una solicitud maliciosa, ejecuta el siguiente comando. Este comando envía una solicitud para acceder al archivo de contraseñas, el cual está prohibido.
curl -m 2 EXTERNAL_IP:80/cgi-bin/../../../../bin/cat%20/etc/passwd/
Reemplaza
EXTERNAL_IP
por la IP externa de la VMvm-server-ips
.Se espera un mensaje
Connection timed out
porque el extremo del firewall detecta la amenaza en la solicitud y bloquea el paquete.Cierra el cuadro de diálogo SSH en el navegador.
gcloud
Para conectarte a la VM de
vm-client-ips
, ejecuta el siguiente comando:gcloud compute ssh vm-client-ips \ --zone=us-central1-a \ --tunnel-through-iap
Cuando se te solicite, presiona Y para confirmar y, luego, Intro.
Para verificar si una solicitud no de amenaza no está bloqueada, ejecuta el siguiente comando:
curl EXTERNAL_IP -m 2
Reemplaza
EXTERNAL_IP
por la IP externa de la instancia devm-server-ips
VM.El mensaje de respuesta esperado es el siguiente:
<!doctype html><html><body><h1>Hello World!</h1></body></html>
Para verificar que se haya bloqueado una solicitud maliciosa, ejecuta el siguiente comando:
curl -m 2 EXTERNAL_IP:80/cgi-bin/../../../../bin/cat%20/etc/passwd/
Reemplaza
EXTERNAL_IP
por la IP externa de la instancia devm-server-ips
VM.Se espera un mensaje
Connection timed out
porque el extremo del firewall detecta la amenaza en la solicitud y bloquea el paquete.Para cerrar el SSH en el navegador, ingresa
exit
.
Consulta los registros de amenazas
En la consola de Google Cloud, ve a la página Amenazas.
Si es necesario, selecciona tu proyecto de Google Cloud.
En la sección Amenaza, puedes ver la entrada de registros de la amenaza detectada en tu red
vpc-ips
.
Realiza una limpieza
Para evitar que se apliquen cargos a su cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
En esta sección, borrarás los recursos que creaste en este instructivo.
Borra la asociación de extremo de firewall
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en la red
vpc-ips
para ver la página Detalles de la red de VPC.Selecciona la pestaña Extremo de firewall. En la pestaña se muestra una lista de asociaciones de extremos de firewall configuradas.
Elige la casilla de verificación junto a
endpoint-ips
y, luego, haz clic en Borrar.Haga clic en Borrar nuevamente para confirmar.
gcloud
Para borrar la asociación del extremo de firewall, ejecuta el siguiente comando: sí,
gcloud network-security firewall-endpoint-association
delete endpoint-ips
--zone asia-southeast1-a
Borra el extremo del firewall
Console
En la consola de Google Cloud, ve a la página Extremos de firewall.
Elige
endpoint-ips
y, luego, haz clic en Borrar.Haga clic en Borrar nuevamente para confirmar.
gcloud
Para borrar el extremo de firewall, ejecuta los siguientes comandos:
gcloud network-security firewall-endpoints delete endpoint-ips \ --organization ORGANIZATION_ID \ --zone asia-southeast1-a
Reemplaza lo siguiente:
ORGANIZATION_ID
: es la organización en la que se activa el extremo.
Borra la política de extremos de firewall de red global
Console
En la consola de Google Cloud, ve a la página Políticas de firewall.
En el menú de selección de proyectos, elige el proyecto que contiene la política.
Haz clic en
fw-policy-ips
.Haz clic en la pestaña Asociaciones.
Selecciona todas las asociaciones.
Haz clic en Quitar asociaciones.
Una vez que se quiten todas las asociaciones, haz clic en Borrar.
gcloud
Para quitar la asociación entre la política de firewall y la red de VPC, ejecuta el siguiente comando:
gcloud compute network-firewall-policies associations delete \ --name fw-pol-association-ips \ --firewall-policy fw-policy-ips \ --global-firewall-policy
Borra la política de firewall.
gcloud compute network-firewall-policies delete fw-policy-ips --global
Cuando se te solicite, presiona Y para confirmar y, luego, Intro.
Borra el grupo de perfiles de seguridad
Console
En la consola de Google Cloud, ve a la página Perfiles de seguridad.
Selecciona la pestaña Grupos de perfiles de seguridad.
Elige
sec-profile-group-ips
y, luego, haz clic en Borrar.Haga clic en Borrar nuevamente para confirmar.
gcloud
Para borrar el grupo de perfiles de seguridad, ejecuta el siguiente comando:
gcloud network-security security-profile-groups \ delete sec-profile-group-ips \ --organization ORGANIZATION_ID \ --location global
Reemplaza lo siguiente:
ORGANIZATION_ID
: es la organización en la que se crea el grupo de perfiles de seguridad.
Borra el perfil de seguridad
Console
En la consola de Google Cloud, ve a la página Perfiles de seguridad.
Selecciona la pestaña Perfiles de seguridad. En la pestaña, se muestra una lista de los perfiles de seguridad configurados.
Elige
sec-profile-ips
y, luego, haz clic en Borrar.Haga clic en Borrar nuevamente para confirmar.
gcloud
Para borrar el perfil de seguridad, ejecuta el siguiente comando:
gcloud network-security security-profiles threat-prevention \ delete sec-profile-ips \ --organization ORGANIZATION_ID \ --location global
Reemplaza lo siguiente:
ORGANIZATION_ID
: es la organización en la que se crea el perfil de seguridad.
Borra las VMs
Console
En la consola de Google Cloud, ve a la página Instancias de VM.
Elige las casillas de verificación de
vm-client-ips
yvm-server-ips
VMs.Haz clic en Borrar.
En el cuadro de diálogo ¿Quieres borrar 2 instancias?, haz clic en Borrar.
gcloud
Para borrar la VM de
vm-client-ips
, ejecuta el siguiente comando:gcloud compute instances delete vm-client-ips \ --zone us-central1-a
Cuando se te solicite, presiona Y para confirmar y, luego, Intro.
Para borrar la VM de
vm-server-ips
, ejecuta el siguiente comando:gcloud compute instances delete vm-server-ips \ --zone asia-southeast1-a
Cuando se te solicite, presiona Y para confirmar y, luego, Intro.
Borra la red de VPC y sus subredes
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
En la columna Nombre, haz clic en
vpc-ips
.Haz clic en Borrar la red de VPC.
En el diálogo Borrar una red, haz clic en Borrar.
Cuando borras una VPC, también se borran sus subredes.
gcloud
Para borrar las subredes de la red de VPC
subnet-ips-client
devpc-ips
, ejecuta el siguiente comando:gcloud compute networks subnets delete subnet-ips-client \ --region us-central1
Cuando se te solicite, presiona Y para confirmar y, luego, Intro.
Para borrar las subredes de la red de VPC
subnet-ips-server
devpc-ips
, ejecuta el siguiente comando:gcloud compute networks subnets delete subnet-ips-server \ --region=asia-southeast1
Cuando se te solicite, presiona Y para confirmar y, luego, Intro.
Para borrar la red de VPC
vpc-ips
, ejecuta el siguiente comando:gcloud compute networks delete vpc-ips
¿Qué sigue?
- Para obtener información conceptual sobre el servicio de prevención de intrusiones, consulta Descripción general del servicio de prevención de intrusiones.
- Para obtener información conceptual sobre las políticas de firewall, consulta Políticas de firewall.
- Para obtener información conceptual sobre las reglas de política de firewall, consulta Reglas de política de firewall.
- Para determinar los costos, consulta Precios de Cloud NGFW.