Temporal pandoranta

From Pandora FMS Wiki
Revision as of 01:29, 26 March 2019 by Fermin (talk | contribs) (Despliegue y arranque)
Jump to: navigation, search

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

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

2.2 Instalación

FERMIN / Q&A / BORJA, rellenar, verificar

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

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 Sourceforge (https://sourceforge.net/projects/pandora/files/) Viene distribuida por defecto en las imágenes ISO de instalación de Pandora FMS a partir de NG 733.

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


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.

  • IMPORTANTE* 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 situo (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).

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

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

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.

2.4 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