Pandora: Documentation es: Netflow

From Pandora FMS Wiki
Jump to: navigation, search

Volver a Indice de Documentacion Pandora FMS

Netflow

Introducción

A partir de la versión 5.0, Pandora FMS es capaz de monitorizar el tráfico IP haciendo uso del protocolo NetFlow. Permite mostrar patrones y datos generales del tráfico que resultan de gran utilidad.

NetFlow es un protocolo de red, desarrollado por Cisco Systems para recolectar información sobre tráfico IP. Netflow se ha convertido en un estándar de la industria para monitorización de tráfico de red, y actualmente se está soportado para varias plataformas además de Cisco IOS y NXOS, como por ejemplo en dispositivos de fabricantes como Juniper, Enterasys Switches, y en sistemas operativos como Linux, FreeBSD, NetBSD y OpenBSD.



Netflow architecture.png



Flujo de red

Los dispositivos con Netflow habilitado, cuando activan la característica de Netflow, generan "registros de netflow" que consisten en pequeños trozos de información que envian a un dispositivo central o servidor de Netflow (o colector Netflow), que es quien recibe información de los dispositivos (o sondas Netflow) y la almacena y procesa.

Esa información se transmite mediante el protocolo netflow, basado en UDP o SCTP. Cada registro de netflow es un paquete pequeño que contiene una capacidad minima de información, pero en ningún caso contiene los datos crudos o en bruto del tráfico, es decir, no envia el "payload" del tráfico que circula por el colector sino sólo datos estadísticos.

Existen varias diferencias entre la version de implementación del Netflow original, por lo que algunas versiones incorporan algunos datos más, pero en líneas generales, el Netflow basico envia al menos la siguiente información.

Un flujo de red se ha definido de muchas maneras. La definición tradicional de CIsco es utilizar una clave de 7 elementos, donde el flujo se define como una secuencia unidireccional de paquetes que comparten los siguientes 7 valores:

  • Dirección IP de origen.
  • Dirección IP de destino.
  • Puerto UDP o TCP de origen.
  • Puerto UDP o TCP de destino.
  • Protocolo IP.
  • Interfaz (SNMP ifIndex)
  • Tipo de servicio IP

Con el tiempo, otros fabricantes han diseñado sistemas silimares para sus dispositivos de red, con diferentes nombres pero propósito similar

  • Jflow o cflowd de Juniper Networks
  • NetStream de 3Com/H3C|HP
  • NetStream de Huawei
  • Cflowd de Alcatel Lucent
  • Rflow de Ericsson
  • AppFlow
  • sFlow

Colector Netflow

Se trata de un dispositivo (PC o servidor) ubicado en la red para recoger toda la información de NetFlow que es enviada desde los routers y switches.

NetFlow genera y recoge esta información, pero se necesita un software que permita almacenar y analizar dicho tráfico. Con Pandora FMS, utilizaremos un servidor especial para este propósito, que Pandora FMS levanará y parará cuando se arranque pandora. Este servidor, se llama nfcapd y es necesario instalarlo para poder usar monitorización Netflow.

Sonda Netflow

Las sondas son generalmente Routers con el netflow habilitado, configurado, y enviando información al colector Netflow (que en este caso será el servidor de Pandora con el demonio nfcapd habilitado.



NewNetFlowApproach.png



Requisitos e instalación

Pandora FMS utiliza una herramienta OpenSource llamada nfcapd para procesar todo el trafico netflow. Este demonio lo levanta de forma automática el servidor de Pandora FMS. Este sistema almacena los datos en ficheros binarios, en una ubicación determinada. Debe instalar nfcapd en su sistema antes de proder trabajar con Netflow en Pandora. nfcapd por defecto escucha en el puerto 9995/UDP. Tengalo en cuenta si tiene firewalls para abrir este puerto y a la hora de configurar sus sondas Netflow.

Instalacion de nfcapd

La instalacion de nfcapd requiere que usted se instale nfcapd por su cuenta, Pandora FMS no lo instalará. Para más información, vaya a la página oficinal del proyecto nfcapd

Pandora por defecto, usa el directorio /var/spool/pandora/data_in/netflow para procesar la informacion. Cuando arranque nfcapd utilizará este directorio. No lo modifique si no sabe exactamente qué está haciendo.

Es necesario que instale la version 1.6.8p1 de nfdump para poder usarla con Pandora FMS.

Para testear su funcionamiento de forma manual:

Ejemplo:

nfcapd -l /var/spool/pandora/data_in/netflow -D

Tenga en cuenta que es necesario que Pandora FMS, y en concreto, el servidor WEB que ejecuta la consola, tenga acceso a esos ficheros de datos, en este ejemplo, en /var/spool/pandora/data_in/netflow.

Instalación de sondas

Si no dispone de un router con Netflow, pero su tráfico "pasa" por un sistema Linux, puede instalar un software que actúe de sonda, y envíe información de tráfico Netflow al colector.

En Linux existe un programa llamado fprobe que captura el tráfico y lo reenvia a un servidor NetFlow. Con el puede generar tráfico Netflow, de todo el tráfico de red que pasa por sus interfaces, p.e:

/usr/sbin/fprobe -ieth0 -fip 192.168.70.185:9995

Una vez generado tráfico, podrá ver estadísticas de este tráfico con el comando:

nfdump -R /var/spool/pandora/data_in/netflow

Que debe mostrarle informacion similar a la siguiente:


Aggregated flows 1286
Top 10 flows ordered by packets:
Date flow start          Duration Proto      Src IP Addr:Port          Dst IP Addr:Port   Packets    Bytes Flows
2011-12-22 20:41:35.697   901.035 TCP     192.168.60.181:50935 ->     192.168.50.2:22        2105   167388     4
2011-12-22 20:41:35.702   900.874 TCP       192.168.50.2:22    ->   192.168.60.181:50935     1275   202984     4
2011-12-22 20:48:15.057     1.347 TCP       157.88.36.34:80    ->    192.168.50.15:40044      496   737160     1
2011-12-22 20:48:14.742     1.790 TCP     91.121.124.139:80    ->    192.168.50.15:60101      409   607356     1
2011-12-22 20:46:02.791    76.616 TCP      192.168.50.15:80    ->   192.168.60.181:40500      370   477945     1
2011-12-22 20:48:15.015     1.389 TCP      192.168.50.15:40044 ->     157.88.36.34:80         363    22496     1
2011-12-22 20:46:02.791    76.616 TCP     192.168.60.181:40500 ->    192.168.50.15:80         303    24309     1
2011-12-22 20:48:14.689     1.843 TCP      192.168.50.15:60101 ->   91.121.124.139:80         255    13083     1
2011-12-22 20:48:14.665     1.249 TCP     178.32.239.141:80    ->    192.168.50.15:38476      227   335812     1
2011-12-22 20:48:21.350     0.713 TCP     137.205.124.72:80    ->    192.168.50.15:47551      224   330191     1  

Top 10 flows ordered by bytes:
Date flow start          Duration Proto      Src IP Addr:Port          Dst IP Addr:Port   Packets    Bytes Flows
2011-12-22 20:48:15.057     1.347 TCP       157.88.36.34:80    ->    192.168.50.15:40044      496   737160     1
2011-12-22 20:48:14.742     1.790 TCP     91.121.124.139:80    ->    192.168.50.15:60101      409   607356     1
2011-12-22 20:46:02.791    76.616 TCP      192.168.50.15:80    ->   192.168.60.181:40500      370   477945     1
2011-12-22 20:48:14.665     1.249 TCP     178.32.239.141:80    ->    192.168.50.15:38476      227   335812     1
2011-12-22 20:48:21.350     0.713 TCP     137.205.124.72:80    ->    192.168.50.15:47551      224   330191     1
2011-12-22 20:48:15.313     1.603 TCP       89.102.0.150:80    ->    192.168.50.15:52019      212   313432     1
2011-12-22 20:48:14.996     1.433 TCP     212.219.56.138:80    ->    192.168.50.15:36940      191   281104     1
2011-12-22 20:51:12.325    46.928 TCP      192.168.50.15:80    ->   192.168.60.181:40512      201   245118     1
2011-12-22 20:52:05.935    34.781 TCP      192.168.50.15:80    ->   192.168.60.181:40524      167   211608     1
2011-12-22 20:41:35.702   900.874 TCP       192.168.50.2:22    ->   192.168.60.181:50935     1275   202984     4

Summary: total flows: 1458, total bytes: 5.9 M, total packets: 15421, avg bps: 49574, avg pps: 15, avg bpp: 399
Time window: 2011-12-22 20:40:46 - 2011-12-22 20:57:21
Total flows processed: 1458, Records skipped: 0, Bytes read: 75864
Sys: 0.006s flows/second: 208345.2   Wall: 0.006s flows/second: 221177.2  

Si tiene este sistema funcionando, lo siguiente será configurar Pandora FMS para que utilice esta configuración.

Como operar con Netflow en Pandora

Pandora FMS trabaja con los flujos como un sistema auxiliar, es decir, no almacena la información de los flujos en la base de datos. Pandora muestra información de los flujos como informes solicitados bajo demanda.

Pandora opera con los flujos usando el concepto de "Filtro" que es un conjunto de reglas para especificar un tráfico determinado, estas reglas pueden ser algo tan sencillo como "Todo el tráfico de la red 192.168.70.0/24" o algo mas complejo, p.e. usando expresiones pcap.

Una vez definidos los filtros, definiremos los informes, que son, como queremos ver los datos (graficos, listas...) y en que intervalo de tiempo. Al definir filtros e informes, dejamos definida esa información, de forma similar a como se opera con los informes de Pandora, para utilizarla -bajo demanda- cuando queramos.

Los informes Netflow aparecerán también como "tipo de informe" en la seccion de Informes generales de Pandora, para poderlos "incorporar" también a los informes "normales" de Pandora.

Por otro lado, disponemos de una consola de "tiempo real" para analizar el tráfico, componiendo directamente las reglas, útil para investigar problemas, ver graficas puntuales que no corresponden a un filtro determinado etcétera.

Configuración

En primer lugar, hay que habilitar Netflow para que sea accesible desde los menús Operación y Administración. En la opcion de configuracion (menu administracion) hay una opcion para habilitarlo de deshabilitarlo globalmente. Una vez activado, aparecerá una nueva ocpion de configuración de Netflow en la seccion de configuración.



Netflow manager0.png



En el menú Administración, dentro de Configuración, encontramos la opción Netflow en la que especificaremos la ruta en la que se encuentran los ficheros capturados del tráfico Netflow. Por ejemplo: /tmp/netflow. También es importante comprobar que la ruta al demonio nfcapd es correcta.



Netflow manager.png



Las siguientes opciones de configuración están disponibles:

  • Data storage path: Directorio donde se almacenarán los ficheros de datos de netflow. IMPORTANTE: La velocidad de acceso del disco en el que residen los datos de Netflow es normalmente el factor limitante del rendimiento.
  • Daemon interval: Intervalo de tiempo en segundos después del cual se rotan los ficheros de datos. Se recomienda un valor de 3600. Un intervalo mayor significa ficheros más grandes potencialmente, lo que significa menos sobrecarga de E/S. Pero también hace que encontrar datos para un intervalo específico sea más lento.
  • Daemon binary path: Ruta al binario de nfcapd.
  • Nfdump binary path: Ruta al binario de nfdump.
  • Maximum chart resolution: Número máximo de puntos que mostrará una gráfica de área de netflow. Cuanto más alta la resolución peor el rendimiento. Se recomiendan valores entre 50 y 100.

Una vez que se configura el netflow y se activa, habrá que reiniciar el servidor de Pandora para que éste levante el servidor nfcapd. Este debe estar accesible en el path del sistema y correctamente instalado antes de intentar arrancarlo. Compruebe los logs del servidor ante cualquier duda. Note que no aparecerá como servidor en la vista de servidores de Pandora, ya que no es un servidor de Pandora.

Filtros

La creación y edición de filtros se encuentra en "Administración / Netflow / Filters". En ésta vista, encontramos un listado de los filtros ya creados que pueden ser modificados y borrados.

Los filtros Netflow permiten definir unas características que explicamos a continuación.

  • Nombre: Es aconsejable que el nombre del filtro sea descriptivo.
  • Grupo: Un usuario solo podrá crear un filtro o editar un filtro de un grupo al que tenga acceso.
  • Filtros: Existen dos tipos de filtros, básico y avanzado. El filtro avanzado permite introducir expresiones avanzadas en el mismo formato que nfdump. El filtro básico permite filtrar el tráfico por ip origen, ip destino, puerto origen y puerto destino. Son válidas las listas de Ips y puertos separados por comas.
  • Agregado: El tráfico se agrupará siguiendo alguno de éstos criterios:

IP Origen: se muestra el tráfico para cada IP de origen diferente.
IP Destino: se muestra el tráfico para cada IP de destino diferente.
Puerto Origen: se muestra el tráfico para cada puerto de origen diferente.
Puerto Destino: se muestra el tráfico para cada puerto de destino diferente.
Protocolo: se muestra el tráfico para cada protocolo diferente.
Ninguno: (los datos serán totalizados).

  • Formato de salida: El resultado puede ser mostrado en:

Paquetes.
Bytes.
Bits por segundo.
Bytes por paquete.

Ejemplo de filtro básico para tráfico web:



Netflow filter normal.png



Ejemplo de filtro avanzado para tráfico desde y hacia una intranet:



Netflow filter advanced.png



Informes

Los informes de Netflow están integrados con los informes de Pandora FMS (ver Informes para más información).

Para crear un elemento de informe, elija uno de los elementos de informe de netflow disponibles.



Netflow report item types.png



Y configúrelo. Las siguientes opciones de configuración están disponibles:



Netflow report item configuration.png



  • Type: Los tipos de elemento se explicarán a continuación.
  • Filter: Filtro de netflow a usar.
  • Description: Descripción del elemento.
  • Period: Longitud del intervalo de datos a mostrar.
  • Resolution: Los datos se leerán en bloques de un tamaño igual a la resolución. Si Periodo / Resolución es mayor que la máxima resolución configurada la resolución se ajustará de forma dinámica. Por ejemplo, para un periodo de 1 día y una resolución de 1 hora se dibujarán 24 puntos en la gráfica.
  • Max. values: Número máximo de elementos para agregados. Por ejemplo, si una gráfica de tráfico HTTP está agregada por dirección IP de origen y Max. values se configura a 5, sólo se mostrarán 5 direcciones IP.

Hay cinco tipos de elementos de informe de netflow:

  • Area chart: Una gráfica de área, agregada o sin agregar.



Netflow chart area aggregated.png



  • Pie chart: Una gráfica de tarta agregada.



Netflow chart pie.png



  • Data table: Una representación en texto de la gráfica de área.



Netflow table data.png



  • Statistics table: Una representación en texto de la gráfica de tarta.



Netflow table statistics.png



  • Summary table: Resumen de tráfico para el periodo dado.



Netflow summary.png



Vista en tiempo real

Los filtros se pueden visualizar en tiempo real desde "Operation / Netflow Live View". Esta herramienta permite visualizar los cambios que se realizan en un filtro y guardarlo una vez se obtenga el resultado deseado. También es posible cargar y modificar filtros ya existentes.

Vaya a Informes and Filtros para aprender a configurar las opciones de la vista en tiempo real.



Netflow live view.png



Para modificar un filtro existente cárguelo desde el selector de filtros, realice los cambios deseados y haga click en Update current filter.



Netflow update filter.png



Para crear un filtro nuevo, configúrelo, haga click en Save as new filter, introduzca un nombre y opcionalmente seleccione un grupo y haga click de nuevo en Save as new filter.



Netflow save filter.png



Configuración distribuida

Es posible ubicar el nodo de pandora que recoge datos de Netflow en un host independiente de la consola. En entornos con muchos datos Netflow de hecho es más que recomendable ubicarlo en un servidor con discos rápidos y una CPU rápida de al menos dos núcleos. Para que la consola de Pandora pueda extraer datos de Netflow será necesario modificar la configuración por defecto del sistema, siguiendo los pasos descritos a continuación:

  • Configurar la autenticación automática SSH entre el usuario propietario del demonio web y el usuario con capacidad de ejecutar nfdump en el nodo colector.
  • Crear un script en la consola de pandora que reemplace a /usr/bin/nfdump por uno similar al siguiente
#!/bin/bash
ssh [email protected]_netflow /usr/bin/nfdump $@
  • De permisos de ejecución al script:
chmod 755 /usr/bin/nfdump
  • Pruebe a ejecutar el script, de esta forma
/usr/bin/nfdump -V

Debería devolver algo similar a:

nfdump: Version: 1.6.13


Volver a Indice de Documentacion Pandora FMS