11 de octubre de 2014

Introducción a NetFlow

NetFlow es una aplicación diseñada por Cisco y embebida en IOS que permite relevar información estadística de tráfico en la red.
Si bien inicialmente estaba incorporada en la imagen de IOS de routers y otros equipos específicos, progresivamente se ha incorporado a nuevas plataformas de modo que en la actualidad, en redes que utilizan IOS 15.x, está disponible prácticamente en toda la infraestructura de la red corporativa.
Responde a 2 premisas básicas:
  • Es completamente transparente a las aplicaciones y dispositivos que operan en la red.
  • No es necesario que sea soportada en todos los dispositivos de la red.
Su implementación tiene múltiples aplicaciones posibles, las más frecuentes son:
  • Registro estadístico de tráfico para realizar un análisis de línea base.
  • Facturación de servicios de red a usuarios.
  • Análisis del tráfico y aplicaciones que están corriendo sobre la red con vistas al diseño o rediseño de la red.
  • Diseño general de seguridad de la red.
  • Detección y prevención de ataques DoS o DDoS.
  • Monitoreo de la red.
Con este propósito NetFlow releva estadística de comunicaciones utilizando el concepto de flujo (flow): Stream o cadena unidireccional de paquetes entre un sistema de origen y un sistema destino específicos que es identificada tomando como base de referencia 7 parámetros específicos:
  • Dirección IP origen.
  • Dirección ID destino.
  • Puerto de origen.
  • Puerto de destino.
  • Tipo de protocolo (campo del encabezado IP).
  • Tipo de servicio (campo del encabezado IP).
  • Interfaz lógica de ingreso.
Arquitectura de NetFlow
La implementación de NetFlow supone una arquitectura específica:
  • Uno o varios dispositivos que tienen Netflow habilitado.
  • Un NetFlow Collector, que es la consola que recolecta y permite concentrar la información.


Configuración de NetFlow
El procedimiento de configuración en dispositivos Cisco IOS para utilizar funciones de NetFlow requiere 2 tareas:
  • Definir el punto (interfaz) de captura de información.
  • Indicar la ubicación (dirección IP) del NetFlow Collector.
Router(config)#interface GigabitEthernet0/0
Router(config-if)#ip flow ingress
Router(config-if)#ip flow egress
Router(config-if)#exit
Router(config)#ip flow-export destination 10.1.10.100 99
Router(config)#ip flow-export version 9
Router(config)#ip flow-export source loopback 0
Router(config)#end

Comandos para verificar y acceder en IOS a la información de NetFlow

Router#show ip cache flow
Router#show ip flow interface
Router#show ip flow export

Las posibilidades y las opciones de configuración van mucho más allá del alcance de este post que es puramente introductorio. Quienes buscan mayor información o están interesados en analizar el consumo de recursos del dispositivo que tiene esta implementación sugiero que utilicen la correspondiente Configuration Guide de IOS, que pueden consultar aquí.

Bibliografía recomendada: