Cuando trabajamos como Administradores de Sistemas una de nuestras responsabilidades es revisar periódicamente los Logs de los equipos para detectar cualquier anomalía. Hay muchos que piensan que los Logs de los equipos son solo un registro de lo que hacen los equipos y que realmente a veces no ayudan en mucho, pero en realidad si, con esto podemos detectar incluso hasta intentos de intrusiones o registros de algún comportamiento anormal del equipo o sistema que estamos administrando. Asi que es de vital importancia que los revisemos a menudo.
El
tema está que a veces tenemos tantos equipos que se nos vuelve tedioso
revisar una a uno, y realmente es conveniente tener un sistema que nos
permita centralizar esos logs de todos esos equipos y que podamos
revisarlo desde una interfaz donde podamos filtrar y demás. Es Aquí que
entran Rsyslog y LogAnalyzer.
Rsyslog
es una herramienta Open Source utilizada en las versiones más recientes
de Linux y que reemplaza a syslogd. Permite reenviar y recibir los
mensajes de logs de varios equipos en una red de comunicación.
Implementa el protocolo básico de Syslog extendiendo sus capacidades a
filtrado basado en contenido, configuración flexible y añade
características importantes como usar TCP para el transporte.
Dada
la importancia que tiene que todo administrador de sistemas le de
seguimiento a los Logs, vamos a ver aquí como podemos montar un servidor
para esta tarea y podamos visualizar todo desde un navegador web.
Lo primero hacer una instalación limpia, en este caso usaré Linux Centos 6.5
Una vez Listo, Instalamos LAMP (Linux, Apache, MySQL-MariaDB, PHP)
Ahora procedemos a instalar Rsyslog
# yum install rsyslog*
Modificamos el Script que crea la Base de datos en MySQL.
# vi /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
CREATE DATABASE rsyslogdb;
USE rsyslogdb;
Guardamos y Salimos.
Creamos la Base de datos y la Tabla de Eventos en MySQL
#mysql -u root -pmysql> source /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sqlmysql> grant all on rsyslogdb.* to ‘rsysloguser’@’localhost’ identified by ‘rsyslog’;mysql> flush privileges;mysql> exit
Ahora procedemos a modificar el archivo de configuración de Rsyslog y hacemos las modificaciones que indico a continuación.
# vi /etc/rsyslog.conf
Quitamos el Comentario en las opciones que resalto.
# rsyslog v5 configuration file
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
#### MODULES ####
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#$ModLoad immark # provides –MARK– message capability
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
Agregamos lo Siguente
##Directivas adicionales##
$ModLoad ommysql
$ModLoad ommysql
*.* :ommysql:127.0.0.1,rsyslogdb,rsysloguser,rsyslog
$AllowedSender UDP, 127.0.0.1, 192.168.5.0/24, 192.168.10.0/24
$AllowedSender TCP, 127.0.0.1, 192.168.5.0/24, 192.168.10.0/24
local7.* /var/log/cisco.log
Aqui le estamos especificando los datos de la base de datos que creamos y en $AllowedSender le estamos especificando los clientes que tiene permitido enviar los logs hacia este servidor. La linea local7.* /var/log/cisco.log, es para recibir los logs de equipos Cisco. previamente se debe crear el archivo de log, # touch /var/log/cisco.log
iniciamos el servicio de Rsyslog y lo agregamos al booteo.
#service rsyslog start# chkconfig rsyslog on
Ahora procedemos a instalar la interfaz web donde visualizaremos los logs desde nuestro navegador. Este FrontEnd se llama LogAnalyzer.
LogAnalyzer
es una interfaz gráfica a rsyslog y todos los datos de eventos. Provee
una interfaz sencilla de navegación, análisis en tiempo real de eventos
de red y servicios de reportería.
Vamos a proceder con la instalación.
# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz# tar xzvf loganalyzer-3.6.5.tar.gz# cd loganalyzer-3.6.5
Copiamos los archivos web al Document Root.
#mkdir /var/log/www/loganalyzer# mv loganalyzer-3.6.5/src/* /var/log/www/loganalyzer/# mv loganalyzer-3.6.5/contrib/* /var/log/www/loganalyzer/
Cambiamos los permisos para correr el script de configuración.
# cd /var/www/html/loganalyzer/# chmod +x configure.sh secure.sh# ./configure.sh
Esto creará un archivo php en blanco.
Antes de entrar al ambiente web es necesario que deshabilitemos Selinux en centos.
# setenforce 0
Nota:
No es recomendable deshabilitar SELinux en un servidor de Producción
por cuestiones de Seguridad, Este simplemente debe ser configurado según
sean los servicios que vamos a correr. Más adelante publico sobre este
tema.
Ahora accedemos al ambiente web desde el navegador.
http://IP-Servidor/loganalyzer
Aqui daremos click donde dice here.
Luego a Next para que compruebe de que todo esta en orden.
Debe comprobar que el archivo configure.sh debe ser modificable. Si todo está bien le damos next nuevamente, aquí caemos en el paso 3.
En la Opción “Enable User Database” seleccionamos Yes y llenamos los datos de la base de datos que creamos previamente y le damos a Next.
Seguimos a la pantalla de crear las tablas, simplemente le damos a next.
Nos pide que revisemos por errores, si todo esta bien le damos a next.
Ahora Creamos el usuario de Administrador, y le creamos una contrasena, Damos click a next.
Ahora configuramos la fuente de los mensajes de Syslog.
En “Source Type” seleccionamos MYSQL NATIVE. Y llenamos los datos de la base de datos debajo.
Nota: Donde dice Database TableName esto debe estar igual que el script de creación de base de datos, en este caso SystemEvents y no systemevents como lo coloca por defecto.
Finalmente le damos a next. Y ya tenemos instalado LogAnalyzer.
Vamos a la linea de comandos y reiniciamos el servicio de Rsyslog.
# service rsyslog restart
Volvemos al navegador. Damos click a Finish y nos lleva a la pantalla de logueo.
Ingresamos los datos de la cuenta de adminsitrador que creamos durante la instalación y accedemos a la interfaz.
Ya
solo es configurar sus equipos de comunicación y servidores Linux para
que envien sus logs al servidor centralizado. En el caso de Servidores
de Linux estaré publicando un tutorial sobre como hacerlo.
No olviden comentar,
Tomado de: http://www.ociolinux.org/linux/centralizando-logs-con-rsyslog-en-linux-centos/
No hay comentarios:
Publicar un comentario