El servicio de detección y prevención de intrusos monitoriza el tráfico de tu Google Cloud carga de trabajo en busca de actividad maliciosa y toma medidas preventivas para evitarla. Para habilitar este servicio en tu red, debes configurar varios componentes de Cloud Next Generation Firewall. En este tutorial se describe el flujo de trabajo completo para configurar el servicio de detección y prevención de intrusiones en tu red.
Crear una red VPC personalizada con subredes
En esta sección, crearás una red de VPC en modo personalizado con dos subredes IPv4.
Consola
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en Crear red VPC.
En Nombre, escribe
vpc-ips
.En Descripción, escriba
VPC network to set up intrusion detection and prevention service
.En Modo de creación de subred, selecciona Personalizado.
En la sección Nueva subred, especifique los siguientes parámetros de configuración de una subred:
- Nombre:
subnet-ips-server
- Región:
asia-southeast1
- Intervalo de IPv4:
10.0.0.0/24
- Nombre:
Haz clic en Listo.
Haz clic en Añadir subred y especifica los siguientes parámetros de configuración:
- Nombre:
subnet-ips-client
- Región:
us-central1
- Intervalo de 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 detection and prevention service."
En el cuadro de diálogo Autorizar Cloud Shell, haz clic en Autorizar.
Para crear una subred, ejecuta el siguiente comando:
gcloud compute networks subnets create subnet-ips-server \ --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-ips-client \ --network vpc-ips \ --region us-central1 \ --range 192.168.10.0/24
Crear un router de Cloud Router y una pasarela de Cloud NAT
Antes de crear instancias de VM Linux de cliente y servidor sin direcciones IPv4 públicas en la siguiente sección, debes crear un Cloud Router y una pasarela Cloud NAT, que permiten que estas VMs accedan a Internet público.
Consola
En la Google Cloud consola, ve a la página Cloud NAT.
Haz clic en Empezar o en Crear pasarela de Cloud NAT.
En Nombre de la pasarela, introduce
gateway-ips
.En Tipo de NAT, selecciona Público.
En la sección Select Cloud Router (Seleccionar Cloud Router), especifique los siguientes parámetros de configuración:
- Red:
vpc-ips
- Región:
asia-southeast1
- Cloud Router: Crear router.
- En Nombre, escribe
router-ips
. - Haz clic en Crear.
- En Nombre, escribe
- Red:
Haz clic en Crear.
gcloud
Para crear un Cloud Router, ejecuta el siguiente comando:
gcloud compute routers create router-ips \ --network=vpc-ips \ --region=asia-southeast1
Para crear una pasarela Cloud NAT, ejecuta el siguiente comando:
gcloud compute routers nats create gateway-ips \ --router=router-ips \ --region=asia-southeast1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges
Crear instancias de VM
En esta sección, crearás instancias de VM de servidor y de cliente.
Crear la instancia de VM del servidor
En esta sección, crearás una instancia de VM en la subred subnet-ips-server
e instalarás el servidor Apache en ella.
Consola
En la Google Cloud consola, ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- En Nombre, escribe
vm-server-ips
. - En Región, selecciona
asia-southeast1 (Singapore)
. - En Zona, selecciona
asia-southeast1-a
.
- En Nombre, escribe
En el menú de navegación, haz clic en Sistema operativo y almacenamiento.
En la sección Sistema operativo y almacenamiento, comprueba que Imagen sea Debian GNU/Linux 12 (bookworm). Si no es así, haz clic en Cambiar y, en el campo Sistema operativo, selecciona Debian y, en el campo Versión, Debian GNU/Linux 12 (bookworm).
En el menú de navegación, haga clic en Redes.
- En la sección Interfaces de red, haga clic en
default
y especifique los siguientes parámetros de configuración:- Red:
vpc-ips
- Subred:
subnet-ips-server IPv4 (10.0.0.0/24)
- Dirección IPv4 externa: Ninguna
- Red:
- Haz clic en Listo.
- En la sección Interfaces de red, haga clic en
En el menú de navegación, haga clic en Avanzado e introduzca la siguiente secuencia de comandos en el campo 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.
Anota la dirección IP externa de la máquina virtual 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-ips-server \ --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'
Anota la dirección IP externa de la VM en el estado devuelto.
Crear la instancia de VM de cliente
En esta sección, crearás una instancia de VM en la subred subnet-ips-client
.
Consola
En la Google Cloud consola, ve a la página Crear una instancia.
En el panel Configuración de la máquina, haz lo siguiente:
- En Nombre, escribe
vm-client-ips
. - En Región, selecciona
us-central1 (Iowa)
. - En Zona, selecciona
us-central1-a
.
- En Nombre, escribe
En el menú de navegación, haga clic en Redes.
- En la sección Interfaces de red, haga clic en
default
y especifique los siguientes parámetros de configuración:- Red:
vpc-ips
- Subred:
subnet-ips-client IPv4 (192.168.10.0/24)
- Red:
- Haz clic en Listo.
- En la sección Interfaces de red, haga clic en
Haz clic en Crear.
gcloud
Para crear la VM cliente, ejecuta el siguiente comando:
gcloud compute instances create vm-client-ips \ --network vpc-ips \ --zone us-central1-a \ --subnet subnet-ips-client \ --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. Para ver los permisos necesarios para crear un perfil de seguridad, consulta Crear un perfil de seguridad de prevención de amenazas.
Consola
En la Google Cloud consola, 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.
Haz clic en Create profile (Crear perfil).
En Nombre, escribe
sec-profile-ips
.En Descripción, escriba
Security profile to set up intrusion detection and 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 detection and prevention service."
Haz los cambios siguientes:
ORGANIZATION_ID
: la organización en la que se crea el perfil de seguridad.PROJECT_ID
: un ID de proyecto que se usará para las cuotas y las restricciones de acceso del perfil de seguridad.
Crear un grupo de perfiles de seguridad
En esta sección, creará un grupo de perfiles de seguridad para incluir el perfil de seguridad que ha creado en la sección anterior. Para ver los permisos necesarios para crear un grupo de perfiles de seguridad, consulta Permisos que se necesitan para completar esta tarea.
Consola
En la Google Cloud consola, 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, escribe
sec-profile-group-ips
.En Descripción, escriba
Security profile group to set up intrusion detection and prevention service
.En la lista Perfil de prevención de amenazas, selecciona
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 detection and prevention service."
Haz los cambios siguientes:
ORGANIZATION_ID
: la organización en la que se crea el grupo de perfiles de seguridad.PROJECT_ID
: un ID de proyecto que se usará para las cuotas y las restricciones de acceso del grupo de perfiles de seguridad.
Crear un endpoint de cortafuegos
En esta sección, creará un endpoint de firewall en una zona específica. Para ver los permisos necesarios para crear un endpoint de firewall, consulta Permisos que se necesitan para completar esta tarea.
Nota: Cuando creas un endpoint de cortafuegos, su estado se define como Creating
. Cuando el endpoint del cortafuegos esté listo, el estado cambiará a Active
.
Consola
En la Google Cloud consola, ve a la página Endpoints de cortafuegos.
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, escribe
endpoint-ips
.Haz clic en Crear.
gcloud
Para crear un endpoint 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
Haz los cambios siguientes:
ORGANIZATION_ID
: la organización en la que se crea el endpoint del cortafuegos.PROJECT_ID
: un ID de proyecto que se usará para facturar el endpoint del firewall.
Crear una asociación de endpoint de cortafuegos
En esta sección, asociarás el endpoint de cortafuegos a la red de VPC que has creado en el paso anterior.
Consola
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en la red
vpc-ips
para ver su página Detalles de la red de VPC.Selecciona la pestaña Endpoint de cortafuegos.
Haz clic en Añadir asociación de endpoint.
En la lista Región, selecciona
asia-southeast1
.En la lista Zona, selecciona
asia-southeast1-a
.En la lista Endpoint de cortafuegos, selecciona
endpoint-ips
.Haz clic en Crear.
gcloud
Para crear una asociación de endpoint de cortafuegos, 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
Haz los cambios siguientes:
ORGANIZATION_ID
: la organización en la que se crea el endpoint del cortafuegos.PROJECT_ID
: ID del proyecto en el que se crea la asociación.
Crear una política de cortafuegos de red global
En esta sección, creará una política de cortafuegos de red global que contenga las dos reglas de cortafuegos siguientes:
- Una regla de cortafuegos de entrada con prioridad
100
para permitir el tráfico TCP a los puertos3389
y22
. Esta regla permite el acceso de IAP a las instancias de VM de la red de VPC. - Una regla de cortafuegos de entrada con prioridad
200
para realizar una inspección de capa 7 en el tráfico entrante a la VM del servidor en una zona específica.
Consola
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
En la lista del selector de proyectos, selecciona el proyecto de tu organización.
Haz clic en Crear política de cortafuegos.
En Nombre, escribe
fw-policy-ips
.En Deployment scope (Ámbito de implementación), selecciona Global (Global).
Haz clic en Continuar y, después, en Añadir regla.
En el campo Priority (Prioridad), introduce
100
.En Registros, selecciona Activado.
En Dirección del tráfico, selecciona Entrada.
En Acción tras coincidencia, selecciona Permitir.
En el filtro Fuente, selecciona IPv4 y, en el campo Intervalo de IP, introduce
35.235.240.0/20
.En la sección Protocolos y puertos, selecciona Protocolos y puertos especificados.
Selecciona TCP y, en Puertos, introduce
22,3389
.Haz clic en Crear.
Haz clic en Añadir regla.
En el campo Priority (Prioridad), introduce
200
.En Registros, selecciona Activado.
En Dirección del tráfico, selecciona Entrada.
En Acción tras coincidencia, selecciona Continuar con la inspección de nivel 7.
En la lista Grupo de perfiles de seguridad, selecciona
sec-profile-group-ips
.En el filtro Destino, selecciona IPv4 y, a continuación, en el campo Intervalo de IP, introduce la dirección IP externa de la VM del servidor que has creado 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 a redes de VPC.
Selecciona la red
vpc-ips
.Haz clic en Asociar.
Haz clic en Crear.
gcloud
Para crear una política de cortafuegos de red global, ejecuta el siguiente comando:
gcloud compute network-firewall-policies \ create fw-policy-ips \ --global \ --project PROJECT_ID
Haz los cambios siguientes:
PROJECT_ID
: un ID de proyecto en el que se crea la política de cortafuegos de red global.
Para añadir la regla de cortafuegos que habilita el acceso a 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
Para añadir la regla de cortafuegos que habilita la inspección de la capa 7 para la prevención y la detección de 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
Haz los cambios siguientes:
SERVER_VM_IP
: la dirección IP externa de la VM del servidor que has creado en la sección Crear las instancias de VM del servidor.ORGANIZATION_ID
: la organización en la que se crea el grupo de perfiles seguros.
Para asociar la política de cortafuegos 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
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se crea la asociación de VPC.
Probar la configuración
En esta sección, probarás la configuración generando tráfico que intercepte el endpoint y se aplicará la política de firewall de red global para realizar la inspección de la capa 7.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la columna IP externa de la VM
vm-server-ips
, copia la dirección IP externa de la VM.En la columna Conectar de la máquina virtual
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 comprobar si una solicitud que no supone una amenaza no está bloqueada, ejecuta el siguiente comando:
curl EXTERNAL_IP -m 2
Sustituye
EXTERNAL_IP
por la IP externa de la VMvm-server-ips
.El mensaje de respuesta esperado es el siguiente:
<!doctype html><html><body><h1>Hello World!</h1></body></html>
Para verificar que se ha bloqueado una solicitud maliciosa, ejecuta el siguiente comando. Este comando envía una solicitud para acceder al archivo de contraseñas, lo cual está prohibido.
curl -m 2 EXTERNAL_IP:80/cgi-bin/../../../../bin/cat%20/etc/passwd/
Sustituye
EXTERNAL_IP
por la IP externa de la VMvm-server-ips
.Se espera un mensaje
Connection timed out
porque el endpoint del cortafuegos 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
vm-client-ips
, ejecuta el siguiente comando:gcloud compute ssh vm-client-ips \ --zone=us-central1-a \ --tunnel-through-iap
Cuando se te pida, pulsa Y para confirmar y, a continuación, pulsa Intro.
Para verificar si una solicitud que no supone una amenaza no está bloqueada, ejecuta el siguiente comando:
curl EXTERNAL_IP -m 2
Sustituye
EXTERNAL_IP
por la IP externa de la VMvm-server-ips
.El mensaje de respuesta esperado es el siguiente:
<!doctype html><html><body><h1>Hello World!</h1></body></html>
Para verificar que se ha bloqueado una solicitud maliciosa, ejecuta el siguiente comando:
curl -m 2 EXTERNAL_IP:80/cgi-bin/../../../../bin/cat%20/etc/passwd/
Sustituye
EXTERNAL_IP
por la IP externa de la VMvm-server-ips
.Se espera un mensaje
Connection timed out
porque el endpoint del cortafuegos detecta la amenaza en la solicitud y bloquea el paquete.Para cerrar SSH en el navegador, introduce
exit
.
Ver los registros de amenazas
En la Google Cloud consola, ve a la página Amenazas.
Si es necesario, selecciona tu Google Cloud proyecto.
En la sección Amenaza, puede ver la entrada de registro de la amenaza detectada en su red
vpc-ips
.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en este tutorial, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.
En esta sección, eliminarás los recursos creados en este tutorial.
Eliminar la asociación de endpoint de cortafuegos
Consola
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en la red
vpc-ips
para ver su página Detalles de la red de VPC.Selecciona la pestaña Endpoint de cortafuegos. En la pestaña se muestra una lista de asociaciones de endpoints de firewall configuradas.
Marca la casilla situada junto a
endpoint-ips
y, a continuación, haz clic en Eliminar.Haz clic en Eliminar de nuevo para confirmar la acción.
gcloud
Para eliminar la asociación del endpoint de cortafuegos, ejecuta el siguiente comando: yes,
gcloud network-security firewall-endpoint-association
delete endpoint-ips
--zone asia-southeast1-a
Eliminar el endpoint del cortafuegos
Consola
En la Google Cloud consola, ve a la página Endpoints de cortafuegos.
Selecciona
endpoint-ips
y, a continuación, haz clic en Eliminar.Haz clic en Eliminar de nuevo para confirmar la acción.
gcloud
Para eliminar el endpoint del cortafuegos, ejecuta los siguientes comandos:
gcloud network-security firewall-endpoints delete endpoint-ips \ --organization ORGANIZATION_ID \ --zone asia-southeast1-a
Haz los cambios siguientes:
ORGANIZATION_ID
: la organización en la que se crea el endpoint.
Eliminar la política de endpoint de cortafuegos de red global
Consola
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
En el menú de selección de proyectos, elige el proyecto que contenga la política.
Haz clic en
fw-policy-ips
.Haz clic en la pestaña Asociaciones.
Selecciona todas las asociaciones.
Haz clic en Eliminar asociaciones.
Una vez que se hayan quitado todas las asociaciones, haz clic en Eliminar.
gcloud
Para quitar la asociación entre la política de cortafuegos 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
Elimina la política de cortafuegos.
gcloud compute network-firewall-policies delete fw-policy-ips --global
Cuando se te pida, pulsa Y para confirmar y, a continuación, pulsa Intro.
Eliminar el grupo de perfiles de seguridad
Consola
En la Google Cloud consola, ve a la página Perfiles de seguridad.
Selecciona la pestaña Grupos de perfiles de seguridad.
Selecciona
sec-profile-group-ips
y, a continuación, haz clic en Eliminar.Haz clic en Eliminar de nuevo para confirmar la acción.
gcloud
Para eliminar 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
Haz los cambios siguientes:
ORGANIZATION_ID
: la organización en la que se crea el grupo de perfiles de seguridad.
Eliminar el perfil de seguridad
Consola
En la Google Cloud consola, ve a la página Perfiles de seguridad.
Selecciona la pestaña Perfiles de seguridad. En la pestaña se muestra una lista de perfiles de seguridad configurados.
Selecciona
sec-profile-ips
y, a continuación, haz clic en Eliminar.Haz clic en Eliminar de nuevo para confirmar la acción.
gcloud
Para eliminar el perfil de seguridad, ejecuta el siguiente comando:
gcloud network-security security-profiles threat-prevention \ delete sec-profile-ips \ --organization ORGANIZATION_ID \ --location global
Haz los cambios siguientes:
ORGANIZATION_ID
: la organización en la que se crea el perfil de seguridad.
Eliminar las VMs
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
Seleccione las casillas de las máquinas virtuales
vm-client-ips
yvm-server-ips
.Haz clic en Eliminar.
En el cuadro de diálogo ¿Eliminar 2 instancias?, haz clic en Eliminar.
gcloud
Para eliminar la máquina virtual
vm-client-ips
, ejecuta el siguiente comando:gcloud compute instances delete vm-client-ips \ --zone us-central1-a
Cuando se te pida, pulsa Y para confirmar y, a continuación, pulsa Intro.
Para eliminar la máquina virtual
vm-server-ips
, ejecuta el siguiente comando:gcloud compute instances delete vm-server-ips \ --zone asia-southeast1-a
Cuando se te pida, pulsa Y para confirmar y, a continuación, pulsa Intro.
Elimina la red de VPC y sus subredes
Consola
En la Google Cloud consola, ve a la página Redes de VPC.
En la columna Nombre, haga clic en
vpc-ips
.Haz clic en Eliminar red de VPC.
En el cuadro de diálogo Eliminar una red, haz clic en Eliminar.
Cuando eliminas una VPC, también se eliminan sus subredes.
gcloud
Para eliminar la subred
subnet-ips-client
de la red VPCvpc-ips
, ejecuta el siguiente comando:gcloud compute networks subnets delete subnet-ips-client \ --region us-central1
Cuando se te pida, pulsa Y para confirmar y, a continuación, pulsa Intro.
Para eliminar la subred
subnet-ips-server
de la red VPCvpc-ips
, ejecuta el siguiente comando:gcloud compute networks subnets delete subnet-ips-server \ --region=asia-southeast1
Cuando se te pida, pulsa Y para confirmar y, a continuación, pulsa Intro.
Para eliminar la red VPC
vpc-ips
, ejecuta el siguiente comando:gcloud compute networks delete vpc-ips