Linuxiando un Rato

jueves, agosto 10, 2006

ntop: Una interfaz Web para análisis de trafico de red

Este es un articulo que fue publicado en el segundo ejemplar de Essentia Libre


ntop: Una interfaz Web para análisis de trafico de red
http://www.ntop.org

Como administrador de servidores basados en GNU/Linux y mas específicamente aquellos encargados de administrar el trafico entre varias redes (como proxy, firewall o simple enrutador) uno de los retos a los que me he tenido que enfrentar es el análisis de trafico de red, que consiste (entre algunas cosas) en observar como esta siendo utilizado nuestro ancho de banda para determinar posibles abusos, vulnerabilidades o falencias en nuestro esquema de red y servicios para tomar las decisiones preventivas o correctivas necesarias para conservar (y si es posible, mejorar) la calidad de los servicios de red que preste nuestra organización.

Para ese tipo de situaciones recomiendo Ntop, una herramienta de software libre que permite obtener estadísticas de la utilización de nuestro canal que pueden ser consultadas desde nuestro navegador Web (Firefox, espero).

La instalación de ntop es bastante sencilla, en la pagina http://www.ntop.org/ puede descargarse el código fuente de ntop o versiones binarias listas para instalar en nuestro sistema operativo tipo UNIX favorito. También existe una versión gratis para Windows limitada a capturar máximo 2000 paquetes pero se puede comprar una licencia para utilizarla sin restricciones.

¿Si ntop es software libre, por que debo pagar una licencia para usarlo sin restricciones en Windows? Aunque el tema del licenciamiento bastante álgido, mencionare solo algunas causas: Para generar binarios en Windows se requiere (mínimo) una licencia de Windows y (minino) una licencia de un IDE como Visual C++ o Borland C++ Builder para compilarlos, las cuales no son nada baratas. El valor obtenido por estas licencias es utilizado en gran parte para sufragar dichos gastos.

Pero bueno, volvamos al tema. Una vez descargado e instalado ntop, solo sera necesario modificar algunos parámetros sencillos el el archivo ntop.conf (usualmente ubicado en /etc/ntop.conf) para ajustarlo a nuestra red:

--interface: este parámetro indica el dispositivo de red en el cual se llevara a cabo el análisis de trafico. Por lo general se configura el dispositivo que corresponde a la tarjeta de red externa de nuestra maquina pero puede configurarse cualquiera e incluso especificar varios dispositivos, un ejemplo de esta linea seria:

 --interface eth1

--http-server: indica el puerto sobre el cual se ejecutara el servidor Web de ntop y al cual dirigiremos nuestro navegador, el puerto por defecto es el 3000 pero puede escogerse cualquier puerto disponible por encima del 1024 (puede ejecutarse en un puerto inferior, pero ntop debería ser ejecutado por el usuario root lo cual es completamente desaconsejado); un ejemplo de esta linea seria:

 --http-server 3000

--local-subnets: aqui establecemos el (los) segmento(s) de red que corresponden a nuestra Intranet para que ntop pueda determinar cual trafico es local y cual es externo, un ejemplo de esta linea seria:

 --local-subnets 192.168.1.0/255.255.255.0

Si nuestra red tiene varios segmentos (por ejemplo en una red con DMZ) podemos especificarlos en este parámetro, separando cada segmento con una coma.


--daemon: Especifica que ntop se ejecutara como un servicio del sistema, y podremos gestionarlo mediante los clasicos parámetros start, restart, status o stop de cualquier otro servicio. Si no desea que ntop se gestione como servicio del sistema puede omitir este parámetro comentariandolo con un #. En este caso puede ejecutar ntop desde la consola con el comando:

 ntop @/etc/ntop.conf

y detenerlo presionado Ctrl+C.


Una vez instalado y configurado, ntop puede ser ejecutado. En caso de estar configurado como servicio del sistema puede ser iniciado ejecutando el comando (en sistemas Red Hat, Fedora Core):

 service ntop start

si ntop no esta configurado para ejecutarse como servicio, el comando para iniciarlo seria:

 ntop @/etc/ntop.conf

Con ntop ejecutándose en el sistema simplemente abrimos un navegador web y abrimos la URL correspondiente. Por ejemplo, si el firewall en el cual instalamos ntop tiene la IP 192.168.1.1 y el puerto de ntop es el 3000, escribimos en la barra de direcciones del navegador http://192.168.1.1:3000/ (no sobra decir que este puerto debe estar abierto en el firewall para ser accedido únicamente desde ciertas direcciones y etc.). Veremos una pagina como la siguiente:




Donde encontraremos gráficos y resúmenes del trafico de nuestra red. En esta pagina podemos desplazarnos hasta la sección “Historical Data” y hacer clic en el icono para ver estadísticas mas detalladas. Un gráfico bastante útil es que nos permite ver el historial de trafico de nuestra red discriminado por protocolo:



También es posible ver la distribución de nuestro canal en orden de utilización haciendo clic en IP -> Summary ->Traffic



Aquí podemos seleccionar el trafico que deseamos ver:

En la sección “Hosts” (parte superior izquierda) seleccionaremos si el trafico que nos interesa es local (Local Only), remoto (Remote Only) o todo el trafico sin importar su origen (All). La exactitud de este análisis depende de la configuración de la variable --local-subnets de la cual ya hablamos.

En la sección “Data” (parte superior derecha) seleccionaremos el sentido del trafico que nos interesa: los datos enviados desde nuestra red hacia el exterior (Sent Only), los datos recibidos por nuestra red (Received Only) o todo el trafico sin importar su origen (All).

Adicionalmente podemos ordenar la tabla en orden ascendente o descendente según la cantidad total de datos recibido o trasmitidos, o discriminados por protocolo haciendo clic en el encabezado de la columna correspondiente.

Al hacer clic en algún host de nuestro interés, veremos las estadísticas detalladas acerca del su trafico que ntop ha recopilado hasta el momento:



El ultimo aspecto que mencionare acerca de ntop es la utilidad para exportar las estadísticas de trafico recopiladas por ntop (haciendo clic en Utils -> Data Dump):



donde podremos exportar los datos como archivos de texto separado por comas, XML, o arreglos en lenguajes de programación como PHP, Perl o Python; jugosa información para ser analizada con herramientas externas como hojas de calculo o ser almacenados en bases de datos como MySQL y PostgreSQL.

Como conclusión, ntop es una herramienta excelente para conocer a fondo la utilización de nuestro canal y la información que presenta sirve para optimizar nuestro firewall (permitiendo detectar trafico en puertos o en máquinas en las cuales no debería haberlo) o detectar abusos por parte de nuestros clientes (usuarios que indiscriminadamente utilizan todo el ancho de banda disponible o utilizan software P2P en una red en la cual no esta permitido, etc.).


Pros:

  • Fácil instalación, configuración y uso.
  • Las tablas y gráficos que tanto nos gustan.
  • Su interfaz Web: Ubicuidad y portabilidad en su máxima expresión


Contras (o bueno, el único que le encontré):

  • Al ser básicamente un sniffer con una interfaz bonita, dependiendo de las características de la maquina en la cual se instale y la cantidad de trafico a analizar, paulatinamente puede consumir los recursos del sistema hasta dejarlo completamente saturado. Recomiendo utilizar MRTG para análisis continuo de nuestro trafico y ntop en casos puntuales o análisis de rutina limitados a máximo 24 o 48 horas.


Calificación: 10/10

3 Comentarios:

  • ¡Gracias!

    Por Anonymous Anónimo, at 9:54 a. m.  

  • Excelente herramienta.

    Mi pregunta son la siguientes, los datos que recopila esta herramienta, donde se guardan ? Se puede enviar estos datos hacia un NAS o Portal Disk?, necesito sacarle todo el provecho a la herramienta.

    Slds cordiales.
    Pedro.

    Por Anonymous Anónimo, at 5:17 p. m.  

  • Greetings from Colorado! I'm bored to death at work so I decided to browse your site on my iphone during lunch break. I love the knowledge you provide here and can't wait to take a look when I get home. check my source I'm amazed at how quick your blog loaded on my phone .. I'm not even using WIFI, check out here just 3G .. Anyhow, good blog! check my reference

    Por Blogger Unknown, at 12:28 a. m.  

Publicar un comentario


Locations of visitors to this page