Implementa capacidades de supervisión y telemetría de red en Google Cloud

Last reviewed 2024-02-13 UTC

La telemetría de red recopila los datos del tráfico de red desde los dispositivos de tu red para que se puedan analizar. La telemetría de red permite que los equipos de operaciones de seguridad detecten amenazas basadas en la red y buscan adversarios avanzados, lo cual es esencial para las operaciones de seguridad autónoma. Para obtener la telemetría de red, debes capturar y almacenar datos de red. En este plano, se describe cómo puedes usar la Duplicación de paquetes y Zeek para capturar datos de red en Google Cloud.

Este plano está dirigido a analistas de seguridad y administradores de red que deseen duplicar el tráfico de red, almacenar estos datos y reenviarlos para su análisis. En este plano, se supone que tienes conocimientos prácticos de herramientas de redes y supervisión de redes.

Este plano es parte de un plano de seguridad que consta de los siguientes elementos:

  • Un repositorio de GitHub que contiene un conjunto de opciones de configuración y secuencias de comandos de Terraform.
  • Una guía sobre los controles de arquitectura, diseño y seguridad que implementas con el plano (este documento).

Con este plano, puedes capturar paquetes de red (incluidos los metadatos de la red) mediante la Duplicación de paquetes, transformar los paquetes de red en registros de Zeek y, luego, almacenarlos en Cloud Logging. El plano extrae metadatos como direcciones IP, puertos, protocolos y encabezados y solicitudes de capa 7. Almacenar metadatos de red como registros de Zeek usa menos volumen de datos que almacenar datos de paquetes sin procesar y, por lo tanto, es más rentable.

En este documento, se supone que ya configuraste un conjunto básico de controles de seguridad, como se describe en la Guía de bases empresarial de Google Cloud.

Casos prácticos compatibles

Este plano admite los siguientes casos prácticos:

  • El centro de operaciones de seguridad (SOC) requiere acceso a los datos de registro de la red de Google Cloud en una ubicación centralizada para que puedan investigar incidentes de seguridad. Este plano traduce los datos de paquetes de red en registros que puedes reenviar a tus herramientas de investigación y análisis. Las herramientas de investigación y análisis incluyen BigQuery, Chronicle, Flowmon y ExtraHop, o información de seguridad y administración de eventos (SIEM).
  • Tus equipos de seguridad requieren visibilidad en las redes de Google Cloud para realizar amenazas de amenazas mediante herramientas como Chronicle. Puedes usar este plano a fin de crear una canalización para el tráfico de red de Google Cloud.
  • Deseas demostrar cómo tu organización cumple con los requisitos de cumplimiento para la detección y respuesta de red. Por ejemplo, tu organización debe demostrar el cumplimiento de Memorandum M-21-31 en la Oficina de Administración y Presupuesto (OMB) de los Estados Unidos.
  • Los analistas de seguridad de la red requieren datos de registro de la red a largo plazo. Este plano admite la supervisión a largo plazo y la supervisión a pedido.

Si también necesitas datos de captura de paquetes (pcap), debes usar las herramientas del analizador de protocolos de red (por ejemplo, Wireshark o tcpdump). El uso de las herramientas del analizador de protocolos de red no está dentro del alcance de este plano.

No puedes implementar este plano con el Sistema de detección de intrusiones de Cloud. Esta solución y el Sistema de detección de intrusiones de Cloud usan políticas de Duplicación de paquetes, y estas solo pueden usarse en un servicio a la vez.

Costos

Este plano puede afectar tus costos porque agregas recursos de procesamiento y almacenas cantidades significativas de datos en Cloud Logging. Ten en cuenta lo siguiente cuando implementes el plano:

  • Cada máquina virtual (VM) de colector en Compute Engine se ejecuta como una instancia e2-medium.
  • Puedes controlar los costos de almacenamiento de las siguientes maneras:
    • Usa filtros de duplicación de paquetes.
    • No se duplican en todas las zonas para evitar cargos de salida interzonales.
    • Almacenar datos solo durante el tiempo que tu organización lo requiera.

Puedes usar la calculadora de precios para estimar los costos de procesamiento, registro y almacenamiento.

Arquitectura

En el siguiente diagrama de arquitectura, se muestra la infraestructura que usas para implementar este plano:

La arquitectura de telemetría de red.

En la arquitectura que se muestra en la imagen anterior, se usa una combinación de los siguientes servicios y funciones de Google Cloud:

  • Dos redes de nube privada virtual (VPC):

    • Una red de nube privada virtual para las fuentes duplicadas.
    • Una red de VPC para las instancias de recopilador.

    Estas redes de VPC deben estar en el mismo proyecto.

  • Las instancias de Compute Engine o Google Kubernetes Engine (GKE) (denominadas como fuentes duplicadas) en ciertas regiones y subredes que son la fuente de los paquetes de red. Puedes identificar las instancias para duplicar las fuentes mediante uno de los siguientes métodos:

  • Instancias de Compute Engine que funcionan como las instancias de recopilador detrás de un balanceador de cargas de red de transferencia interno, en la misma región que las fuentes duplicadas. Estas instancias ejecutan la imagen dorada de Zeek-Fluentd o tu imagen personalizada de zeek-fluentd. Las VM son e2-medium y la capacidad de procesamiento admitida es de 4 Gbps.

  • Un balanceador de cargas de red de transferencia interno que recibe paquetes de las fuentes duplicadas y los reenvía a las instancias de recopilador para su procesamiento. La regla de reenvío del balanceador de cargas usa la marca --is-mirroring-collector.

  • Las reglas de firewall de VPC que permiten lo siguiente:

    • Salida de fuentes duplicadas al balanceador de cargas de red de transferencia interno.
    • Entrada de las instancias del recopilador a las instancias duplicadas.
  • Una política de duplicación de paquetes que define la región, la subred, las instancias duplicadas, los protocolos, la dirección y la regla de reenvío. Cada región requiere su propia política de duplicación de paquetes.

  • Intercambio de tráfico entre redes de VPC para permitir la conectividad mediante direcciones IP internas entre las VM de Compute Engine con alta disponibilidad en varias regiones. El intercambio de tráfico entre redes de VPC permite que las fuentes duplicadas se comuniquen con el balanceador de cargas de red de transferencia interno.

  • Una instancia de Cloud Logging que recopile todos los paquetes para el almacenamiento y la recuperación mediante una herramienta de investigación y análisis.

Comprende los controles de seguridad que necesitas

En esta sección, se analizan los controles de seguridad dentro de Google Cloud que puedes usar para proteger los diferentes componentes de la arquitectura de supervisión de redes.

Controles de seguridad de red de VPC

Debes crear redes de VPC alrededor de las fuentes duplicadas y los colectores. Cuando creas la red de VPC para los colectores, borras la ruta predeterminada generada por el sistema, lo que significa que todas las rutas de puerta de enlace de Internet predeterminadas están desactivadas. Desactivar las puertas de enlace de Internet predeterminadas ayuda a reducir la superficie de ataque de red de los atacantes externos.

Debes crear subredes en tu red de VPC para cada región. Las subredes te permiten controlar el flujo de tráfico entre tus cargas de trabajo en Google Cloud y también desde fuentes externas. Las subredes tienen habilitado el Acceso privado a Google. El Acceso privado a Google también ayuda a reducir la superficie de ataque de red, mientras permite que las VM se comuniquen con los servicios y las API de Google.

Para permitir la comunicación entre las redes de VPC, debes habilitar el intercambio de tráfico entre redes de VPC. El intercambio de tráfico entre redes de VPC usa rutas de subred para la conectividad de direcciones IP internas. Importa y exporta rutas personalizadas para permitir una conexión directa entre las fuentes duplicadas y los colectores. Debes restringir todas las comunicaciones a rutas regionales porque el balanceador de cargas de red de transferencia interno para los colectores no admite rutas globales.

Reglas de firewall

Usa las reglas de firewall para definir las conexiones que pueden realizar los orígenes de duplicación y los colectores. Configura una regla de entrada con el fin de permitir las verificaciones de estado de tiempo de actividad regulares, una regla de salida para todos los protocolos en las fuentes duplicadas y una regla de entrada para todos los protocolos de los recopiladores.

Controles de seguridad de VM de colector

Las VM de colector son responsables de recibir los datos del paquete. Las VM de colector son VM idénticas que operan como grupos de instancias administrados (MIG). Debes activar las verificaciones de estado para permitir la recreación automática de una VM que no responde. Además, permites que los recopiladores realicen un ajuste de escala automático según tus requisitos de uso.

Cada VM de colector ejecuta la imagen de zeek-fluentd de Packer. Esta imagen consiste en Zeek, que genera los registros, y Fluentd, que reenvía los registros a Cloud Logging. Después de implementar el módulo de Terraform, puedes actualizar el paquete de SO y las VM de VM y aplicar los controles de seguridad que son necesarios para tu organización.

Controles de seguridad del balanceador de cargas interno

El balanceador de cargas de red de transferencia interno dirige el tráfico del paquete de red desde las fuentes duplicadas hacia las VMs de colector para su procesamiento. Todas las VMs de colector deben ejecutarse en la misma región que el balanceador de cargas de red de transferencia interno.

La regla de reenvío para el balanceador de cargas de red de transferencia interno define que el acceso es posible desde todos los puertos, pero no se permite el acceso global. Además, la regla de reenvío define este balanceador de cargas como un recopilador de duplicación mediante la marca --is-mirroring-collector.

No es necesario configurar un balanceador de cargas para el almacenamiento, ya que cada VM de colector sube los registros directamente a Cloud Logging.

Duplicación de paquetes

En la duplicación de paquetes, se requiere que identifiques las instancias que deseas duplicar. Puedes identificar las instancias que deseas duplicar mediante etiquetas de red, nombres de instancias o la subred en la que se encuentran las instancias. Además, puedes filtrar aún más el tráfico mediante una o más de las siguientes opciones:

  • Protocolos de capa 4, como TCP, UDP o ICMP
  • Los rangos de CIDR IPv4 en los encabezados IP, como 10.0.0.0/8.
  • Dirección del tráfico que deseas duplicar, como entrada, salida o ambas.

Cuentas de servicio y controles de acceso

Las cuentas de servicio son identidades que Google Cloud puede usar para ejecutar solicitudes a la API en tu nombre. Las cuentas de servicio garantizan que las identidades de usuario no tengan acceso directo a los servicios.

Para implementar el código de Terraform, debes actuar en nombre de una cuenta de servicio que tenga las siguientes funciones en el proyecto:

Las VM de colector también requieren esta cuenta de servicio para que puedan autenticarse en los servicios de Google Cloud, obtener los paquetes de red y reenviarlos a Cloud Logging.

Prácticas de retención de datos

Puedes especificar cuánto tiempo Cloud Logging almacenará tus registros de red mediante reglas de retención para tus depósitos de registro. Para determinar cuánto tiempo debes almacenar los datos, revisa los requisitos normativos de tu organización.

Registro y auditoría

Puedes usar Cloud Monitoring a fin de analizar el rendimiento de las VM de colector y configurar alertas para las verificaciones de tiempo de actividad y las condiciones de rendimiento, como la carga de la CPU.

Puedes realizar un seguimiento del acceso de los administradores o los cambios en los datos y la configuración mediante los registros de auditoría de Cloud. El registro de auditoría es compatible con Compute Engine, Cloud Load Balancing y Cloud Logging.

Puedes exportar información de supervisión de la siguiente manera:

Revisión general

Para implementar la arquitectura que se describe en este documento, haz lo siguiente:

  1. Implementa un modelo de referencia seguro en Google Cloud, como se describe en el plano sobre las bases empresariales de Google Cloud. Si eliges no implementar el modelo del plano de bases empresarial, asegúrate de que tu entorno tenga un modelo de referencia de seguridad similar implementado.
  2. Revisa el archivo readme del plano y asegúrate de cumplir con todos los requisitos.
  3. En tu entorno de pruebas, implementa una de las configuraciones de telemetría de red de ejemplo para ver el plano en acción. Como parte de tu proceso de prueba, haz lo siguiente:

    1. Verifica que se hayan creado las subredes y las políticas de duplicación de paquetes.
    2. Verifica que tienes el rol de visualizador de registros (roles/logging.viewer) y ejecuta un comando curl para ver los datos de registro. Por ejemplo:

      curl http://example.com/

      Deberías ver que los datos de registro se almacenen en Cloud Logging.

    3. Usa Security Command Center para analizar los recursos recién creados según tus requisitos de cumplimiento.

    4. Verifica que tu sistema capture y almacene los paquetes de red adecuados y ajusta el rendimiento según sea necesario.

  4. Implementa el plano en tu entorno de producción.

  5. Conecta Cloud Logging a SIEM o Chronicle para que los analistas de seguridad de redes y SOC puedan incorporar la telemetría nueva en sus paneles.

¿Qué sigue?