Tabla de Contenido
Generalidades:
Una de las tareas que debe hacer a diario un Administrador de Servidores Linux es realizar un análisis de los archivos de registro de eventos (logs) de las aplicaciones principales.
Logwatch es un servicio de monitorización y detección de intrusiones basado en el análisis de los archivos de registro de eventos (logs) del sistema que suelen estar localizados en /var/log/. Con una frecuencia determinada (se suele ejecutar cada noche) analiza los logs del sistema y realiza un reporte que es enviado de inmediato al administrador vía correo electrónico.
Los registros que se llevan a cabo en un sistema Linux son manejados por el demonio syslogd-ng y su archivo de configuración suele estar localizado en /etc/syslog-ng/syslog-ng.conf.
LogWatch es bastante útil para saber que ha estado haciendo el servidor cada día sin tener que leerse decenas de logs ya que proporciona un resumen de cada servicio del sistema, tales como los paquetes instalados, emails enviados por el servidor, errores de autentificación, estadísticas de apache, espacio en disco, información sobre posibles ataques, etc.
Instalación
Para realizar la instalación de LogWatch se debe ejecutar:
cd /usr/local/src
wget ftp://rpmfind.net/linux/sourceforge/l/lo/logwatch/logwatch-7.4.1/logwatch-7.4.1-1.noarch.rpm
rpm -Uvh logwatch-7.4.1-1.noarch.rpm
Luego debemos editar el archivo de configuración:
nano -w /usr/share/logwatch/default.conf/logwatch.conf
Asegurar definir el correo electrónico, el nivel de detalle del reporte y que la salida del programa no vaya a una impresora, para ello colocar los siguientes valores a las variables indicadas:
Mailto = hostmaster@sudominio.com (no debe ser root sino una cuenta externa por seguridad)
Detail = Low
Print = No
Luego Guardar el archivo.
Para ejecutarlo se ejecuta directamente:
logwatch
Para eliminar problemas de emails muy largos debemos editar su configuración:
nano /etc/logwatch/conf/ignore.conf
Y agregar las líneas:
GETDISKUSED
CP-Wrapper
Guardar y listo.
Análisis de Registros Típicos del Logwatch
A continuación colocamos algunos ejemplos de la información recibida en los emails del Logwatch y el análisis de los mismos:
——————— BFD Begin ————————
Mensaje:
Banned: 218.38.30.208 : (bfd.courier)
Análisis:
El BFD detectó un intento de ataque de fuerza bruta en el servicio indicado entre paréntesis y agregó al APF la IP indicada para bloquearla.
———————- BFD End ————————-
——————— clam-update Begin ————————
Mensaje:
Last ClamAV update process started at Sat Mar 20 22:10:40 2010
Last Status:
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.93 Recommended version: 0.95.3
DON’T PANIC! Read http://www.clamav.net/support/faq
main.cld is up to date (version: 52, sigs: 704727, f-level: 44, builder: sven)
Downloading daily-10602.cdiff [100%]
daily.cld updated (version: 10603, sigs: 30163, f-level: 44, builder: guitar)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 29, recommended = 44
DON’T PANIC! Read http://www.clamav.net/support/faq
Database updated (734890 signatures) from database.clamav.net (IP: 65.120.238.5)
Análisis:
El Clamav es el antivirus que se maneja en los servidores. Estos mensajes corresponden a la actualización diaria de sus bases de datos. Mayor información está en: http://www.clamav.net/support/faq
———————- clam-update End ————————-
——————— Cron Begin ————————
Mensaje:
Files with bad mode:
/etc/cron.d/bfd
/etc/cron.d/lsm
Análisis:
El servicio crond reporta que dos crones colocados en la carpeta correspondiente tienen permisología incorrecta. En el caso del ejemplo los archivos bfd y lsm tenían permisos 755 y deben ser 644 ya que no son ejecutables sino que guardan la información de los crones a ejecutar.
———————- Cron End ————————-
——————— IMAP Begin ————————
Mensaje:
[IMAPd] Logout stats:
====================
User | Logouts | Downloaded | Mbox Size
—————————————- | ———– | —————– | —————
Nombre1@dominio1.net | 95 | 0 | 0
Nombre2@dominio2.com.ve | 101 | 18214 |
—————————————————————————
8937 | 404711617 | 0
Análisis:
Resumen de todos los usuarios de correo electrónico que se conectaron al servidor incluyendo la cantidad de conexiones en el día y la cantidad de bytes descargados por emails. El análisis de estos números permite diagnosticar abusos y desviaciones en las tendencias normales de la emisión de emails.
Mensaje:
**Unmatched Entries** /usr/lib/courier-imap/etc/shared/index: No such file or directory: 36 Time(s)
Análisis:
El archivo en referencia es usado cada vez que un usuario se conecta al Horde. Es un bug típico de cPanel que se soluciona ejecutando el comando touch para crear dicho archivo vacío.
Mensaje:
44 active connections.: 2 Time(s)
47 active connections.: 208 Time(s)
48 active connections.: 700 Time(s)
49 active connections.: 305 Time(s)
50 maximum active connections.: 166 Time(s)
Análisis:
Indica la cantidad de conexiones al servicio de email simultáneas activas. Normalmente el límite en el exim del cPanel es de 50 conexiones activas, sin embargo se puede cambiar de ser necesario ingresando en: WHM > Service Configuration > Mailserver Configuration
Mensaje:
Disconnected, ip=[::ffff:200.82.179.75], time=0: 4 Time(s)
Análisis:
Indica que la IP mostrarada se ha desconectado el número de veces señalado.
Mensaje:
LOGIN FAILED, user=nombre@dominio.com.ve, ip=[::ffff:67.223.85.96]: 97 Time(s)
Análisis:
Indica que la dirección de email señalada ha fallado en el login la cantidad de veces mostrada al final desde dicha IP. Esto permite analizar cuando una cuenta de email esta tratando de ser violada y normalmente deberíamos bloquearla. En pe articular la IP mostrada en el ejemplo pertenece a la empresa Research In Motion (RIM) a la cual pertenece la red blackberry lo que nos indica que el problema de la clave lo tiene un usuario específico en un teléfono celular y deberíamos informarle al administrador de dicho dominio para que lo resuelva.
———————- IMAP End ————————-
——————— Kernel Begin ————————
Mensaje:
WARNING: Kernel Errors Present
ata2.00: failed to IDENTIFY (I/O error, err_mask=0x40) …: 1 Time(s)
ata2.01: failed to IDENTIFY (I/O error, err_mask=0x4) …: 3 Time(s)
Análisis:
Reporte de advertencia del Kernel respect al driver de manejo de discos. Aparentemente puede estar relacionado con bugs de drivers de dicso o del kernel para Fedora.
———————- Kernel End ————————-
——————— Named Begin ————————
Mensaje:
Zone update refused:
190.202.101.242 (dominio.com.ve/IN): 3 Time(s)
Análisis:
Desde la IP indicada se solicitó la actualización de la Zona DNS para el dominio y fue rechazada.
Mensaje:
**Unmatched Entries**
client 110.136.249.61 query (cache) ‘dominio1.com/MX/IN’ denied: 1 Time(s)
client 112.197.58.119 query (cache) ‘dominio2.com/A/IN’ denied: 2 Time(s)
Análisis
Los dominios señalados no estan respondiendo desde el servidor. Esto es típico cuando los DNS asignados a los dominios apuntan hacia nuestro servidor pero dichos dominios no han sido configurados en el servidor. Esto se soluciona parqueando los dominios a nuestro dominio principal del servidor y/o a otros dominios principales con los que se relacionen si existen en el mismo.
———————- Named End ————————-
——————— pam_unix Begin ————————
Mensaje:
su:
Authentication Failures:
miusuario(32078) -> root: 1 Time(s)
Sessions Opened:
root -> root: 6 Time(s)
Análisis:
Indica que “miusuario” se conectó por SSH y al ejecutar “su” para pasarse como “root” colocó mal la contraseña una vez. Adicionalmente hubo seis conexiones exitosas por SSH como root (usando su).
———————- pam_unix End ————————-
——————— POP-3 Begin ————————
Mensaje:
[POP3] Logout stats (in MB):
============================
User | Logouts | Downloaded | Mbox Size
————————————— | ———- | —————– | ———-
nombre@dominio.com.ve | 6 | 7.41 | 0
nombre2@dominio.com.ve | 4 | 21.00 |
Análisis:
Resumen de las veces en que las cuentas de correo se conectaron para recibir emails por POP3 y la cantidad de bytes descargados. El análisis de estos números permite diagnosticar abusos y desviaciones en las tendencias normales de la emisión de emails.
Mensaje:
Disconnected, ip=[::ffff:200.82.179.75], time=0: 4 Time(s)
Análisis:
Indica que la IP mostrarada se ha desconectado el número de veces señalado.
Mensaje:
LOGIN FAILED, user=nombre@dominio.com.ve, ip=[::ffff:67.223.85.96]: 37 Time(s)
Análisis:
Indica que la dirección de email señalada ha fallado en el login la cantidad de veces mostrada al final desde dicha IP. Esto permite analizar cuando una cuenta de email esta tratando de ser violada y normalmente deberíamos bloquearla. En pe articular la IP mostrada en el ejemplo pertenece a la empresa Research In Motion (RIM) a la cual pertenece la red blackberry lo que nos indica que el problema de la clave lo tiene un usuario específico en un teléfono celular y deberíamos informarle al administrador de dicho dominio para que lo resuelva.
———————- POP-3 End ————————-
——————— Connections (secure-log) Begin ————————
Mensaje:
**Unmatched Entries**
Cp-Wrap: Pushing “32151 NULLIFY grupodiga.com.ve eantonio ” to ‘/usr/local/cpanel/bin/mxadmin’ for UID: 32151 : 3 Time(s)
Análisis:
Aparentemente es causado por errores en las conexiones cuando se ha estado administrando funciones en el panel del reseller.
———————- Connections (secure-log) End ————————-
——————— Smartd Begin ————————
Mensaje:
Warnings:
Warning via mail to root: successful – 2 Time(s)
Sending warning via mail to root … – 2 Time(s)
Análisis:
Se emitió por email al root el mensaje de advertencia de fallas de smartd acerca del comportamiento del disco duro.
Mensaje:
**Unmatched Entries**
Device: /dev/sdc, failed to read SMART Attribute Data
Análisis:
El disco /dev/sdc ha fallado al leer la información de atributos del smartd. Debe verificarse
———————- Smartd End ————————-
——————— SSHD Begin ————————
Mensaje:
Users logging in through sshd:
miusuario:
201.242.236.103 (201-242-236-103.genericrev.cantv.net): 3 times
Análisis:
Indica la dirección IP, red y el usuario que se ha conectado por SSH así como las veces que lo ha hecho.
Mensaje:
**Unmatched Entries**
reverse mapping checking getaddrinfo for 201-242-236-103.genericrev.cantv.net [201.242.236.103] failed – POSSIBLE BREAK-IN ATTEMPT! : 3 time(s)
Análisis:
Indica que se ha hecho un análisis inverso y la IP desde la cual se conectó el usuario por SSH posiblemente sea un intento de intrusión. En el caso del ejemplo es un falso positivo ya que la IP fue usada por nosotros mismos para conectarnos en un momento dado.
———————- SSHD End ————————-
——————— Disk Space Begin ————————
Mensaje:
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 2.9G 305M 2.4G 12% /
/dev/sda8 48G 18G 28G 39% /home
/dev/sda7 996M 139M 806M 15% /tmp
/dev/sda3 9.5G 4.2G 4.8G 47% /var
/dev/sda2 9.5G 4.4G 4.6G 49% /usr
/dev/sda1 99M 12M 83M 13% /boot
/dev/sdb1 74G 28G 43G 40% /backup
Análisis:
Provee un resumen del uso de espacio en disco. Hay que estar pendientes de las particiones donde se guardan los logs (/var y /usr).
———————- Disk Space End ————————-
Enlaces a Recursos:
http://www.logwatch.org/
ftp://ftp.kaybee.org/pub/linux/logwatch-7.3.6.tar.gz