30 de noviembre de 2022

Introducción a Flexible NetFlow

En oportunidades anteriores me he referido a NetFlow, una herramienta para monitoreo de tráfico introducida por Cisco en IOS en el año 1996. El desarrollo inicial, con el paso de los años, dio lugar a herramientas semejantes desarrolladas por otros fabricantes (JFlow, sFlow, etc.) y una herramienta abierta como IPFIX (RFCs 5101, 5102, 5103, 5153, 5470,v5471, 5472).

Flexible NetFlow es una variante que habilita la posibilidad de definir el registro que considere óptimo para responder a las necesidades de una aplicación en particular seleccionando los elementos clave que se desean detectar a partir de una colección de campos predefinidos.

La herramienta monitorea flujos (flow):

  • Cada flujo de datos es unidireccional.
  • Un flujo se define por una misma interfaz de origen y un mismo conjunto de valores clave.
    Una clave es un valor identificado en un campo de un encabezado.
  • Todos los valores clave deben coincidir para que un paquete se considere parte de un flujo determinado.
  • Los flujos se almacenan en un caché de memoria específico para Flexible NetFlow.
Como ocurre con NetFlow, los datos recopilados pueden recopilarse mediante la implementación de un "exportador" (exporter) para enviarlos a un sistema remoto que se acceda por IPv4 o IPv6.

En la implementación o configuración hay 4 elementos que se deben considerar:

  • El registro de NetFlow que almacena los datos que se recogen.
  • El exportador que permite el envío de los datos a una herramienta remota.
  • El "monitor" que asocia un registro con un exportador específico.
  • El muestreo de los flujos que determina la frecuencia con que se captura la información
NetFlow original

  • Utiliza de modo fijo el valor de 7 campos de los encabezados IP para identificar los flujos.
  • Brinda comprensión de las actividades en las red, lo que permite optimizar el diseño y reducir los costos operativos.

Flexible NetFlow

  • Permite al Administrador definir los campos que identifican un flujo.
  • Nos permite comprender los comportamientos en la red con mayor eficiencia, con información específica adaptada a los diversos servicios de la red.
Beneficios:
  • Alta capacidad para gestionar la identificación de los flujos, lo que brinda escalabilidad y la posibilidad de agregar información de los flujos.
  • Mejora las posibilidades de utilizar esta infraestructura para monitoreo de seguridad y detección de ataques dDoD.
  • Permite agregar nueva información del paquete para adaptar la definición del flujo a un servicio u operación en particular.
  • Hace uso extenso de los formaos de exportación flexibles y extendidos de NetFlow v.9 y v.10 de Cisco.
  • Utilizando el formato de exportación de versión 10 se incorporan campos de longitud variables para incluir el SSID del tráfico de los clientes inalámbricos.
Ejemplos de aplicación de Flexible NetFlow:

  • Brinda una mejor herramienta de monitoreo de seguridad.
    Por ejemplo, se puede incluir como clave para identificar un flujo la longitud del paquete o la MAC.
  • Identifica rápidamente el volumen de tráfico de aplicaciones que se envía entre hosts ya que puede hacer seguimiento del tráfico en base al valor de CoS.
  • Permite contabilizar el tráfico entre una red MPLS o un core IP y los próximos saltos discriminados por clase de servicio. A partir de esto es posible luego generar una matriz de tráfico. 
Componentes

La implementación consta de una serie de componentes que se pueden combinar de diferentes formas para realizar el análisis del tráfico y la exportación de los datos.

Esta estructura de la herramienta facilita la generación de diferentes configuraciones en un mismo dispositivo de red, con un mínimo de comandos de configuración.

Los componentes son 4:

  • Los registros de NetFlow
  • Los exportadores de NetFlow
    Determina el destino al que se envían los datos capturados por el registro de flujos.
    Si se cambia el destino en un exportador, afecta a todos los monitores que utilizan ese exportador.
  • Los monitores de NetFlow
    Cada monitor de flujo puede tener una combinación diferente de registros, exportador y tipo de caché de memoria.
    El mismo monitor puede utilizar diferentes muestreadores de flujo para muestrear el mismo tráfico en diferentes interfaces.
  • Los muestreadores de NetFlow
    Determina la frecuencia con la que se capturan datos en una interfaz.

Registros de flujos

  • Combinación de campos clave y no clave que han de tomarse en consideración.
  • Los campos clave son los que se utilizan para identificar un paquete como parte de un flujo de datos.
    Los demás se incorporan como campos de interés que brandan información adicional sobre ese flujo.
  • Se puede definir cualquier combinación de campos clave y campos de interés.
  • También define los contadores que se recopilan por flujo.
  • Se pueden utilizar registros que vienen definidos de fábrica e implementar rápidamente la herramienta, 
  • También es posible generar registros a medida seleccionando los campos clave y no clave (de interés) que han de considerarse.
  • Los datos que se recopilan, se almacenan en un caché de memoria del dispositivo.
Exportadores de flujos
  • Exportan los datos almacenados en la memoria caché a un sistema remoto de análisis y almacenamiento.
  • Se pueden agregar a un monitor de flujos para agregarle a este capacidades de exportación.
  • El mismo exportador de flujos puede ser asignado a diferentes monitores.
  • La exportación puede realizarse en diferentes formatos. El formato de exportación más reciente es el que se conoce como versión 9.
    Su característica básica es que se basa en plantillas que brindan un diseño adaptable.
Monitores de flujos
  • Es el componente que se aplica a la o las interfaces en las que se desea monitorear tráfico.
  • Los datos se colectan en la interfaz a partir del tráfico y se almacenan en el caché de memoria en base a los campos clave y no clave definidos en el registro.
  • Puede tener asociados uno o más exportadores de flujos.
  • Hay 3 tipos de cachés de memoria de los monitores de flujos:
    - Normal
      Es el predeterminado.
      Las entradas de datos caducan de acuerdo con el tiempo de espera configurado. Cuando una entrada caduca se elimina del caché y se exporta.
    - Inmediato
      Las entradas vencen tan rápido como se crean. El resultado es que cada flujo representa un único paquete.
      Proporciona poca latencia entre que se detecta el paquete y se exportan los datos.
    - Permanente
      Los datos de un flujo no tienen vencimiento.
      Es útil cuando la cantidad de flujos que se espera es baja y es necesario mantener estadísticas en el dispositivo.
Muestreadores de flujos
  • Limitan la cantidad de paquetes que se seleccionan para el análisis.
  • Permiten reducir la carga de procesamiento en el dispositivo.
  • Priorizan la performance del dispositivo por sobre la precisión en el monitoreo.
Enlace de referencia



Estás invitado a seguirnos en Instagram:
https://www.instagram.com/libros.networking/

También podés participar de nuestro grupo en Facebook
https://www.facebook.com/groups/librosnetworking/

O si preferís redes sociales con mayor respeto de tu privacidad,
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking

O también puedes seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.