En mi entorno virtual ya había desplegado un servidor de logs, sin embargo, el servidor rsyslog no tiene capacidades analíticas, simplemente recolecta los logs y punto. Navegando por la web de Nagios veo el producto que tienen para gestionar logs y me decido a probarlo. Hay una versión free para volúmenes pequeños de datos y procedo, a descargarla.
La primera alegría que me llevo es que existe una distribución, en forma de plantilla OVF, que permite desplegar la máquina virtual, de forma inmediata, en mi entorno lab. Profundizando un poco, veo que se trata de un CentOS versión 6 con el producto pre-configurado.
Una vez descargada la plantilla de máquina virtual me pongo a importarla en el entorno:
Antes de arrancarla voy a configurar dos interfaces de red en el servidor:
-
Una interfaz conectada a la DMZ para tener acceso a la interfaz web desde el PC de casa.
-
La otra interfaz de red voy a conectarla a la red de gestión.
Por último, voy a utilizar mi servidor de logs actual para concentrar todos los logs y como fuente de logs para Nagios Log Server.
Una vez ajustada la configuración, arranco la máquina virtual:
Me conecto a la máquina para realizar las configuraciones finales:
-
En primer lugar, cambio la password por defecto que aparece en el banner de la consola.
-
Me doy cuenta que el teclado está en inglés, así que voy a cambiar la configuración editando el fichero: /etc/sysconfig/keyboard. Para que la configuración tenga efecto es necesario reiniciar la máquina.
-
El siguiente paso es cambiar el nombre del host. Para ello se edita el fichero /etc/sysconfig/network. El nuevo nombre de host es cenagls.
-
Es necesario configurar los parámetros de red. Para ello, empezamos con el fichero /etc/resolv.conf configurando el servidor de DNS del entorno y el dominio.
-
Configuro, a continuación, las interfaces de red:
La interfaz eth0 es la que está conectada a la red de gestión y la interfaz eth1 es la que está conectada a la DMZ. Edito los ficheros de configuración correspondientes que se encuentran en /etc/sysconfig/network-scripts/
-
Reiniciamos el servicio de red y comprobamos que todo funciona mediante unos cuantos ping:
-
Finalmente, creamos las entradas necesarias en la base de datos del servidor DNS para el nuevo servidor.
Con esto finalizamos la primera parte del proceso de configuración el servidor de log de Nagios. Para continuar la configuración, nos conectamos, desde el navegador del PC a la URL del servidor de logs de Nagios:
Completo el formulario y pulso el botón de finalizar instalación:
Entro en el menú de Administración y escojo la opción de actualizar licencia:
Escojo la opción de licencia limitada y gratuita que, de acuerdo a la información de la web de Nagios, me permite almacenar hasta 500MB diarios de logs:
Lo que queda por hacer es configurar las fuentes de logs y comprobar que éstos se reciben y procesan en la herramienta.
En la infraestructura desplegada tengo un pequeño problema y es que el router VyOS no es capaz de enviar logs al puerto que, por defecto, utiliza Nagios log server (5544). Por lo tanto, tengo que configurar Nagios log server para que escuche en el puerto estándar de syslog (el 514) esto requiere un poco de trabajo.
En primer lugar, lo que necesito es cambiar el usuario bajo el que el servicio Nagios LS se ejecuta ya que para poder abrir los puertos privilegiados (por debajo de 1024) es necesario tener permisos de root. Para esto, edito el fichero /etc/sysconfig/logstash para cambiar el usuario a root:
Ahora, a través de la interfaz web, configuramos la escucha en el puerto 514. Copiamos la entrada de configuración de Syslog y cambiamos el puerto de escucha al 514:
Salvamos y aplicamos la nueva configuración y comprobamos que funciona:
Voy a lanzar un par de logins fallidos en el router VyOS para ver que los mensajes se recogen en el log: