Difference between revisions of "Pandora: Documentation es: Netflow"

From Pandora FMS Wiki
Jump to: navigation, search
(Configuración distribuida)
m (Introducción al análisis de red en tiempo real: Fe de errata.)
 
(46 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
+
[[Pandora:Documentation|Volver a Índice de Documentacion Pandora FMS]]
 +
 
 +
 
 +
= Introducción al análisis de red en tiempo real =
 +
 
 +
Pandora FMS utiliza una herramienta para analizar la red en tiempo real: '''Netflow'''. Utiliza el principio de "''escuchar''" por Ethernet de manera continua y analizar el tráfico para generar estadísticas. La idea es "''interceptar''" el tráfico de la red para enviarlo a una sonda que lo analice y envíe esos resultados a Pandora FMS.
 +
 
 +
Para interceptar el tráfico de la red y poder analizarlo, hace falta tener acceso físico a esa red o al menos entender su topología, ya que el punto de captura de la red debe ser el más apropiado. No es lo mismo, por ejemplo, capturar el tráfico de la red de un ''router'' o AP local, que el de todo el tráfico de la red de servidores justo antes de llegar al ''router'' de salida.
 +
 
 +
Para capturar dichos datos se debe redirigir el tráfico de un puerto del ''switch'' a otro puerto mediante un "'''port-mirror'''". No todos los dispositivos de red permiten hacerlo (sólo los de gama media/alta). También se puede hacer un ''port-mirror'' en algunos ''firewalls'' comerciales. Es la forma más sencilla de interceptar el tráfico y no requiere hardware adicional. Al enviar todo el tráfico hacia un puerto, ese puerto se conecta directamente al analizador de red (sonda netflow).
 +
 
 +
Estos ''switchs'' y/o ''firewall'' de gama alta permiten realizar la monitorización de manera más sencilla. Esto se debe a que estos dispositivos envían la información estadística del flujo de red directamente al recolector de Netflow de Pandora FMS sin necesidad de usar una sonda independiente. Se debe consultar las características del hardware para saber si puede habilitar Netflow y enviar los flujos a un colector de Netflow independiente (en este caso, el colector de Netflow de Pandora FMS).
  
= Netflow =
+
= Monitorización de red con Netflow =
  
== Introducción ==
+
== Introducción a Netflow ==
  
 
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.<br><br>
 
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.<br><br>
  
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 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 es un protocolo de red, desarrollado por Cisco Systems para recolectar información sobre tráfico IP. Se ha convertido en un estándar de la industria para monitorización de tráfico de red, y actualmente 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.
  
 
<br>
 
<br>
Line 16: Line 27:
 
<br>
 
<br>
 
<br>
 
<br>
 +
 +
Hace algún tiempo escribimos un artículo en nuestro blog hablando de Netflow, échale un vistazo para conocer más sobre este protocolo: https://blog.pandorafms.org/es/que-es-netflow/
  
 
=== Protocolo Netflow ===
 
=== Protocolo Netflow ===
  
Los dispositivos con Netflow habilitado, cuando activan esta característica generan "registros de netflow" que consisten en pequeños trozos de información que envian a un dispositivo central (servidor de Netflow o colector Netflow), que es quien recibe información de los dispositivos (sondas Netflow) para almacenarla y procesarla.
+
Los dispositivos con Netflow habilitado, cuando activan esta característica, generan "registros de netflow" que consisten en pequeños fragmentos de información que envian a un dispositivo central (un servidor o un colector Netflow), que es el que recibe información de los dispositivos (sondas Netflow) para almacenarla y procesarla.
  
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 cantidad 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.
+
Esa información se transmite mediante el protocolo Netflow, basado en UDP o SCTP. Cada registro de Netflow es un pequeño paquete que contiene una cantidad mínima de información, pero en ningún caso contiene los datos en bruto del tráfico. Es decir, no envía el "payload" del tráfico que circula por el colector, 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 básico envía al menos la siguiente información.
+
Existen varias diferencias entre las versiones de implementación del Netflow original, por lo que algunas incorporan algunos datos más, pero en líneas generales, el Netflow básico envía al menos la siguiente información.
  
El Netflow 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:
+
Aunque se ha descrito Netflow 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 origen.
Line 35: Line 48:
 
* Tipo de servicio IP
 
* 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
+
Con el tiempo, otros fabricantes han diseñado sistemas equivalentes para sus dispositivos de red, con diferentes nombres pero propósito similar:
  
 
* Jflow o cflowd de Juniper Networks
 
* Jflow o cflowd de Juniper Networks
Line 49: Line 62:
 
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.
 
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.
+
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 iniciará y detendrá cuando se arranque Pandora. Este servidor se llama '''nfcapd''' y es necesario instalarlo para poder usar monitorización Netflow.
  
 
=== Sonda 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.
+
Las sondas son generalmente Routers con Netflow habilitado, configurado, y enviando información al colector Netflow (que en este caso será el servidor de Pandora FMS con el demonio ''nfcapd'' habilitado.
  
 
<br>
 
<br>
Line 62: Line 75:
 
<br>
 
<br>
 
<br>
 
<br>
 +
 +
En nuestro blog publicamos un extenso artículo técnico sobre cómo construir una sonda de Netflow utilizando una Raspberry de 60 euros: https://blog.pandorafms.org/es/sonda-netflow-con-raspberry/
  
 
== Requisitos e instalación ==
 
== 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. El demonio ''nfcapd'' por defecto escucha en el puerto 9995/UDP, por lo que tendrá que tenerlo en cuenta si tiene firewalls para abrir este puerto y a la hora de configurar sus sondas Netflow.
+
Pandora FMS utiliza una herramienta OpenSource llamada ''nfcapd'' (perteneciente al paquete nfdump) para procesar todo el tráfico 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 FMS. El demonio ''nfcapd'' por defecto escucha en el puerto 9995/UDP, por lo que tendrá que tenerlo en cuenta si tiene firewalls para abrir este puerto y a la hora de configurar sus sondas Netflow.
  
 
=== Instalacion de nfcapd ===
 
=== Instalacion de nfcapd ===
  
La instalacion de ''nfcapd'' requiere que usted lo instale por su cuenta, Pandora FMS no lo instalará. Para más información, vaya a la [http://nfdump.sourceforge.net página oficinal del proyecto nfcapd]
+
La instalacion de ''nfcapd'' debe hacerse manualmente, pues Pandora FMS no lo instalará. Para más información, vaya a la [https://github.com/phaag/nfdump página oficinal del proyecto nfcapd].
  
Pandora por defecto usa el directorio ''/var/spool/pandora/data_in/netflow'' para procesar la informacion, de manera que cuando arranque ''nfcapd'' utilizará este directorio. No lo modifique si no sabe exactamente qué está haciendo.
+
Pandora FMS por defecto usa el directorio ''/var/spool/pandora/data_in/netflow'' para procesar la información, de manera que cuando arranque ''nfcapd'' utilizará este directorio. No lo modifique si no sabe exactamente qué está haciendo.
  
 
{{tip|Es necesario que instale la '''version 1.6.8p1''' de ''nfdump'' para poder usarla con Pandora FMS}}
 
{{tip|Es necesario que instale la '''version 1.6.8p1''' de ''nfdump'' para poder usarla con Pandora FMS}}
Line 99: Line 114:
 
  Init IPFIX: Max number of IPFIX tags: 62
 
  Init IPFIX: Max number of IPFIX tags: 62
 
   
 
   
{{warning|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}}
+
{{warning|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 están en /var/spool/pandora/data_in/netflow}}
  
 
=== Instalación de sondas ===
 
=== 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.
+
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 él puede generar tráfico Netflow, de todo el tráfico de red que pasa por sus interfaces.
+
En Linux existe un programa llamado ''fprobe'' que captura el tráfico y lo reenvía a un servidor NetFlow. Con él puede generar tráfico Netflow, de todo el tráfico de red que pasa por sus interfaces.
  
Para descargar el paquete rpm basta con ejecutar el siguiente mandato, y posteriormente instalarlo:
+
Para descargar el paquete rpm basta con ejecutar el siguiente comando, y posteriormente instalarlo:
  
 
  wget http://repo.iotti.biz/CentOS/7/x86_64/fprobe-1.1-2.el7.lux.x86_64.rpm
 
  wget http://repo.iotti.biz/CentOS/7/x86_64/fprobe-1.1-2.el7.lux.x86_64.rpm
 
  yum install fprobe-1.1-2.el7.lux.x86_64.rpm
 
  yum install fprobe-1.1-2.el7.lux.x86_64.rpm
  
Por ejemplo ejecutando el siguiente comando se enviará todo el tráfico del interfaz ''eth0'' al colector Netflow escuchando en el puerto ''9995'' de la IP ''192.168.70.185'':
+
Por ejemplo, ejecutando el siguiente comando se enviará todo el tráfico del interfaz ''eth0'' al colector Netflow escuchando en el puerto ''9995'' de la IP ''192.168.70.185'':
  
 
  /usr/sbin/fprobe -i eth0 192.168.70.185:9995
 
  /usr/sbin/fprobe -i eth0 192.168.70.185:9995
  
Una vez generado tráfico, podrá ver estadísticas de este tráfico en el colector Netflow con el comando:
+
Una vez generado tráfico, podrá ver estadísticas del mismo en el colector Netflow con el comando:
  
 
  nfdump -R /var/spool/pandora/data_in/netflow
 
  nfdump -R /var/spool/pandora/data_in/netflow
  
Que debe mostrarle informacion similar a la siguiente:
+
Que debe mostrar información similar a la siguiente:
  
 
  Aggregated flows 1286
 
  Aggregated flows 1286
Line 156: Line 171:
 
Si tiene este sistema funcionando, lo siguiente será configurar Pandora FMS para que utilice esta configuración.
 
Si tiene este sistema funcionando, lo siguiente será configurar Pandora FMS para que utilice esta configuración.
  
== Como operar con Netflow en Pandora ==
+
== Como operar con Netflow en Pandora FMS ==
  
Pandora FMS trabaja con Netflow como un sistema auxiliar, es decir, no almacena la información de Netflow en la base de datos. Pandora muestra esta información como informes solicitados bajo demanda.
+
Pandora FMS trabaja con Netflow como un sistema auxiliar, es decir, no almacena la información de Netflow en la base de datos. Pandora FMS muestra esta información como informes solicitados bajo demanda.
  
Pandora opera con Netflow 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 usando expresiones pcap.
+
Pandora FMS opera con Netflow usando "filtros", conjuntos de reglas para visualizar 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 más complejo 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.  
+
Una vez definidos los filtros, definiremos los informes, que determinan cómo vamos a ver los datos (gráficas, listas...) y en qué 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 FMS, 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" a los informes "normales" de Pandora.
+
Los informes Netflow aparecerán también como "tipo de informe" en la sección de Informes personalizados de Pandora FMS, para poderlos incorporar a los informes "normales" de Pandora FMS.
  
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.
+
Por otro lado, disponemos de una consola de vista en "tiempo real" para analizar el tráfico, componiendo directamente las reglas. Es útil para investigar problemas, ver graficas puntuales que no corresponden a un filtro determinado, etc.
  
 
=== Configuración ===
 
=== Configuración ===
  
En primer lugar, hay que habilitar Netflow para que sea accesible desde los menús Operación y Administración. En el apartado de configuracion (menu administracion) hay una opción para habilitar o deshabilitar el Netflow globalmente.
+
En primer lugar, hay que habilitar Netflow para que sea accesible desde los menús Operación y Administración. En el apartado de Configuracion (menú administración) hay una opción para habilitar o deshabilitar el Netflow globalmente.
  
 
<br>
 
<br>
Line 180: Line 195:
 
<br>
 
<br>
  
Una vez activado, aparecerá una nueva ocpion de configuración de Netflow en la seccion de configuración.
+
Una vez activado, aparecerá una nueva opción de configuración de Netflow en la sección de configuración.
  
 
<br>
 
<br>
Line 192: Line 207:
 
Se debe configurar correctamente este apartado para que el demonio ''nfcapd'' pueda iniciarse sin problemas junto con el servidor de Pandora FMS:
 
Se debe configurar correctamente este apartado para que el demonio ''nfcapd'' pueda iniciarse sin problemas junto con el servidor de Pandora FMS:
 
* '''Data storage path''': Directorio donde se almacenarán los ficheros de datos de netflow.
 
* '''Data storage path''': Directorio donde se almacenarán los ficheros de datos de netflow.
* '''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 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 potencialmente mayores, 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''.
 
* '''Daemon binary path''': Ruta al binario de ''nfcapd''.
 
* '''Nfdump binary path''': Ruta al binario de ''nfdump''.
 
* '''Nfdump binary path''': Ruta al binario de ''nfdump''.
 
* '''Nfexpire binary path''': Ruta al binario de ''nfexpire''.
 
* '''Nfexpire binary path''': Ruta al binario de ''nfexpire''.
* '''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.
+
* '''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.
* '''Disable custom live view filters''': Desabilita la definición de filtros personalizados desde la vista de Netflow (solo permitiría el uso de filtros ya creados).
+
* '''Disable custom live view filters''': Deshabilita la definición de filtros personalizados desde la vista de Netflow (solo permitiría el uso de filtros ya creados).
 
* '''Max. Netflow lifespan''': Indica el máximo tiempo en días de datos Netflow que se almacenarán.
 
* '''Max. Netflow lifespan''': Indica el máximo tiempo en días de datos Netflow que se almacenarán.
* '''Enable IP address name resolution''': Permite la resolución de IPs para tratar de obtener los hostname de los dispositivos Netflow.
+
* '''Enable IP address name resolution''': Permite la resolución de IPs para tratar de obtener los hostnames de los dispositivos Netflow.
  
 
{{warning|La velocidad de acceso del disco en el que residen los datos de Netflow es normalmente el factor limitante del rendimiento}}
 
{{warning|La velocidad de acceso del disco en el que residen los datos de Netflow es normalmente el factor limitante del rendimiento}}
  
Una vez configurado el Netflow, habrá que reiniciar el servidor de Pandora FMS para que éste levante el servidor ''nfcapd''. Este debe estar correctamente instalado antes de intentar arrancarlo. Compruebe los logs del servidor ante cualquier duda.
+
Una vez configurado Netflow en la consola, habrá que reiniciar el servidor de Pandora FMS para que éste inicie el servidor ''nfcapd''. Este debe estar correctamente instalado antes de intentar arrancarlo. Compruebe los logs del servidor ante cualquier duda.
  
{{tip|El servidor Netflow no aparecerá como servidor en la vista de servidores de Pandora, ya que no es un servidor de Pandora FMS}}
+
{{tip|El servidor Netflow no aparecerá como servidor en la vista de servidores de Pandora FMS, ya que no es un servidor de Pandora FMS}}
  
 
== Filtros ==
 
== Filtros ==
  
El menú para la creación y edición de filtros se encuentra en "Resources > Netflow filters". En ésta vista, encontramos un listado de los filtros ya creados que pueden ser modificados y borrados.
+
El menú para la creación y edición de filtros se encuentra en "''Resources'' > ''Netflow filters''". En esta vista, encontramos un listado de los filtros ya creados que pueden ser modificados y borrados.  
  
<br>
 
 
<br>
 
<br>
 
<center>
 
<center>
Line 219: Line 233:
 
<br>
 
<br>
  
Los filtros Netflow permiten definir unas características que explicamos a continuación:
+
También se puede crear un filtro directamente desde la vista de "Netflow live view", guardando el filtro activo como uno nuevo. Los filtros Netflow pueden ser "básicos" o "avanzados". La diferencia está en que los primeros tienen unos campos fijos de filtrado (IP origen, IP destino, Puerto origen, Puerto destino) y los avanzados se definen mediante una expresión ''pcap'' (estándar en expresiones de filtrado para tráfico de red) y utilizan herramientas de todo tipo.
 +
 
 +
=== Creación del filtro ===
  
 +
Esta sería una vista de edición básica de un filtro Netflow:
 
<br>
 
<br>
 
<br>
 
<br>
Line 231: Line 248:
 
* '''Name''': Es aconsejable que el nombre del filtro sea descriptivo.
 
* '''Name''': Es aconsejable que el nombre del filtro sea descriptivo.
 
* '''Group''': Un usuario solo podrá crear un filtro o editar un filtro de un grupo al que tenga acceso.
 
* '''Group''': Un usuario solo podrá crear un filtro o editar un filtro de un grupo al que tenga acceso.
* '''Filter''': 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.
+
* '''Filter''': 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.
 
* '''Aggregate by''': El tráfico se agrupará siguiendo alguno de éstos criterios:
 
* '''Aggregate by''': El tráfico se agrupará siguiendo alguno de éstos criterios:
 
<blockquote>
 
<blockquote>
Line 241: Line 258:
 
Ninguno: (los datos serán totalizados).
 
Ninguno: (los datos serán totalizados).
 
</blockquote>
 
</blockquote>
* '''Ouput format''': El resultado puede ser mostrado en:<br>
+
==== Ejemplos ====
<blockquote>
 
Paquetes.<br>
 
Bytes.<br>
 
Bits por segundo.<br>
 
Bytes por paquete.<br>
 
</blockquote>
 
  
 
Por ejemplo, este sería un filtro básico para tráfico web:
 
Por ejemplo, este sería un filtro básico para tráfico web:
Line 268: Line 279:
 
<br>
 
<br>
 
<br>
 
<br>
 +
 +
Más ejemplos de filtros avanzados:
 +
 +
*Capturar el tráfico entrante o saliente de 192.168.0.1:
 +
host 192.168.0.1
 +
*Capturar el tráfico entrante en 192.168.0.1:
 +
dst host 192.168.0.1
 +
*Capturar el tráfico saliente de 192.168.0.0/24:
 +
src net 192.168.0.0/24
 +
*Capturar el tráfico de HTTP y HTTPS:
 +
(port 80) or (port 443)
 +
*Capturar todo el tráfico excepto el de DNS (53):
 +
port not 53
 +
*Capturar el tráfico hacia 192.168.0.1 del protocolo SSH:
 +
(port 22) and (dst host 192.168.0.1)
  
 
== Informes ==
 
== Informes ==
  
Los informes de Netflow están integrados con los informes de Pandora FMS (ver [http://www.openideas.info/wiki/index.php?title=Pandora:Documentation_en:Data_Presentation#Reports Informes] para más información).
+
Los informes de Netflow están integrados con los informes de Pandora FMS (ver [https://pandorafms.com/docs/index.php?title=Pandora:Documentation_es:Presentacion_datos/Informes Informes] para más información).
  
Para crear un elemento de informe, elija uno de los elementos de informe de netflow disponibles.  
+
Para crear un elemento de informe, elija uno de los elementos de informe de Netflow disponibles.  
  
 
<br>
 
<br>
Line 297: Line 323:
 
*'''Description''': Descripción del elemento.
 
*'''Description''': Descripción del elemento.
 
*'''Period''': Longitud del intervalo de datos a mostrar.
 
*'''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.
+
*'''Resolution''': Algunos informes requiren que se recojan muestras cada cierto periodo. Este parámetro sirve para definir el número de muestras. La resolución puede ser baja (6 muestras), media (12 muestras), alta (24 muestras) ultra alta (30 muestras). Hay dos valores especiales (''hourly'' y ''daily'' para que no se recoja un valor fijo de muestras sino una cada cierto periodo.
 
*'''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.
 
*'''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:
+
Hay tres tipos de elementos de informe de Netflow:
  
 
* '''Netflow area chart''': Una gráfica de área, agregada o sin agregar.
 
* '''Netflow area chart''': Una gráfica de área, agregada o sin agregar.
Line 312: Line 338:
 
<br>
 
<br>
  
* '''Netflow pie chart''': Una gráfica de tarta agregada.
+
* '''Netflow data chart''': Una representación en texto de la gráfica de área.
  
 
<br>
 
<br>
 
<br>
 
<br>
 
<center>
 
<center>
[[Image:Netflow_chart_pie.png|300px]]
+
[[Image:Netflow_table_data.png|600px]]
 
</center>
 
</center>
 
<br>
 
<br>
 
<br>
 
<br>
  
* '''Netflow data chart''': Una representación en texto de la gráfica de área.
+
* '''Netflow summary chart''': Resumen de tráfico para el periodo dado. Hay tres elementos: una tabla con información global, un gráfico de tarta con las IPs o puertos más relevantes y una tabla con la misma información del gráfico de tarta desglosada.
  
 
<br>
 
<br>
 
<br>
 
<br>
 
<center>
 
<center>
[[Image:Netflow_table_data.png|600px]]
+
[[Image:Netflow9.png]]
 
</center>
 
</center>
 
<br>
 
<br>
 
<br>
 
<br>
  
* '''Netflow statistics chart''': Una representación en texto de la gráfica de tarta.
+
== Vista en tiempo real ==
 +
 
 +
Esta vista se utiliza para consultar el histórico de datos capturados en base a diferentes filtros de búsqueda. Se pueden usar filtros y diferentes formas de visualización de información. Se debe definir la manera de agrupar la información mostrada, así como la manera de obtener dicha información para poder empezar a visualizar datos.
  
<br>
 
<br>
 
 
<center>
 
<center>
[[Image:Netflow_table_statistics.png]]
+
[[Image:netflow_view1.png|750px]]
 
</center>
 
</center>
<br>
 
<br>
 
  
* '''Netflow summary chart''': Resumen de tráfico para el periodo dado.
+
La manera de obtener la información puede ser por: IP de origen, IP de destino, Puerto de origen o Puerto de destino. Si se escoge, por ejemplo, mostrar la información IP de destino se mostrará la información ordenada por las IP's con más tráfico hacia el destino de mayor a menor. Lo mismo sería para saber el consumo de su red por protocolo, escogiendo por puerto de destino.
 +
 
 +
Las maneras de visualización posibles son las siguientes:
 +
 
 +
* '''Gráficas de área''' (de tipo ''stacked''): Muestran a lo largo del tiempo (desde la fecha de origen a la fecha de destino), la evolución de los datos. Se debe escoger el nivel de precisión de la gráfica en el token "Resolución".
  
<br>
 
<br>
 
 
<center>
 
<center>
[[Image:Netflow9.png]]
+
[[File: Netflow grafico area.png|600px]]
 
</center>
 
</center>
<br>
 
<br>
 
  
== Vista en tiempo real ==
+
* '''Sumario''': Muestra una tabla resumen, una tarta y una tabla con los datos de todo el periodo.
  
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.
+
<center>
 +
[[File: Netflow grafico sumario.png|600px]]
 +
</center>
  
Vaya a [[Pandora:Documentation_es:Netflow#Informes|informes]] y [[Pandora:Documentation_es:Netflow#Filtros|filtros]] para aprender a configurar las opciones de la vista en tiempo real.
+
* '''Detallado''': Muestra un mapa de porciones que representa el tráfico por IP.
  
<br>
 
<br>
 
 
<center>
 
<center>
[[Image:Netflow10.png]]
+
[[File: Netflow grafico detailed.png.png|600px]]
 
</center>
 
</center>
<br>
 
<br>
 
  
Para modificar un filtro existente cárguelo desde el selector de filtros, realice los cambios deseados y haga click en ''Update current filter''.
+
* '''Tabla de datos''': Muestra una tabla de datos con cada IP y un número de filas que depende de la resolución elegida.
  
<br>
 
<br>
 
 
<center>
 
<center>
[[Image:Netflow11.png]]
+
[[File: Netflow datatable.png|600px]]
 
</center>
 
</center>
<br>
 
<br>
 
  
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''.
+
* '''Gráfico circular''': Muestra un gráfico interactivo circular que representa los pares de conexiones entre IP y volumen de tráfico.
  
<br>
 
<br>
 
 
<center>
 
<center>
[[Image:Netflow12.png]]
+
[[File: Netflow bola.png|600px]]
 
</center>
 
</center>
<br>
+
 
<br>
+
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 [[Pandora:Documentation_es:Netflow#Informes|informes]] y [[Pandora:Documentation_es:Netflow#Filtros|filtros]] para aprender a configurar las opciones de la vista en tiempo real.
 +
 
 +
== Mapas de tráfico de red ==
 +
 
 +
Esta es una nueva característica introducida en el OUM 733 y que será mejorada en el futuro. Crea mapas de red dinámicos, basados en el tráfico entre nodos. Muestra la relación (conexiones) entre diferentes direcciones, mostrando las N conexiones más importantes (por tamaño de los datos transferidos entre ellas).
 +
 
 
<center>
 
<center>
[[Image:Netflow13.png]]
+
[[File: Network Usage map.jpg|700px]]
 
</center>
 
</center>
<br>
 
<br>
 
  
 
==Configuración distribuida==
 
==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:
+
Es posible ubicar el nodo de Pandora FMS que recoge datos de Netflow en un host independiente de la consola. En entornos con muchos datos Netflow 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 FMS 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.'''
 
* '''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.'''
Line 399: Line 420:
 
Para su configuración debemos seguir los siguientes pasos:
 
Para su configuración debemos seguir los siguientes pasos:
  
Habilitar el usuario apache. Para ello hay que modificar en el fichero /etc/passwd la linea del usuario apache con esta configuración:
+
Habilitar login para el usuario apache. Para ello hay que modificar en el fichero /etc/passwd la linea del usuario apache con esta configuración:
  
 
  apache:x:48:48:Apache:/var/www:/bin/bash
 
  apache:x:48:48:Apache:/var/www:/bin/bash
Line 405: Line 426:
 
Crear el directorio .ssh dentro del directorio /var/www y darle los permisos correctos:
 
Crear el directorio .ssh dentro del directorio /var/www y darle los permisos correctos:
  
  #mkdir /var/www/.ssh
+
  # mkdir /var/www/.ssh
  #chown apache:apache /var/www/.ssh
+
  # chown apache:apache /var/www/.ssh
  
 
Crear claves ssh desde el usuario apache y copiarlas al servidor donde esté alojado el tráfico netflow.
 
Crear claves ssh desde el usuario apache y copiarlas al servidor donde esté alojado el tráfico netflow.
  
  #su apache
+
  # su apache
  bash-4.2$ssh-keygen
+
  bash-4.2$ ssh-keygen
 
  Generating public/private rsa key pair.
 
  Generating public/private rsa key pair.
 
  Enter file in which to save the key (/var/www/.ssh/id_rsa):  
 
  Enter file in which to save the key (/var/www/.ssh/id_rsa):  
Line 432: Line 453:
 
  |        . o . o .|
 
  |        . o . o .|
 
  +----[SHA256]-----+
 
  +----[SHA256]-----+
  bash-4.2$ ssh-copy-id user@<netflow_server>
+
  bash-4.2$ ssh-copy-id root@<netflow_server>
  
Una vez compartida comprueba que es posible acceder al servidor mediante el usuario apache sin indicar contraseña:
+
Una vez compartida se debe comprobar que es posible acceder al servidor mediante el usuario apache sin indicar contraseña:
  
  bash-4.2$ ssh user@<netflow_server>
+
  bash-4.2$ ssh usuario@<netflow_server>
  
* '''Crear un script en la consola de pandora que reemplace a /usr/bin/nfdump por uno similar al siguiente'''
+
* '''Crear un script en la consola de Pandora FMS que reemplace a /usr/bin/nfdump por uno similar al siguiente'''
  
<pre>
+
#!/bin/bash
#!/bin/bash
+
NFDUMP_PARAMS=$(sed 's/(\(.*\))/\"\(\1\)\"/' <<< "[email protected]");
NFDUMP_PARAMS=$(sed 's/(\(.*\))/\"\(\1\)\"/' <<< "[email protected]");
+
NFDUMP_PARAMS=${NFDUMP_PARAMS//\)/\)\"};
+
ssh [email protected]<netflow_server> "/usr/bin/nfdump $NFDUMP_PARAMS"
  
ssh [email protected]<netflow_server> "/usr/bin/nfdump $NFDUMP_PARAMS"
+
Dar permisos de ejecución al script:
</pre>
 
  
De permisos de ejecución al script:
+
chmod 755 /usr/bin/nfdump
  
<pre>
+
Probar a ejecutar el script, de esta forma
chmod 755 /usr/bin/nfdump
 
</pre>
 
 
 
Pruebe a ejecutar el script, de esta forma
 
  
 
  /usr/bin/nfdump -V
 
  /usr/bin/nfdump -V
Line 463: Line 479:
  
  
 +
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
  
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
 
  
 
[[Category: Pandora FMS]]
 
[[Category: Pandora FMS]]

Latest revision as of 11:40, 14 January 2021

Volver a Índice de Documentacion Pandora FMS


1 Introducción al análisis de red en tiempo real

Pandora FMS utiliza una herramienta para analizar la red en tiempo real: Netflow. Utiliza el principio de "escuchar" por Ethernet de manera continua y analizar el tráfico para generar estadísticas. La idea es "interceptar" el tráfico de la red para enviarlo a una sonda que lo analice y envíe esos resultados a Pandora FMS.

Para interceptar el tráfico de la red y poder analizarlo, hace falta tener acceso físico a esa red o al menos entender su topología, ya que el punto de captura de la red debe ser el más apropiado. No es lo mismo, por ejemplo, capturar el tráfico de la red de un router o AP local, que el de todo el tráfico de la red de servidores justo antes de llegar al router de salida.

Para capturar dichos datos se debe redirigir el tráfico de un puerto del switch a otro puerto mediante un "port-mirror". No todos los dispositivos de red permiten hacerlo (sólo los de gama media/alta). También se puede hacer un port-mirror en algunos firewalls comerciales. Es la forma más sencilla de interceptar el tráfico y no requiere hardware adicional. Al enviar todo el tráfico hacia un puerto, ese puerto se conecta directamente al analizador de red (sonda netflow).

Estos switchs y/o firewall de gama alta permiten realizar la monitorización de manera más sencilla. Esto se debe a que estos dispositivos envían la información estadística del flujo de red directamente al recolector de Netflow de Pandora FMS sin necesidad de usar una sonda independiente. Se debe consultar las características del hardware para saber si puede habilitar Netflow y enviar los flujos a un colector de Netflow independiente (en este caso, el colector de Netflow de Pandora FMS).

2 Monitorización de red con Netflow

2.1 Introducción a Netflow

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. Se ha convertido en un estándar de la industria para monitorización de tráfico de red, y actualmente 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



Hace algún tiempo escribimos un artículo en nuestro blog hablando de Netflow, échale un vistazo para conocer más sobre este protocolo: https://blog.pandorafms.org/es/que-es-netflow/

2.1.1 Protocolo Netflow

Los dispositivos con Netflow habilitado, cuando activan esta característica, generan "registros de netflow" que consisten en pequeños fragmentos de información que envian a un dispositivo central (un servidor o un colector Netflow), que es el que recibe información de los dispositivos (sondas Netflow) para almacenarla y procesarla.

Esa información se transmite mediante el protocolo Netflow, basado en UDP o SCTP. Cada registro de Netflow es un pequeño paquete que contiene una cantidad mínima de información, pero en ningún caso contiene los datos en bruto del tráfico. Es decir, no envía el "payload" del tráfico que circula por el colector, sólo datos estadísticos.

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

Aunque se ha descrito Netflow 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 equivalentes 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

2.1.2 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 iniciará y detendrá cuando se arranque Pandora. Este servidor se llama nfcapd y es necesario instalarlo para poder usar monitorización Netflow.

2.1.3 Sonda Netflow

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



NewNetFlowApproach.png



En nuestro blog publicamos un extenso artículo técnico sobre cómo construir una sonda de Netflow utilizando una Raspberry de 60 euros: https://blog.pandorafms.org/es/sonda-netflow-con-raspberry/

2.2 Requisitos e instalación

Pandora FMS utiliza una herramienta OpenSource llamada nfcapd (perteneciente al paquete nfdump) para procesar todo el tráfico 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 FMS. El demonio nfcapd por defecto escucha en el puerto 9995/UDP, por lo que tendrá que tenerlo en cuenta si tiene firewalls para abrir este puerto y a la hora de configurar sus sondas Netflow.

2.2.1 Instalacion de nfcapd

La instalacion de nfcapd debe hacerse manualmente, pues Pandora FMS no lo instalará. Para más información, vaya a la página oficinal del proyecto nfcapd.

Pandora FMS por defecto usa el directorio /var/spool/pandora/data_in/netflow para procesar la información, de manera que cuando arranque nfcapd utilizará este directorio. No lo modifique si no sabe exactamente qué está haciendo.

Info.png

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

 


Si quiere comprobar que nfcapd esté correctamente instalado puede probar a ejecutar el siguiente comando para iniciar el proceso en primer plano:

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

Si todo va bien, debería obtener una salida similar a esta:

Add extension: 2 byte input/output interface index
Add extension: 4 byte input/output interface index
Add extension: 2 byte src/dst AS number
Add extension: 4 byte src/dst AS number
Add extension: 4 byte output bytes
Add extension: 8 byte output bytes
Add extension: NSEL Common block
Add extension: NSEL xlate ports
Add extension: NSEL xlate IPv4 addr
Add extension: NSEL xlate IPv6 addr
Add extension: NSEL ACL ingress/egress acl ID
Add extension: NSEL username
Add extension: NSEL max username
Add extension: NEL Common block
Bound to IPv4 host/IP: any, Port: 9995
Startup.
Init IPFIX: Max number of IPFIX tags: 62

Template warning.png

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 están en /var/spool/pandora/data_in/netflow

 


2.2.2 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 reenvía a un servidor NetFlow. Con él puede generar tráfico Netflow, de todo el tráfico de red que pasa por sus interfaces.

Para descargar el paquete rpm basta con ejecutar el siguiente comando, y posteriormente instalarlo:

wget http://repo.iotti.biz/CentOS/7/x86_64/fprobe-1.1-2.el7.lux.x86_64.rpm
yum install fprobe-1.1-2.el7.lux.x86_64.rpm

Por ejemplo, ejecutando el siguiente comando se enviará todo el tráfico del interfaz eth0 al colector Netflow escuchando en el puerto 9995 de la IP 192.168.70.185:

/usr/sbin/fprobe -i eth0 192.168.70.185:9995

Una vez generado tráfico, podrá ver estadísticas del mismo en el colector Netflow con el comando:

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

Que debe mostrar información 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.

2.3 Como operar con Netflow en Pandora FMS

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

Pandora FMS opera con Netflow usando "filtros", conjuntos de reglas para visualizar 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 más complejo usando expresiones pcap.

Una vez definidos los filtros, definiremos los informes, que determinan cómo vamos a ver los datos (gráficas, listas...) y en qué 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 FMS, para utilizarla —bajo demanda— cuando queramos.

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

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

2.3.1 Configuración

En primer lugar, hay que habilitar Netflow para que sea accesible desde los menús Operación y Administración. En el apartado de Configuracion (menú administración) hay una opción para habilitar o deshabilitar el Netflow globalmente.



Netflow1.png



Una vez activado, aparecerá una nueva opción de configuración de Netflow en la sección de configuración.



Netflow2.png



Se debe configurar correctamente este apartado para que el demonio nfcapd pueda iniciarse sin problemas junto con el servidor de Pandora FMS:

  • Data storage path: Directorio donde se almacenarán los ficheros de datos de netflow.
  • 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 potencialmente mayores, 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.
  • Nfexpire binary path: Ruta al binario de nfexpire.
  • 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.
  • Disable custom live view filters: Deshabilita la definición de filtros personalizados desde la vista de Netflow (solo permitiría el uso de filtros ya creados).
  • Max. Netflow lifespan: Indica el máximo tiempo en días de datos Netflow que se almacenarán.
  • Enable IP address name resolution: Permite la resolución de IPs para tratar de obtener los hostnames de los dispositivos Netflow.

Template warning.png

La velocidad de acceso del disco en el que residen los datos de Netflow es normalmente el factor limitante del rendimiento

 


Una vez configurado Netflow en la consola, habrá que reiniciar el servidor de Pandora FMS para que éste inicie el servidor nfcapd. Este debe estar correctamente instalado antes de intentar arrancarlo. Compruebe los logs del servidor ante cualquier duda.

Info.png

El servidor Netflow no aparecerá como servidor en la vista de servidores de Pandora FMS, ya que no es un servidor de Pandora FMS

 


2.4 Filtros

El menú para la creación y edición de filtros se encuentra en "Resources > Netflow filters". En esta vista, encontramos un listado de los filtros ya creados que pueden ser modificados y borrados.


Netflow3.png



También se puede crear un filtro directamente desde la vista de "Netflow live view", guardando el filtro activo como uno nuevo. Los filtros Netflow pueden ser "básicos" o "avanzados". La diferencia está en que los primeros tienen unos campos fijos de filtrado (IP origen, IP destino, Puerto origen, Puerto destino) y los avanzados se definen mediante una expresión pcap (estándar en expresiones de filtrado para tráfico de red) y utilizan herramientas de todo tipo.

2.4.1 Creación del filtro

Esta sería una vista de edición básica de un filtro Netflow:

Netflow4.png



  • Name: Es aconsejable que el nombre del filtro sea descriptivo.
  • Group: Un usuario solo podrá crear un filtro o editar un filtro de un grupo al que tenga acceso.
  • Filter: 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.
  • Aggregate by: 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).

2.4.1.1 Ejemplos

Por ejemplo, este sería un filtro básico para tráfico web:



Netflow5.png



O por ejemplo un filtro avanzado para tráfico desde y hacia una intranet:



Netflow6.png



Más ejemplos de filtros avanzados:

  • Capturar el tráfico entrante o saliente de 192.168.0.1:
host 192.168.0.1
  • Capturar el tráfico entrante en 192.168.0.1:
dst host 192.168.0.1
  • Capturar el tráfico saliente de 192.168.0.0/24:
src net 192.168.0.0/24
  • Capturar el tráfico de HTTP y HTTPS:
(port 80) or (port 443)
  • Capturar todo el tráfico excepto el de DNS (53):
port not 53
  • Capturar el tráfico hacia 192.168.0.1 del protocolo SSH:
(port 22) and (dst host 192.168.0.1)

2.5 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.



Netflow7.png



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



Netflow8.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: Algunos informes requiren que se recojan muestras cada cierto periodo. Este parámetro sirve para definir el número de muestras. La resolución puede ser baja (6 muestras), media (12 muestras), alta (24 muestras) ultra alta (30 muestras). Hay dos valores especiales (hourly y daily para que no se recoja un valor fijo de muestras sino una cada cierto periodo.
  • 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 tres tipos de elementos de informe de Netflow:

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



Netflow chart area aggregated.png



  • Netflow data chart: Una representación en texto de la gráfica de área.



Netflow table data.png



  • Netflow summary chart: Resumen de tráfico para el periodo dado. Hay tres elementos: una tabla con información global, un gráfico de tarta con las IPs o puertos más relevantes y una tabla con la misma información del gráfico de tarta desglosada.



Netflow9.png



2.6 Vista en tiempo real

Esta vista se utiliza para consultar el histórico de datos capturados en base a diferentes filtros de búsqueda. Se pueden usar filtros y diferentes formas de visualización de información. Se debe definir la manera de agrupar la información mostrada, así como la manera de obtener dicha información para poder empezar a visualizar datos.

Netflow view1.png

La manera de obtener la información puede ser por: IP de origen, IP de destino, Puerto de origen o Puerto de destino. Si se escoge, por ejemplo, mostrar la información IP de destino se mostrará la información ordenada por las IP's con más tráfico hacia el destino de mayor a menor. Lo mismo sería para saber el consumo de su red por protocolo, escogiendo por puerto de destino.

Las maneras de visualización posibles son las siguientes:

  • Gráficas de área (de tipo stacked): Muestran a lo largo del tiempo (desde la fecha de origen a la fecha de destino), la evolución de los datos. Se debe escoger el nivel de precisión de la gráfica en el token "Resolución".

Netflow grafico area.png

  • Sumario: Muestra una tabla resumen, una tarta y una tabla con los datos de todo el periodo.

Netflow grafico sumario.png

  • Detallado: Muestra un mapa de porciones que representa el tráfico por IP.

Netflow grafico detailed.png.png

  • Tabla de datos: Muestra una tabla de datos con cada IP y un número de filas que depende de la resolución elegida.

Netflow datatable.png

  • Gráfico circular: Muestra un gráfico interactivo circular que representa los pares de conexiones entre IP y volumen de tráfico.

Netflow bola.png

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 y filtros para aprender a configurar las opciones de la vista en tiempo real.

2.7 Mapas de tráfico de red

Esta es una nueva característica introducida en el OUM 733 y que será mejorada en el futuro. Crea mapas de red dinámicos, basados en el tráfico entre nodos. Muestra la relación (conexiones) entre diferentes direcciones, mostrando las N conexiones más importantes (por tamaño de los datos transferidos entre ellas).

Network Usage map.jpg

2.8 Configuración distribuida

Es posible ubicar el nodo de Pandora FMS que recoge datos de Netflow en un host independiente de la consola. En entornos con muchos datos Netflow 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 FMS 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.

Para su configuración debemos seguir los siguientes pasos:

Habilitar login para el usuario apache. Para ello hay que modificar en el fichero /etc/passwd la linea del usuario apache con esta configuración:

apache:x:48:48:Apache:/var/www:/bin/bash

Crear el directorio .ssh dentro del directorio /var/www y darle los permisos correctos:

# mkdir /var/www/.ssh
# chown apache:apache /var/www/.ssh

Crear claves ssh desde el usuario apache y copiarlas al servidor donde esté alojado el tráfico netflow.

# su apache
bash-4.2$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/www/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /var/www/.ssh/id_rsa.
Your public key has been saved in /var/www/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vYvl5V00E4faa14zN08ARzGUQ9IfAQJnMzkaqLAGRHI [email protected]<server>
The key's randomart image is:
+---[RSA 2048]----+
|+oE     ...*o=B+.|
|.o .   . .oo+o++ |
|  . o .   o o o+o|
|   o .   o   =  +|
|  .     S . . oo.|
|           .   +o|
|          o . o+=|
|         + + + +*|
|        . o . o .|
+----[SHA256]-----+
bash-4.2$ ssh-copy-id [email protected]<netflow_server>

Una vez compartida se debe comprobar que es posible acceder al servidor mediante el usuario apache sin indicar contraseña:

bash-4.2$ ssh [email protected]<netflow_server>
  • Crear un script en la consola de Pandora FMS que reemplace a /usr/bin/nfdump por uno similar al siguiente
#!/bin/bash
NFDUMP_PARAMS=$(sed 's/(\(.*\))/\"\(\1\)\"/' <<< "[email protected]");

ssh [email protected]<netflow_server> "/usr/bin/nfdump $NFDUMP_PARAMS"

Dar permisos de ejecución al script:

chmod 755 /usr/bin/nfdump

Probar 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