Monitoreo de red en Linux con Ntopng

El tema que nos ocupa hoy es la plataforma ntopng. Un sistema de monitoreo de red, que sigue la filosofía de desarrollo abierto y además utiliza una licencia de software libre. Dicha caja de herramientas proporciona una interfaz gráfica web, para controlar la actividad de la red de un servidor dado. De hecho, de este producto ya hablamos hace unos años.

Ntopng proporciona varias herramientas para monitorizar varios protocolos, variantes de tráfico y ancho de banda, en múltiples marcos de tiempo. Podemos instalar este producto en cualquier servidor que tengamos en la red. En nuestro caso utilizaremos un servidor con Centos 7 y un equipo con Ubuntu 18.04

Monitoreo de red en GNU/Linux con Ntopng

Ya he comentado que de esta herramienta ya hablamos en su día, aunque entonces el paquete en cuestión ha instalar se llamaba ntop.

Instalación de ntopng en Centos 7

Para poder instalar el paquete debemos de cumplir una serie de requisitos en el servidor. El primero de todo es habilitar el repositorio EPEL, como sigue:

  1. sudo yum install epel-release

Y a posteriori añadimos el repositorio del creador, así:

  1. sudo vi /etc/yum.repos.list

Con el contenido:

  1. [ntop]
  2. name=ntop packages
  3. baseurl=http://www.nmon.net/centos-stable/$releasever/$basearch/
  4. enabled=1
  5. gpgcheck=1
  6. gpgkey=http://www.nmon.net/centos-stable/RPM-GPG-KEY-deri
  7. [ntop-noarch]
  8. name=ntop packages
  9. baseurl=http://www.nmon.net/centos-stable/$releasever/noarch/
  10. enabled=1
  11. gpgcheck=1
  12. gpgkey=http://www.nmon.net/centos-stable/RPM-GPG-KEY-deri

Guardamos y actualizamos el sistema

  1. sudo yum -y update

Instalamos los paquetes necesarios:

  1. sudo yum -y install redis hiredis-devel ntopng

El servicio de caché de redis es imprescindible para el funcionamiento de la plataforma.

De esta manera ya lo tendremos instalado

Instalación en Ubuntu 18.04

Para realizar la instalación en esta popular distribución debemos añadir el repositorio necesario, de la siguiente manera:

  1. wget http://apt.ntop.org/18.04/all/apt-ntop.deb
  2. sudo dpkg -i apt-ntop.deb

Una vez hecho esto instalaremos el producto más otros paquetes necesarios:

  1. sudo apt update -y
  2. sudo apt install pfring-dkms nprobe ntopng n2disk cento -y

De esta manera ya lo tendremos instalado. Solo nos falta configurarlo.

Configurar ntopng en Centos 7

Antes de encender los servicios debemos modificar el fichero /etc/ntopng.conf en el caso de Centos 7, y el fichero /etc/ntopng/ntopng.conf, en el caso de Ubuntu y modificar la siguiente línea para que quede así:

  1. -G=/var/tmp/ntopng.pid\
  2. --community

De esta manera le indicamos que queremos utilizar la versión comunitaria del producto.

En Centos 7, Añadimos los servicios al inicios y los encendemos:

  1. sudo systemctl enable redis 
  2. sudo systemctl start redis
  3. sudo systemctl enable ntopng
  4. sudo systemctl start ntopng

Configurar el cortafuegos

Para poder acceder a la plataforma vía navegador web debemos utilizar el puerto 3000. Si tenemos el cortafuegos habilitado, debemos abrir el puerto:

  1. #En el caso de Centos 7
  2. sudo firewall-cmd --permanent --add-port=3000/tcp
  3. sudo firewall-cmd --reload
  4. #En el caso de Ubuntu 18.04
  5. sudo ufw allow from any to any port 10000 proto tcp

De esta manera ya podemos acceder vía web.

Acceso vía web

Escribimos la dirección de nuestro equipo o servidor, acompañado del puerto 3000

La primera vez que accedamos debemos utilizar el usuario ‘admin’ y la contraseña ‘admin’. Una vez hecho esto nos pedirá cambiar la contraseña. En caso la primera vista es la siguiente:

Interfaz de Ntopng, en su versión comunitaria (click para ampliar)

Podemos obtener información de los dispositivos conectados en la red:

Dispositivos conectados en la red con Ntopng (click para ampliar)

Y esto es todo, espero que el artículo os haya parecido interesante.

Fuentes consultadas:

Página del Proyecto en GitHub