arrow_back

Configura y usa registros de flujo de VPC en Cloud Logging

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

Configura y usa registros de flujo de VPC en Cloud Logging

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Descripción general

En este lab, investigarás los registros de flujo de VPC. Los registros de flujo de VPC registran los flujos de red enviados o recibidos por las instancias de VM. Estos registros se pueden usar para la supervisión de redes, la detección de intrusiones, el análisis de seguridad en tiempo real y la optimización de gastos.

En este lab, habilitarás el registro de flujo de VPC y usarás Cloud Logging para ver los registros. A continuación, realizarás la supervisión de red, la detección de intrusiones y el análisis de seguridad en tiempo real, antes de inhabilitar en una instancia final el registro de flujos de VPC.

Objetivos

En este lab, aprenderás a realizar lo siguiente:

  • Habilitar los registros de flujo de VPC en una subred.
  • Acceder a los registros a través de Cloud Logging.
  • Filtrar los registros de subredes específicas, VMs, puertos o protocolos.
  • Cumplir con la supervisión de redes, la detección de intrusiones y el análisis de seguridad en tiempo real.
  • Inhabilitar el registro de flujo de VPC.

Configuración y requisitos

En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Qwiklabs desde una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Activa Google Cloud Shell

Google Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud.

Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell destacado

  2. Haz clic en Continuar.

El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

ID del proyecto destacado en la terminal de Cloud Shell

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.

  • Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list

Resultado:

Credentialed accounts: - @.com (active)

Resultado de ejemplo:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puedes solicitar el ID del proyecto con este comando:
gcloud config list project

Resultado:

[core] project =

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: La documentación completa de gcloud está disponible en la guía de descripción general de gcloud CLI .

Tarea 1. Habilita el registro de flujo de VPC

En esta tarea, habilitarás el registro de flujo para dos subredes. El registro de flujo también se puede habilitar exactamente de la misma manera para las redes personalizadas definidas por el usuario. También se puede habilitar cuando creas una subred en un paso.

Usa gcloud en Cloud Shell para habilitar el registro de flujo de VPC en dos subredes

  1. Para habilitar el registro de flujo en dos subredes, ejecuta los siguientes comandos en Cloud Shell:
gcloud compute networks subnets update default \ --region us-central1 --enable-flow-logs \ --logging-metadata=include-all gcloud compute networks subnets update default \ --region europe-west1 --enable-flow-logs \ --logging-metadata=include-all

Ten en cuenta que habilitarás los registros de flujo de VPC para las dos subredes de us-central1 y europe-west1. Ninguna de las otras subredes tiene los registros de flujo habilitados.

  1. Para crear tres instancias en diferentes subredes (y usarlas más adelante en las pruebas), ejecuta los siguientes comandos:
gcloud compute instances create default-us-vm \ --machine-type e2-micro \ --zone=us-central1-a --network=default gcloud compute instances create default-eu-vm \ --machine-type e2-micro \ --zone=europe-west1-b --network=default gcloud compute instances create default-ap-vm \ --machine-type e2-micro \ --zone=asia-east1-a --network=default Nota: Si te aparece el error ZONE_RESOURCE_POOL_EXHAUSTED, actualiza la zona en el comando de gcloud y, luego, vuelve a ejecutarlo. Por ejemplo, si falla us-central1-a, intenta us-central1-ben su lugar.

Haz clic en Revisar mi progreso para verificar el objetivo. Habilita los registros de flujo de VPC en las subredes y crea instancias

Tarea 2. Genera tráfico de red para las pruebas

En esta tarea, crearás tráfico de red para probar la conectividad entre las instancias.

  1. En la consola de Google Cloud, en el Menú de navegación, haz clic en Compute Engine > Instancias de VM para mostrar una lista de las instancias de VM.
  2. Registra las direcciones IP interna y externa de cada instancia. Las necesitarás más adelante en este lab.
Instancia IP interna IP externa
default-ap-vm ***** *****
default-eu-vm ***** *****
default-us-vm ***** *****
  1. En la fila de la instancia default-us-vm, haz clic en SSH.
  2. Cuando estés conectado con SSH, emite los siguientes comandos:
sudo apt-get install -y host host www.wikipedia.org 8.8.8.8 ping -c 5 default-eu-vm.europe-west1-b ping -c 5 www.google.com curl http://www.google.com

Estos comandos hicieron lo siguiente:

  • Instalaron la utilidad de resolución de DNS del host.
  • Realizaron una búsqueda de DNS de www.wikipedia.org mediante el servidor DNS 8.8.8.8.
  • Hicieron ping a la instancia default-eu-vm y www.google.com
  • Usaron curl para crear una conexión HTTP a www.google.com

A continuación, ejecutarás los mismos comandos de arriba, pero en lugar de hacer ping a default-eu-vm desde default-us-vm, haces ping a default-us-vm desde default-eu-vm.

  1. Vuelve a la consola de Cloud y, en la fila de la instancia default-eu-vm, haz clic en SSH.
  2. Cuando estés conectado con SSH, emite los siguientes comandos:
sudo apt-get install -y host host www.wikipedia.org 8.8.8.8 ping -c 5 default-us-vm.us-central1-a ping -c 5 cloud.google.com curl http://www.google.com
  1. Vuelve a la consola de Cloud y desde la fila de la instancia default-ap-vm, haz clic en SSH.

  2. Cuando estés conectado con SSH, emite los siguientes comandos:

sudo apt-get install -y host host www.bitnami.com 8.8.8.8 curl http://www.bitnami.com

Tarea 3: Visualiza los registros de flujo en Cloud Logging

En esta tarea, visualizarás los registros de flujo de VPC para todos los proyectos de Cloud Logging.

Accede a todos los registros de flujo

  1. En la consola de Cloud, ve al Menú de navegación > Logging > Explorador de registros (si no ves esta opción de menú, continúa con este lab, en el paso 3).

  2. En el panel Consultas, en Recurso, haz clic en Subred.

  3. En Nombre del registro, haz clic en compute.googleapis.com/vpc_flows.

Nota: Si no aparece ningún nombre de registro para lo anterior, prueba pegar compute.googleapis.com%2Fvpc_flows en su lugar.
  1. Haz clic en Ejecutar consulta.

  2. En el panel Resultados de la consulta, aparecerán las entradas de los registros de flujo de la VPC. Si no ves compute.googleapis.com/vpc_flows, espera unos minutos hasta que aparezca este tipo de registro.

Nota: Esto debería mostrar todos los registros de flujo de la VPC de tu proyecto. Recuerda que solo tienes registros de flujo habilitados para dos subredes.
  1. Expande una de las entradas del registro.

  2. Dentro de esa entrada, expande jsonPayload y, luego, connection.

Nota: Algunas entradas no tienen campos jsonPayload. Puede que tengas que abrir otras entradas hasta que encuentres una que sí lo tenga.
  1. Investiga la información sobre la conexión; en concreto, observa que se hayan registrado el puerto y la dirección IP del origen y del destino.

  2. Encuentra un registro que tenga src_instance en jsonPayload. Investiga la información sobre esta instancia src.

La src_instance puede ser una de tus instancias o una dirección IP externa si el tráfico proviene de afuera de tu red de VPC.

Registro de ubicación de origen con campo Instancia de VM

  1. Investiga cualquier información adicional en esta entrada de registro o en otra.

Tarea 4. Realiza filtrados avanzados

En esta tarea, realizarás filtrados avanzados con el compilador de consultas. También puedes explorar los registros de acceso para IP de origen o destino específicas, y para puertos y protocolos específicos.

Un filtro de registros avanzado es una expresión booleana en la que se especifica un subconjunto de todas las entradas de registro de tu proyecto. Se puede usar para lo siguiente:

  • Selección de entradas de registro para VMs específicas.
  • Elección de entradas de registro para puertos de origen o destino específicos.
  • Selección de entradas de registro para direcciones IP de origen o destino específicas.
  • Elección de entradas de registro de protocolos específicos.
  1. Haz clic en la casilla Consulta.

  2. Quita la consulta actual, pega la siguiente y reemplaza <INSERT_PROJECT_ID> por tu ID del proyecto de Google Cloud de Qwiklabs.

resource.type="gce_subnetwork" log_name="projects/<INSERT_PROJECT_ID>/logs/compute.googleapis.com%2Fvpc_flows"
  1. Haz clic en Ejecutar consulta.
Nota: Para el resto de este lab, asegúrate de dejar siempre estas dos líneas al principio del filtro, ya que agregarás líneas adicionales después de estas dos. Si borras o modificas estas dos por accidente, cópialas desde arriba (asegúrate de cambiar el ID del proyecto).

Registros de acceso para una dirección IP de origen o destino específica

  1. Agrega la siguiente línea al final del filtro. Reemplaza Internal_IP_Of_default_us_vm por la dirección IP interna de tu instancia default_us_vm (ya registraste esto antes):
jsonPayload.connection.src_ip="Internal_IP_Of_default_us_vm"
  1. Haz clic en Ejecutar consulta.

Ahora puedes ver todas las entradas de registro en las que la dirección IP de origen es la dirección IP interna de la instancia default-us-vm. Estas deberían ser las mismas entradas que para el filtro anterior que mostraba la instancia de origen de default-us-vm.

Accede a los registros de puertos y protocolos específicos

  1. Borra la última línea en el filtro (la que coincide con src_ip) y reemplázala por la siguiente línea que solo mostrará entradas con un puerto de destino de 22 (SSH):
jsonPayload.connection.dest_port=22
  1. Haz clic en Ejecutar consulta y observa los resultados. Deberías ver tres registros, ya que estableciste la conexión SSH en las VMs tres veces.

  2. Modifica la última línea del filtro para que solo muestre el tráfico con puerto de destino 80 (HTTP):

jsonPayload.connection.dest_port=80
  1. Haz clic en Ejecutar consulta y observa los resultados.

  2. Haz coincidir varios puertos reemplazando la última línea y agregando esta sentencia con un OR al final del filtro de puertos:

jsonPayload.connection.dest_port=(80 OR 22)
  1. Cambia la última línea del filtro para que solo muestre entradas que usen el protocolo UDP (protocolo 17):
jsonPayload.connection.protocol=17
  1. Haz clic en Ejecutar consulta y observa los resultados.

Deberías ver algunas entradas en el registro. Estas corresponderían a las llamadas DNS que realizaste con la utilidad de host.

  1. Investiga una de las entradas de registro y localiza el número de puerto de destino que usa el DNS.
Nota: El DNS usa el puerto 53.
  1. Modifica el filtro para mostrar todas las entradas con un protocolo de 17 y un puerto de destino de 53:
jsonPayload.connection.protocol=17 jsonPayload.connection.dest_port=53
  1. Haz clic en Ejecutar consulta y observa los resultados.
Nota: Actualmente, los registros de flujo solo supervisan UDP (protocolo núm. 17) y TCP (protocolo núm. 6). Antes, generaste algo de tráfico ICMP en las instancias con ping. ICMP es el protocolo 1. Si creas un filtro para mostrar el protocolo 1, no verás ninguna entrada. Pruébalo si quieres.

Tarea 5. Supervisa la red y proporciona asistencia de análisis de seguridad en tiempo real

En esta tarea, crearás un filtro y lo usarás para ver si algún tráfico RDP está intentando acceder a la VPC.

Busca puertos y protocolos inesperados

Como estás ejecutando instancias de Linux dentro de la red de VPC, no deberías ver ningún tráfico de RDP. Sin embargo, hay una regla de firewall dentro de la configuración predeterminada que permite el tráfico de RDP desde cualquier lugar, y esto significa que alguien o algo en Internet podría intentar conectarse a tus servidores mediante el protocolo RDP.

  1. Modifica el filtro de registro de flujo para mostrar todo el tráfico con un puerto de destino de 3389 (RDP). Asegúrate de dejar las dos primeras líneas del filtro existente, pero borra y reemplaza las demás líneas por lo siguiente y haz clic en Ejecutar consulta:
jsonPayload.connection.dest_port=3389
  1. Si ves algún tráfico de RDP, investiga de dónde viene el tráfico. Puede que no veas ningún tráfico de RDP, pero es común ver al menos algo. Si no viste nada, espera unos minutos y vuelve a verificar.

Si viste algo de tráfico de RDP, lo que ocurre a menudo, es que eso demuestra lo extendido que puede estar el tráfico no deseado en Internet. También muestra por qué es importante asegurarse de que las redes de VPC y las reglas de firewall se configuren de forma correcta.

Mediante el uso de la VPC predeterminada en este lab, con todas las reglas de firewall predeterminadas, viste los resultados de no ajustar estas reglas para ayudar a excluir el tráfico no deseado.

Nota: Una de las mejores prácticas recomendadas para los sistemas de producción es usar una VPC personalizada con reglas de firewall muy específicas y borrar la VPC predeterminada. Nota: Otro servicio que puede ayudar en cuestiones como la restricción del tráfico no deseado es Google Cloud Armor. Google Cloud Armor ofrece protección a gran escala contra ataques de denegación de servicio distribuido (DDoS) a la infraestructura y las aplicaciones gracias a los sistemas de seguridad y la infraestructura global de Google.

Crea exportaciones para proporcionar asistencia con análisis de seguridad en tiempo real

Los registros de flujo se pueden exportar a cualquier destino que admita la exportación de Cloud Logging (Pub/Sub, BigQuery, etcétera). Mediante la creación de una exportación, se exportarán los futuros registros coincidentes al destino seleccionado; los registros existentes no se exportarán.

La exportación de registros a BigQuery permite usar las herramientas de análisis de BigQuery en tus registros para realizar análisis. La exportación de registros a Pub/Sub permite transmitir tus registros a otras aplicaciones, otros repositorios o terceros.

Cuando creas una exportación de Cloud, el filtro actual se aplicará a la exportación. Esto significa que solo se exportarán los eventos que coincidan con el filtro. Por ejemplo, si tienes un filtro que solo muestra el tráfico al puerto de destino 3389, solo se exportará el tráfico que coincida con ese filtro.

Esto puede ayudar a reducir la cantidad de datos que se exporta (lo que podría reducir costos) o permitir diferentes exportaciones en función de lo que contengan los datos. Para este lab, borrarás el filtro y exportarás todos los registros porque no tienes mucho tráfico.

  1. Borra todo el texto en el editor de consultas y haz clic en Ejecutar consulta.
  2. Haz clic en Más acciones > Crear un receptor.
  3. En “Nombre de receptor”, ingresa FlowLogBQExport y haz clic en SIGUIENTE.
  4. En “Seleccionar el servicio del receptor”, selecciona Conjunto de datos de BigQuery.
  5. En “Destino del receptor”, selecciona Crear nuevo conjunto de datos de BigQuery.
  6. En “ID del conjunto de datos”, escribe flowlogs_dataset y, luego, haz clic en Crear conjunto de datos.
  7. Haz clic en Crear receptor. Aparecerá la página Receptores de enrutadores de registros.

Deberías poder ver el receptor que creaste (FlowLogBQExport). Si no es así, haz clic en Enrutador de registros.

  1. En el lado derecho, haz clic en el menú Más acciones (more_menu.png) para tu exportación y selecciona Ver detalles del receptor.
  2. Haz clic en Cancelar.
Nota: Todos los registros futuros no se exportarán a BigQuery. Ahora se pueden usar las herramientas de BigQuery para realizar análisis de los datos del registro de flujo. Luego, en el lab realizarás una consulta sencilla en BigQuery. Nota: También podrías exportar entradas de registros a Pub/Sub o a Cloud Storage. Exportar a Pub/Sub puede ser útil si deseas pasar por un proceso de ETL antes de almacenar en una base de datos (Operaciones > Pub/Sub > Dataflow > BigQuery/Cloud Bigtable). La exportación a Cloud Storage agrupará las entradas y las escribirá en objetos de Cloud Storage aproximadamente cada hora.

Ahora crea una exportación a Pub/Sub.

  1. En la página Enrutador de registros, haz clic en Crear receptor.
  2. En “Nombre de receptor”, ingresa FlowLogPubSubExport y haz clic en Siguiente.
  3. Elige “Seleccionar servicio de receptor” como tema de Cloud Pub/Sub.
  4. En “Tema de Cloud Pub/Sub”, selecciona Crear un tema.
  5. En ID del tema, ingresa FlowLogsTopic y, luego, haz clic en Crear.
  6. Haz clic en Crear receptor.

Aparecerá la página Receptores de enrutadores de registros. Deberías poder ver el receptor que creaste (FlowLogsTopic). Si no es así, haz clic en Enrutador de registros.

  1. En el lado derecho, haz clic en el menú Más acciones para tu exportación y selecciona Ver detalles del receptor.

Esto mostrará el filtro que estaba presente cuando se creó la exportación.

  1. Haz clic en Cancelar.

Ahora puedes suscribirte al nuevo tema Pub/Sub y recibir notificaciones cuando haya nuevos registros disponibles. Esto te permite transmitir los registros a una herramienta de SIEM (administración de información y eventos de seguridad) y también integrarlos a ella.

Las herramientas de SIEM se usan para obtener información operativa en tiempo real y crear informes de auditoría con potentes funciones de visualización.

Tarea 6. Analiza registros de flujo en BigQuery

En esta tarea, analizarás registros de flujo en BigQuery.

Nota: Cuando exportas registros a un conjunto de datos de BigQuery, Cloud Logging crea tablas con fecha para contener las entradas de registro exportadas. Las entradas de registro se ubican en tablas cuyos nombres se basan en los nombres de las entradas de registro.
  1. En la consola de Cloud, ve a Menú de navegación y haz clic en BigQuery.
  2. En el panel de navegación, en Explorar, expande el nombre del proyecto para ver el conjunto de datos flowlogs_dataset.
  3. Expande el conjunto de datos para ver la tabla con los registros de flujo exportados.
  4. Haz clic en el nombre de la tabla que comienza con compute_googleapis_com_vpc_flows_ y revisa los esquemas y detalles de las tablas en uso.
Nota: Si esa tabla no aparece en el conjunto de datos, abre el menú de navegación y haz clic en “Descripción general de Cloud” o cualquier otro servicio. Luego, abre el menú de navegación, selecciona BigQuery y trata de encontrar la tabla nuevamente (a veces, la tabla tarda uno o dos minutos en aparecer en el conjunto de datos).
  1. Haz clic en Consulta > En una nueva pestaña.
  2. Borra el texto que aparece en la ventana Nueva consulta y pega la consulta a continuación:
#standardSQL SELECT jsonPayload.connection.dest_ip, resource FROM `flowlogs_dataset.compute_googleapis_com_vpc_flows*` WHERE jsonPayload.connection.dest_port = 22 LIMIT 1000
  1. Haz clic en Ejecutar.

Esta consulta devuelve información sobre el tráfico que se conecta al puerto 22.

Los resultados se muestran luego de unos segundos. Deberías ver una o dos entradas, que es la actividad que generaste en este lab. Recuerda que en BigQuery solo se muestra la actividad desde que se creó la exportación.

Nota: Si no viste ningún resultado, es posible que debas generar algo de tráfico a las instancias. Para eso, ve al Menú de navegación > Compute Engine y haz clic en SSH para cada instancia. A continuación, intenta la consulta de nuevo.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear exportaciones y analizar registros de flujo en BigQuery

Tarea 7. Inhabilita el registro de flujo

En esta tarea, inhabilitarás el registro de flujo de VPC. El registro de flujo de VPC se puede desactivar con la opción --no-enable-flow-logs.

  1. Intenta inhabilitarlo en una de tus subredes mediante la ejecución del siguiente comando en la terminal de Cloud Shell:
gcloud compute networks subnets update default \ --region europe-west1 --no-enable-flow-logs
  1. Puedes verificar que se inhabilitó desde la VPC en la consola de Cloud. En Menú de navegación, haz clic en Red de VPC > Redes de VPC. Si se solicita, haz clic en ABANDONAR.

Tarea 8. Repaso

En este lab, habilitaste el registro de flujo de VPC para una subred. Accediste a los registros mediante Cloud Logging. También filtraste registros para subredes específicas, VMs, puertos y protocolos. Luego, realizaste la supervisión de la red, detección de intrusiones y análisis de seguridad en tiempo real. Por último, inhabilitaste los registros de flujo de VPC.

Finalice su lab

Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.

Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Neutral
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.

Copyright 2020 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.