Inicio > Ubuntu, Varios > Sigue la pista a todo lo que pasa en tu sistema

Sigue la pista a todo lo que pasa en tu sistema

La clave principal del éxito en administración de sistemas Gnu/Linux es conocer que esta pasando en el sistema. Gnu/Linux ofrece un excepcional nivel de logeo que ademas es altamente configurable. Los logs de Linux están en texto plano.

Por lo tanto,puedes leerlos y hacer búsquedas en ellos sin tener que usar herramientas especiales. Puedes también escribir scripts que escaneen los logs y realicen funciones automáticas basadas en su contenido. Los logs de Linux suelen estar ubicados en el directorio  /var/log.

El sistema mantiene varios logs,pero los programas y servicios también pueden ubicar sus archivos de logs en ese directorio. Muchos logs solo pueden ser leídos por el superusuario o administrador,pero eso puede cambiarse simplemente modificando los permisos de acceso del archivo en cuestión.

QUE ES UN FICHERO DE LOG.

Un fichero de log es aquel que contiene información relativa a lo que sucede en la maquina. Contiene por ejemplo,el día,la hora de conexión,el nombre de usuario o cualquier otro detalle mas relacionado con lo que esta haciendo alguien.

Normalmente la mayor parte de ellos se encuentran en /var/log/ y en  /var/run, aunque pueden estar en cualquier otra parte si el administrador así lo especifica.

¿Donde  encontrarlos?

El nucleo mas importante de información del sistema de logs es el “logeo” de mensajes. El archivo /var/log/messages contiene los mensajes de booteo de cuando arranca el sistema,así como otros emitidos durante su funcionamiento. En este archivo son registrados los errores de entrada/salida,trabajo en redes,y otros errores en generales del sistema.

Otras informaciones, como por ejemplo, quien se relogea como root, también son registradas.

Si hay servicios activos,como servidores DHCP,puedes leer ahí los mensajes de las acciones realizadas. El archivo  /var/log/messages es generalmente el primer lugar donde mirar cuando se esta intentando solucionar problemas.



Por otra parte,hay otros archivos de log en el directorio /var/log  dependiendo de que distribución estés usando y que servicios estés ejecutando. Por ejemplo,puede haber logs asociados con el servidor de correo,con la compartición de recursos,de tareas automáticas,etc.

Ficheros de log rotados: logrotate.

Si entras en el directorio  /var/log puedes ver algunos archivos que terminan con un numero;estos son archivos rotados.

Los archivos pueden volverse grandes y difíciles de manejar y por ello Linux provee un comando para rotarlos y así evitar que la información actual se mezcle con información vieja irrelevante.

Para ello,las distribuciones de Linux cuentan con la herramienta LOGROTARE. Aunque no es una herramienta de analisis,es una utilidad fundamental si no quieres que tu sistema se inunde de informacion.

Esta aplicación hace que los logs “roten”,es decir,se copien y compriman cada cierto tiempo,predefinido para cada caso. Si no se hiciera así,el espacio libre en tu disco duro iría menguando poco a poco. El numero de rotaciones suele ser de una vez a la semana o,en ciertos casos,una vez por día.

Generalmente,la aplicación logrotate se ejecuta automáticamente cada cierto tiempo,pero también puedes ejecutarla manualmente. Cuando es ejecutada, logrotate toma la versión actual de los archivos de log y les añade un  “.1” al final del nombre del archivo.

Luego,cualquier otro archivo rotado previamente es renombrado secuencialmente “.2″,”.3″,etc. Cuanto mas grande el numero del log,mas viejo es. Puedes configurar el comportamiento automático de logrotate editando el archivo llamado  /etc/logrotate.conf . Si quieres profundizar en el tema puedes teclear en la terminal  man logrotate.

HERRAMIENTAS PARA TRABAJAR CON LOGS
Cualquier herramienta de texto puede usarse para trabajar con los logs. Aquí os muestro algunas de las mas útiles:

Dmesg: para ver rápidamente el log del ultimo booteo del sistema utiliza este comando. Te muestra grandes cantidades de texto,asi que para fraccionar esta salida y así leerla pausadamente,teclea: dmesg | more

Tail: si quires leer continuamente las actualizaciones de algo que esta ocurriendo,el comando tail te muestra las ultimas línias de un archivo de texto.Añadiendo el parámetro  -f ,continua mostrando las nuevas línias a medida que se vayan agregando al archivo.

Por ejemplo: tail -f/var/log/messages.

Less: es un visor de texto,que te permite hacer scroll y buscar información mientras se lee un archivo

Por ejemplo: less/var/log/messages

Logger: este comando es útil si quieres incluir tus propios mensajes dentro de un archivo de log. Podrías simplemente añadir el mensaje de logeo al archivo apropiado,pero tendrías que copiar el estilo de logeo del sistema. El comando logger te permite enviar tus propios mensajes al sistema de logeo,puedes usarlo en scripts para informar acerca de errores y ejecución de programas.

PERSONALIZA EL LOGEO

Existen fundamentalmente dos servicios,también denominados demonios,que controlan el logeo de mensajes: klogd y   syslogd. El primero solo logea mensajes del kernel del sistema operativo. Sin embargo,syslogd trabaja con otros mensajes del sistema,como los de las aplicaciones. Puedes configurar el comportamiento de ambos editando los archivos  /etc/syslogd.conf /etc/sysconfig/syslog repectivamente.

Esencialmente cada mensaje generado por software provee alguna información para identificar su origen y de que se trata.

El archivo  /etc/syslog.conf te permite especificar que hacer con este tipo de mensajes. Por ejemplo,puedes bajarlos a los archivos de mensajes,o a algun archivo personal,o incluso puedes enviarlos a un host remoto donde sera procesado segun las reglas de configuracion del otro syslogd. Esto ultimo es conocido como “logeos remotos” y son una excelente caracteristica de seguridad.

Si añades tus logs a un sistema remoto puedes prevenir una brecha de seguridad que cubra sus rastros alterando los archivos de logs. La posibilidad de personalizar el logeo de este modo provee un muy buen grado de flexibilidad y control sobre el ambiente Linux.

Aquí tienes un ejemplo de logeo personalizado tomado de la ayuda de  /etc/syslog.conf  :

# kernel messages are first,stored in the kernel
# file,critical messages and higher ones also go
# to another host and to the console
#
kern.* /var/adm/kernel
kern.crit @suecia
kern.crit /dev/console
kern.info;kern.!err/var/adm/kernel-info

La primera regla direcciona cualquier mensaje del kernel del sistema operativo al archivo  /var/adm/kernel

En cuanto a la segunda sentencia direcciona todos los mensajes del kernel de prioridad “critic” al host remoto “suecia

Esto es bastante util ya que si el host local cae y el disco queda irrecuperable,no podrias leer los mensajes almacenados. Si estan en un host remoto tambien,los podrasleer y determinar la razon de la caida del host local.

En cuanto a la tercera regla,direcciona los mismos mensajes de la segunda a la consola local, así la persona que este trabajando podrá leerlos también.

La cuarta línia del ejemplo en cuestión le dice a syslogd que guarde todos los mensajes del kernel de prioridad “info” (kernel.info), hasta que advierta alguna advertencia en el archivo /var/adm/kernel-info.
Toda prioridad “error“, y superior es excluida.

ANALIZA ALGUNOS FICHEROS DE LOG

Un fichero de log es un registro oficial de eventos sucedidos durante un periodo de tiempo en particular. Pueden ser usados para registrar datos o información sobre quien, que, cuando, donde y por que un evento ocurre para un dispositivo en particular o aplicación. Aquí tienes una muestra de ficheros que te pueden servir para estos fines:

Lastlog

Este fichero se encuentra en  /var/log/lastlog y almacena todo lo relativo a la ultima conexion realizada:terminal desde el que se conecto,usuario,fecha. No obstante,solo almacena la informacion relacionada con una conexion  con exito a la maquina. Este fichero esta en binario,y para visualizarlo debes teclear en linia de comandos lastlog,que es un programa que visualiza el contenido de  /var/log/lastlog.

Puedes ver información acerca de la hora de la ultima conexión,el terminal y el host (IP o nombre de la maquina)desde donde se realizo la conexión,así como información acerca del ultimo usuario que realizo la conexión.

Faillog

Este fichero se encuentra en  /var/log/faillog
En el se almacenan todos los intentos “login” fallidos realizados a una maquina,es decir,todas las veces que un usuario ha intentado acceder a la maquina sin exito.

Este fichero también es binario, y esta en  /var/log/faillog; para visualizarlo también se utiliza un programa llamado “faillog“,que muestra por pantalla los intentos fallidos de “login”. Tambien te permite fijar el numero maximo de intentos que puedes realizar hasta cerrar la conexion.

Estos fallos se visualizan como podéis ver en este ejemplo:

letoduke login: root
password:
1 failure since last login. last was 01:29:39 on tty4.
last login: sun dec 10 01:09:43 on tty3

Aqui se observa el numero de intentos,la fecha del ultimo,y desde que host se intento hacer la conexion.

Utpm

Guarda un registro de los usuarios que estén utilizando el sistema mientras estan conectados al mismo.Por lo tanto,puede informar al administrador de la presencia de algún usuario no autorizado. Se almacena en /var/run/

Gracias a este log,la única forma de entrar a un sistema Linux sin que el administrador lo notara seria poniendo todos los campos con los valores por defecto,y el tiempo a la hora de arranque de la maquina o al valor que tenia antes de acceder.

No obstante,en una buena configuración, el fichero no debe tener permiso de escritura para los usuarios porque esto supone que cualquiera  podría manipularlo. Un administrador podría también eliminar el permiso de lectura,de forma que ningún usuario pudiera saber quien esta en la maquina.

Wtpm

Fichero de log que se encuentra en  /var/log/  y que contiene los datos organizados de forma idéntica que utmp con la diferencia de que este es un historial de todos los logins y logouts realizados.

El procedimiento de añadir entradas  en el wtmp es similar al utmp pero mas pesado.

El administrador puede controlar,el mismo o mediante un script,que los valores de los ficheros utmp y wtmp no se contradigan, ya que de ser así, podría afirmar que un usuario no autorizado ha accedido a la maquina.

Espero que este breve resumen os haya sido de utilidad, para iniciaros en el mundo de los ficheros de log en Linux, los cuales son muy importantes para la resolución de problemas y el mantenimiento del sistema.

El logeo, ademas, es altamente configurable y los logs pueden incluso ser guardados en sistemas separados por cuestiones de seguridad.

En Ubuntu podemos encontrar los logs en Sistema > Administración > Visor de sucesos del sistema

Anuncios
Categorías:Ubuntu, Varios
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: