Pandora: Documentation es: Netflow

From Pandora FMS Wiki
Revision as of 10:15, 26 March 2019 by Slerena (talk | contribs) (Configuración distribuida)
Jump to: navigation, search

Volver a Índice de Documentacion Pandora FMS

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

Pandora FMS utiliza dos sistemas alternativos y complementarios para analizar la red en tiempo real: Pandora NTA y Netflow. Cualquiera de los dos sistemas utiliza el mismo principio: "escuchar" el cable ethernet de manera continua y analizar el tráfico para generar estadísticas. En ambos casos hay que, de alguna manera, "interceptar" el tráfico de la red para enviarlo a una sonda que lo analice y enviar esos resultados a Pandora FMS.

Para interceptar el tráfico de la red y poder analizarla, hace falta primero, 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 mas 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 el tráfico hay dos maneras de hacerlo.

  • 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 alta/media). 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 o pandora nta/ntop).
  • Capturar el tráfico mediante un network TAP . Un tap es un dispositivo de red muy sencillo que copia el tráfico de una boca a otra en un solo sentido (es imposible interferir en la red). Es un dispositivo PASIVO que no se puede "caer" ni causar molestias de ningún tipo ya que es una copia física, por hardware del tráfico de red. Es indetectable. Hay TAPs desde 12€ a 900€ pero el principio es el mismo. El tap genera una salida para cada dirección de la comunicación por lo que necesitará una sonda que escuche en dos puertos o limitarse a escuchar una única dirección.

Basic-network-tap.jpg Ejemplo real de un TAP de 12€

Basic-network-tap-2.jpg Ejemplo real de un TAP de 35€

Si solo vamos a usar Netflow para analizar nuestra red, y además nuestro Switch o Firewall es de gama alta, puede que permita enviar la información estadística de Netflow directamente a nuestro recolector de Netflow de Pandora, sin necesidad de usar una sonda netflow independiente, pero no es algo habitual en switches de gama media. Consulte las características de su hardware para saber si puede habilitar el netflow y enviar los flujos a un colector de Netflow independiente (en este caso, el colector de netflow de Pandora FMS).

En resumen, este podría ser un escenario de trabajo para poder analizar el tráfico de nuestra red en tiempo real. Para ello solo sería necesario un par de TAPS de 12€ (o un par de port mirrors) y la version OpenSource de Pandora FMS:

Diagram-how-to-use-a-network-tap.png

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

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.

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.

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:

  • 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

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 levanará y parará 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 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



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

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

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, 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 reenvia 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:

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 de este tráfico en el colector Netflow 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.

2.3 Como operar con Netflow en Pandora

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

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

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 (menu administracion) hay una opción para habilitar o deshabilitar el Netflow globalmente.



Netflow1.png



Una vez activado, aparecerá una nueva ocpion de configuración de Netflow en la seccion 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 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.
  • 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: Desabilita 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 hostname 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 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.

Info.png

El servidor Netflow no aparecerá como servidor en la vista de servidores de Pandora, 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 podemos crear un filtro directamente desde la vista de "Netflow live view", guardando el filtro activo como un nuevo filtro. Los filtros Netflow pueden ser "basicos" o "avanzados". La diferencia está en que los primeros tienen unos campos mas o menos fijos de filtrado (IP origen, IP destino, Puerto origen, puerto destino) y los avanzados se definen con una expresión pcap que es el estándar en expresiones de filtrado para tráfico de red, y que utilizan herramientas de todo tipo.

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

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



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: 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:

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



Netflow chart area aggregated.png



  • Netflow pie chart: Una gráfica de tarta agregada.



Netflow chart pie.png



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



Netflow table data.png



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



Netflow table statistics.png



  • Netflow summary chart: Resumen de tráfico para el periodo dado.



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 sencillos y diferentes tipos de informes. Defina un informe tipo y una manera de agregar la información para saber el tipo de información que va a visualizar en el informe.

Netflow view1.png

Los agregados de información pueden ser por IP de origen, IP de destino, Puerot de origen o Puerto de destino. Escoja por ejemplo un agregado por IP de destino y un informe cualquiera, le mostrará un informe ordenado, de mayor a menor de las IP's con más tráfico hacia el destino. Lo mismo funciona, p.e para saber el consumo de su red por protocolo, escogiendo el agregado por puerto de destino.

Los tipos de informes son los siguientes:

  • Gráficas de área (de tipo stacked), muestra a lo largo del tiempo (desde la fecha de origen a la fecha de destino), la evolución de los datos. Escoja el nivel de precisión de la gráfica en el control "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 una 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 (como en la gráfica).

Netflow datatable.png

  • Gráfico circular. Muestra un gráfico interactivo cirtcular que representa los pares de conexiones entre IP y su 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 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:

1. 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 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 comprueba que es posible acceder al servidor mediante el usuario apache sin indicar contraseña:

bash-4.2$ ssh [email protected]<netflow_server>

2. Crear un script en la consola de pandora 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"

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

3 Monitorización de red con Pandora NTA

Pandora Network Traffic Analyzer (Pandora NTA) es una herramienta de análisis de tráfico de red pensada para entornos donde no se quiere o no se puede utilizar Netflow para hacer un análisis de la red. Es importante destacar que ofrecen funcionalidades ligeramente diferentes, pero que Netflow muestra información (relativa a los puertos) que Pandora NTA no muestra (esa es casi la única diferencia) y que Netflow permite una interfaz en tiempo real mucho más avanzada, así como características únicas como crear módulos de datos como resultado de filtros avanzados de expresiones PCAP.

Como base de Pandora NTA/NTOP se utiliza un fork del proyecto NTOP (de la versión licenciada como GPL2), además de código propio del proyecto Pandora, que se encarga de recoger los datos y enviárselos en forma de XML al servidor de Pandora FMS. Todo ese código está disponible en nuestro repositorio público para el que lo quiera. Hay que recordar además que esta es una funcionalidad 100% opensource.

Pandora NTA utiliza uno o varios sensores de red para inspeccionar tráfico y generar estadísticas de consumo por IP de origen e IP de destino. No genera información específica de tráfico por puerto o aplicación, para esa función más avanzada debería usar NetFlow.

Pandora NTA es una forma sencilla de monitorizar a bajo nivel su red, sin invertir en hardware especializado o herramientas de terceros, e incorporar esa información en su plataforma de monitorización existente. Pandora NTA le ofrecerá:

  • Consumo detallado por tráfico, de entrada y salida de cada IP local de su red local.
  • Detección de problemas de red (mediante la generación de eventos).
  • Informes específicos del consumo de su red, por IP de origen.
  • Una relación de las IP's de destino con más tráfico por IP de origen en su red.
  • Informes de consumo de red local por origen, mapas dinámicos y opciones de búsqueda y filtrado con los datos acumulados.

Con los datos individuales del tráfico de cada equipo de su red Pandora NTA podrá generar alertas, informes de tipo TopN y emplear cualquier otra función de Pandora FMS, ya que se guardan como módulos de un agente.

3.1 Arquitectura y funcionamiento

Necesitará instalar la sonda pandora-ntop en una máquina que tenga acceso al tráfico de su red LAN, generalmente instalándola en un servidor Linux con acceso al tráfico (si este actúa de router o firewall), o bien redireccionando el tráfico a un puerto por medio de un port-mirror desde un switch, firewall o router. También puede duplicar el tráfico en un sólo sentido por medio de un TAP, pero requerirá un equipamiento hardware específico. Es importante que entienda que si instala Pandora NTA en un equipo ordinario, sin realizar previamente un portmirror o conectar un TAP que redirija tráfico a dicha máquina, no recibirá todo el tráfico de la red, solo observará el tráfico generado por esa máquina, no el resto de la red.

Pandora-NTOP escuchará el tráfico y generará datos que no almacenará en ningún sitio (los mantiene en memoria). Pandora-NTA enviará los datos recogidos por Pandora-NTOP y los enviará a Pandora FMS Data Server. Puede instalar tantos Pandora-NTA como necesite, si tiene varias redes locales y varios puntos de escucha, permite hacer un despliegue distribuido.

Pandora NTA además ofrece información relativa a problemas en su red local en tiempo real, ya que puede generar eventos de tres tipos:

  • Máscara inválida (Wrong netmask).
  • Envío de datos por el puerto p (Host sent data to zero port).
  • Dirección MAC Duplicada (Duplicated mac).

Puede crear alertas de eventos para conocer en tiempo real, por ejemplo, cuando aparece una MAC duplicada en su sistema. Utilice las cadenas de texto en inglés descritas arriba para crear una alerta de evento.

3.2 Instalación

Actualmente se dispone de un tarball compatible con CentOS 7. Se distribuye comprimido en un tgz. Está disponible en nuestra librería de módulos de Pandora FMS en https://pandorafms.com/library. Para instalarlo hay que descomprimirlo:

tar xvzf pandora_nta.tgz

Después hay que ejecutar el script de instalación dentro del directorio descomprimido.

cd pandora_nta_tarball
./install_pandora_nta.sh --install

Si se quiere desinstalar el pandora NTA hay que lanzar el mismo script de la siguiente forma:

./install_pandora_nta.sh --uninstall

Si está usando la versión de Pandora FMS distribuida en ISO, ya estará instalado en su sistema, sólo tendrá que activarlo (A partir de OUM 733).

Para arrancarlo, en un CentOS7 bastará con ejecutar

systemctl start pandora_nta

3.2.1 Requisitos

La parte de Perl de Pandora NTA necesita algunas dependencias, además, por supuesto, de disponer de un intérprete de Perl en la máquina donde corre.

Pandora NTA usa módulos externos de Perl. Algunos de ellos forman parte del Core y otros se distribuyen en las instalaciones normales del intérprete. Esta es la lista de los módulos externos que se usan:

  • Getopt::Std
  • Config::Simple
  • LWP::Simple
  • Sys::Hostname
  • JSON
  • POSIX
  • MIME::Base64
  • XML::Simple
  • Digest::SHA

Para saber si falta alguna dependencia basta con ejecutar el script principal con la opción -h y si aparece un error en vez de una ventana de ayuda significa que faltan dependencias. De este error se pueden ver cuales son y se pueden instalar o bien con CPAN o directamente bajando los paquetes de Perl desde los repositorios oficiales de cada distribución.

De la parte binaria de Pandora NTA basada en ntop (pandora-ntop), se puede obtener el código para su compilación desde nuestro repositorio público de github (https://github.com/pandorafms), o bien utilizar uno de los binarios precompilados que distribuimos en nuestra librería de modulos en https://pandorafms.com/library). Viene distribuida por defecto en las imágenes ISO de instalación de Pandora FMS a partir de NG 733.

3.3 Configuración de Pandora NTA

Parámetros aceptados por linea de comandos

-h: Muestra la ayuda.
-f: Ruta del fichero de configuración. No es necesario porque se puede usar
 la configuración por defecto. El usuario debe tener permisos de lectura 
 sobre el archivo.

Parámetros del fichero de configuración pandora_nta.conf

daemon

Si se pone a 1 el programa se ejecuta en segundo plano (0 por defecto).


encoding

Encoding de los XML que se envían a través de Tentacle. Irá en la cabecera del XML (UTF-8 por defecto).

interval

Intervalo en segundos entre dos ciclos de trabajo del Pandora NTA (300 segundos, es decir, 5 minutos, por defecto).

log_file

Fichero donde volcar los logs de la aplicación. Tiene que tener permisos de escritura sobre el fichero y la carpeta que lo contiene. Si no existe, Pandora NTA lo crea automáticamente (por defecto lo vuelca a STDOUT).

retries

Número de fallos consecutivos que puede dar la aplicación para que se considera que hay un error grave y se pare. Si está a 0 no se para nunca, por muchos fallos que haya (2 por defecto).

transfer_timeout

Tiempo máximo en segundos para enviar los ficheros por Tentacle. Si se excede este tiempo, Pandora NTA reinicia todo su estado y memoria (15 segundos por defecto).

verbose

Nivel de información que sale por el log. Cuanto más alto, más información arroja. Con 0 no se muestra nada, con 3 se muestran los errores graves, con 5 se muestran warnings y con 9 se muestra todo. No se recomiendan valores muy altos para que no consuma mucho disco (3 por defecto).

quiet

No muestra los mensajes de error.

cache_file

Carpeta donde está el fichero de caché de la aplicación. Es necesario escribir en este fichero. Si no está creado, pandora NTA lo crea. Hay que tener cuidado al cambiarlo, pues puede que cree uno nuevo y se dupliquen los agentes que manda a Pandora puesto que no encuentra sus nombres y generará otros nuevos (* /tmp/pandorata_cache.json*).

ntop_host

Host a donde hacer las peticiones al servidor web de Pandora-NTOP (por defecto localhost).

ntop_port

Puerto mediante el que se hacen las peticiones al proceso de Pandora-NTOP (por defecto 3000).

ntop_local_subnets

Subredes que son consideradas como locales por NTOP. Si se quiere especificar más de una subred, se puede hacer concatenándolas mediante comas (por ejemplo ntop_local_subnets 192.168.50.0/24,114.15.0.0/16.

Template warning.png

Si no hay ninguna subred configurada se volcará información a Pandora de todos los host que NTOP descubra (opción de todos los hosts por defecto). Por favor, asegúrese de configurar al menos una red local.

 


ntop_logs_to_syslog

Si se pone a 1 NTOP vuelca sus logs a syslog. En caso contrario no los vuelca a ningún sitio (0 por defecto).

self_name

Alias del agente de automonitorización. Una vez que se ha creado el fichero de caché no se puede cambiar ya que el Data Server no admite que se cambie el alias mediante XML (por defecto pandoraNTA).

tentacle_host

Host donde está el servidor de Tentacle que va a recibir los XML (por defecto localhost).

tentacle_port

Puerto donde está escuchando el servidor de Tentacle que va a recibir los XML (por defecto 41121).

temp_dir

Directorio donde se escriben los XML para que el cliente de Tentacle los envíe. Tiene que tener permisos de escritura. (por defecto /tmp).

3.3.1 Despliegue y arranque

El script pandora_db borra los datos de conexiones del NTA de histórico. El número de días que permanece esta información en el sistema se puede configurar en el apartado de Performance de la configuración de la consola.

3.4 Visualización

Por defecto (aunque este comportamiento se puede modificar en la configuracion de pandora_nta.conf) se creará un agente llamado PandoraNTA que contendrá varias métricas:

  • El estado del sistema NTA
  • El nº de IP's descubiertas por el sistema.
  • Suma del caudal de tráfico de toda la red (entrada y salida).
  • Tasa de transferencia actual de la red (entrada y salida).
  • Paquetes en la red (entrada y salida).

Nta main agent.png
Vista del nodo central NTA que resume todos los datos

Además el sistema creará un agente por cada una de las IP's que encuentre en su red local (tal como haya definido en pandora_nta.conf).

Para cada IP gestionada, monitorizará los mismos parámetros:

  • Suma del caudal de tráfico de toda la red (entrada y salida).
  • Tasa de transferencia actual de la red (entrada y salida).
  • Paquetes en la red (entrada y salida).
  • Dirección MAC asociada a la IP.

Nta agent view.png
Vista de un agente NTA con sus modulos de datos

3.5 Informes

Dispondrá de un informe específico de NTA al crear informes:

Pandora NTA report create.png

Este informe muestra un top-N de consumo de red en los últimos X días de todas las IP analizadas por Pandora NTA:

Pandora NTA sample report 1.png

3.6 NTA explorer

Pandora dispone de una vista en la que se pueden visualizar datos de red provistos por el Pandora NTA a tiempo real. Es una vista mucho más flexible que los informes y útil para detectar los problemas de red con unos pocos clicks.

Nta explorer.png

En esta vista se muestran las IPs con más trafico de salida o de entrada. El top de IPs se puede establecer por número de paquetes o por número de bytes. Además, está la posibilidad de hacer filtros por una IP en concreto, para ver las IP's hacia las cuales hay tráfico desde ese origen.

Por ejemplo, si hay una IP que envía muchos datos y se quiere ver dónde los envía, basta con hacer click en el icono de filtro al lado de la IP y saldrá un listado y una gráfica con las direcciones que reciben datos de esa IP. De esta forma, detectar los pares más sobrecargados en una fecha dada es bastante sencillo.

3.7 NTA usage map

Esta vista permite mostrar el tráfico en un intervalo de tiempo determinado en forma de mapa topológico. Simplemente hay que seleccionar una fecha de inicio, una fecha de final y se mostrarán las IPs con más tráfico de salida o de entrada.

Usage map.png


Volver a Indice de Documentacion Pandora FMS