Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ●...

29
Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará

Transcript of Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ●...

Page 1: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Registros del sistema (logs)

● Nos permiten saber qué pasó● Nos permiten saber qué pasa

● Nos permiten saber qué pasará

Page 2: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Servicio syslogd

● Centraliza los logs del sistema

● Modelo cliente/servidor

● Evita problemas de bloqueos de archivo

Page 3: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Protocolo Syslog

● Estándar de facto

● Mensajes no mayores a 1024 bytes

● Por defecto, puerto UDP 514

● http://es.wikipedia.org/wiki/Syslog

Page 4: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Estructura de los mensajes

------------------------------------| Prioridad | Cabecera | Texto |

------------------------------------

Page 5: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Prioridad de los mensajes

Número de 8 bits

Recurso (5 bits)

Severidad (3 bits)

Prioridad = Recurso * 8 + Severidad

Page 6: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Recursos habituales

● auth

● authpriv

● cron

● daemon

● kern

● mail

● user

● local0 - local7

Page 7: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Severidades

0 Emergencia: el sistema está inutilizable 1 Alerta: se debe actuar inmediatamente 2 Crítico: condiciones críticas 3 Error: condiciones de error 4 Peligro: condiciones de peligro 5 Aviso: normal, pero condiciones notables 6 Información: mensajes informativos 7 Depuración: mensajes de bajo nivel

Page 8: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Cabecera de los mensajes

● Codificación ASCII (7 bits)

● Formato: mes dia hh:mm:ss hostname Oct 13 20:31:02 server01

Page 9: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Texto de los mensajes

● Dividido en información del proceso y mensaje

● Separados por el primer espacio en blanco

wpa[1236]: Group rekeying ok

-----------------------------

| Proceso | Mensaje |

-----------------------------

Page 10: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Servidores de Syslog

● sysklogd

● rsyslog

● syslog-ng

Page 11: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Configuración syslogd,rsyslog

/etc/rsyslog.conf

/etc/rsyslog.d

/etc/syslog.conf

Page 12: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Configuración rsyslog

Recurso.Severidad Acción

Page 13: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Escribir en el log

El comando:

logger -p local5.info "Mensaje de prueba"

Genera:

Jul 15 19:14:26 debian fabian: Mensaje de prueba

Page 14: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Escribir en el log

El comando:

logger -t Critico " se fue el sistema"

Genera:

Dec 17 03:37:05 CentOS-5 Critico: se fue el sistema

Page 15: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Categorías configuración rsyslog

Módulos:Módulos: Indica los módulos que se pueden cargar o descargar (es modular)

Directivas Globales:Directivas Globales: Especifica todas las directivas que podemos expresar de forma global (empiezan con $)

Reglas:Reglas: Especifica las reglas que aplican con su acción determinada.

Selección:Selección: Indica a qué categoría y tipo de prioridad (mail.debug)

Acción:Acción: Indica qué hacer con el mensaje luego de pasar por la selección.

Page 16: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Creacion de Reglas

mail.info muestra mensajes de mail, con prioridad info o superior

mail.=warn muestra mensajes de mail, con prioridad warn unicamente

mail.!warn muestra mensajes de mail, con prioridad menor a warn

mail.!=warn muestra mensajes de mail, con cualquier nivel de prioridad excepto warn

Page 17: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Creacion de Reglas

; --> especifica que distintos mensajes apunten a un mismo lugar:

auth.*;cron.warn /var/log/varios.log

, --> especifica distintos tipos de mensajes con los mismos niveles de prioridad:

auth,authpriv.* /var/log/auth.log

Page 18: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Logs Remotos Syslogd

Editar: /etc/sysconfig/syslog

SYSLOGD_OPTIONS="-m 0"

Cambiar por: SYSLOGD_OPTIONS=”-m 0 -r”

Page 19: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Logs Remotos Rsyslog

Editar: /etc/rsyslog.conf

# Provides UDP syslog reception #$ModLoad imudp.so #$UDPServerRun 514

Cambiar por: # Provides UDP syslog reception $ModLoad imudp.so $UDPServerRun 514

Page 20: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Envío de logs remotos

Recurso.Severidad @servidor

Mail.* @192.168.0.1

Page 21: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Envío de logs remotos

Recurso.Severidad @servidor

Mail.* @192.168.0.1

Page 22: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Rotación de logs

● Según Apache: 1Mb cada 10.000 líneas de log

● Los archivos grandes son lentos para trabajar

● Se puede llenar el sistema de archivos

Page 23: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

¿Cómo rotar los archivos de log?

● A mano (complicado y olvidadizo)

● Con un script (vamos mejorando)

● Con 'logrotate' (la opción más potente)

Page 24: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Configuración de logrotate

/etc/logrotate.conf

/etc/logrotate.d

Page 25: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Opciones comunes de logrotate

Compress Comprimir los logs Daily Rotar todos los días Weekly Rotar cada semana Monthly Rotar cada mes mail m Enviar por mail a la dirección 'm' Prerotate Ejecutar script antes de rotar Postrotate Ejecutar script después de rotar rotate n Guarda 'n' logs antes de borrar size s Rota si el tamaño es mayor a 's' Sharedscripts Ejecuta scripts una sóla vez

Page 26: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Ejemplo configuración logrotate

/var/log/apache2/*.log { weekly rotate 5 compress sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript }

Page 27: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Logrotate

Rotacion en modo debug sin impacto: logrotate -d /etc/logrotate.conf

Rotacion real con verbose Logrotate -v /etc/logrotate.conf

Page 28: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Monitoreo de UsuariosUso de Lastlog:

lastlog -u root lastlog -b 10 Lastlog -t

Uso de Faillog: faillog -u root falilog -a faillog -s sec faillog -r faillog -m Faillog -l sec

Page 29: Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.

Bibliografía

Fabian Portantier www.portantier.com

Rino Rondan www.itrestauracion.com.ar

Federico Nan www.rootlinux.com.ar

Bajo Licencia CC BY-SA 3.0