Vous êtes sur la page 1sur 14

Administración de Archivos de LOG en RHEL 6

Objetivos:
 Reconocer dónde obtener más información y mayor certidumbre sobre lo
que sucede en nuestro sistema.
 Identificar la ubicación de los archivos de LOG del sistema.

Beneficios:
Estar atento de lo que sucede en nuestro RHEL es crítico para la administración
del sistema, y mantener la seguridad. En esta unidad aprenderás cómo utilizar las
herramientas incluidas con RHEL para almacenar y mantener los archivos de
LOG.
Índice

Administración de Archivos de LOG en RHEL 6 ................................................ 1

1.- ¿Qué son los archivos de LOG? ................................................................... 3

2.- Archivos de LOG en RHEL 6 ......................................................................... 4

2.1 Archivo de configuración de rsyslog.......................................................... 4

2.2 Archivos de LOG ....................................................................................... 7

2.3 Rotación de los archivos de LOG ............................................................. 8

2.4 Archivos de LOG asociados a servicios .................................................. 11

3.- Seguridad para los archivos de LOG ......................................................... 11

4.- Resumen ....................................................................................................... 13

5.- Bibliografía ................................................................................................... 14

2
1.- ¿Qué son los archivos de LOG?

El sistema Operativo “registra” información, necesaria y útil para el administrador,


acerca del kernel, los servicios, las aplicaciones y lo que está ocurriendo en él, en
unos archivos, denominados archivos de LOG o archivos de registro.

Existen diferentes archivos de LOG para diferentes tipos de información a


registrar. Por ejemplo, existe un archivo de LOG por defecto para el sistema, un
archivo de LOG para mensajes de seguridad, y un archivo de LOG para las
tareas de cron[1].

La información registrada en estos archivos de LOGes muy importante, por


ejemplo, en la detección y solución de problemas del sistema, yen registrar los
intentos no autorizados de acceso al sistema, entre otros.

Algunas aplicaciones, como por ejemplo httpd y Samba, poseen un


directorio propio en /var/log para sus archivos de LOG. Por ejemplo, los
archivos de LOG de Apache en RHEL 6 se almacenanen el directorio
/var/log/httpd.

Los archivos de LOG son archivos escritos por el kernel, por los servicios o por
las aplicaciones. La información se envía en forma de “mensajes” hacia estos
archivos. En cada “mensaje de log” usualmente consta la fuente (el programa que
generó el mensaje), la prioridad (nivel de importancia del mensaje), la fecha y la
hora.

3
2.- Archivos de LOG en RHEL 6

En RHEL6 la mayoría de las aplicaciones utilizan un sistema de "logging" llamado


rsyslog, el cual es controlado por un demonio llamado rsyslogd. Conociendolos
tipos de mensajes que maneja rsyslog, y en qué archivo los almacena, es posible
realizar una depuración másadecuada y directa de los problemas del Sistema.

Una lista de los archivos de log que son mantenidos por rsyslogd puede
ser encontrada en el archivo de configuración /etc/rsyslog.conf [1].

El demonio rsyslog es un demonio syslog mejorado y con soporte multi-thread


que remplazó al demonio sysklogd. El demonio rsyslog posee las mismas
funcionalidades que sysklogd y las extiende con filtros mejorados, retransmisión
cifrada de mensajes, varias opciones de configuración, o soporte para reenvío de
los mensajes de log a otra máquina vía protocolos TCP o UDP. Cabe hacer notar
que rsyslog es completamente compatible con sysklogd [1].

2.1 Archivo de configuración de rsyslog

El archivo /etc/rsyslog.conf es el archivo de configuración principal para rsyslog,


y está compuesto de una serie de directivas globales, módulos y reglas, y de unas
cuantas líneas vacías o líneas de texto precedidas del carácter “#”.

 Las Directivas Globales especifican opciones de configuración que se


aplicarán y afectarán al demonio rsyslogd. Estas directivas usualmente
especifican un valor, para alguna variable predefinida especifica, que afecta
la conducta del demonio rsyslogd o a alguna regla que la sigue.

4
 Los Módulos permiten que rsyslog ofrezca una variedad de
funcionalidades dinámicas. Estos módulos pueden proporcionar directivas
de configuración adicionales que estarán disponibles después de cargar el
módulo. Para cargar un módulo, se utiliza la siguiente sintaxis:

$ModLoad módulo

 Una Regla queda definida por una parte de filtro, que permite seleccionar
un conjunto de mensajes syslog, y una parte acción, la cual especifica lo
que se desea hacer con dichos mensajes.
rsyslog ofrece varias maneras de cómo filtrar los mensajes syslog de
acuerdo con diversas propiedades. Sin embargo, la forma más usada y
conocida para filtrar los mensajes de registro del sistema es el uso de los
filtros basados en la dupla facility/priority.
Para crear un selector, usando este tipo de filtro, se utiliza la siguiente
sintaxis:

facility.priority

Cada mensaje de LOG está asociado a una "facility", que especifica el


subsistema que produce un mensaje syslog específico. Una “facility” puede
estar representada por una de las siguientes palabras claves: auth,
authpriv, cron, daemon, kern, lpr, mail, news, syslog, user, uucp, y
local0 hasta local7.
La “priority” especifica el nivel de prioridad o severidad del mensaje de
LOG (ver Tabla Nº 1), y permite especificar cuán importante es el mensaje.
La “priority” puede ser representada por una de las siguientes palabras
claves (listadas en orden ascendente de severidad): debug, info, notice,
warning, err, crit, alert, y emerg.

5
Además de las palabras clave especificadas para las facility y priority,
también se puede utilizar un asterisco (*) para definir todas las facility o
priority (dependiendo de donde se coloca el asterisco, antes o después del
punto, respectivamente).

Código
numérico Severidad
0 Emergency: Sistema inutilizable, condiciones de pánico
muy importantes.
1 Alert: Condiciones que se deberían resolver rápidamente.
2 Critical: Condiciones críticas, como errores de hardware.
3 Error: Condiciones de error.
4 Warning: Condiciones de advertencia.
5 Notice: Mensajes no críticos normales, pero condiciones
significativas, que requieren investigación adicional.
6 Informational: Mensajes informativos
7 Debug: Mensajes de nivel de depuración.
Tabla Nº 1: Niveles de Prioridad de los mensajes de LOG

Para definir múltiples “facility” y “priority”, sólo tiene que separar con una
coma (,). Para definir varios filtros en una línea, sepárelos con un punto y
coma (;).

Por último, las acciones especifican lo que se debe hacer con los mensajes
filtrados por un selector previamente definido.

facility.priority acción

6
2.2 Archivos de LOG

Los principales y más importantes archivos de LOG de RHEL6 y su


funcionalidad son descritos en la Tabla Nº 2:

Archivo de LOG Descripción


boot.log En este archivo se registra información asociada con los
servicios que inician y detienen procesos.
btmp En este archivo se registra información asociada con los
intentos fallidos de conexión al sistema; este archivo es
legible con el comando utmpdump btmp.
cron En este archivo se reúne información acerca de los scripts
que son ejecutados por el demonio cron.
dmesg En este archivo se incluye información escrita por el
kernel al momento del arranque del sistema.
lastlog En este archivo se guarda información asociada a los
registros de conexión al sistema; este archivo es legible
con el comando lastlog.
maillog En este archivo se reúnen los mensajes asociados a
servidores de correo.
messages En este archivo se registra información general del
sistema; se incluyen también mensajes de otros servicios
previamente definidos en /etc/syslog.conf.
secure En este archivo se registra información acerca de
conexiones y mensajes de acceso al sistema.
wtmp En este archivo se guarda información acerca de las
conexiones al sistema; puede ser leído con el comando
utmpdump wtmp.
Xorg.0.log En este archivo se registra información sobre el entorno
gráfico: mensajes del sistema X Windows y que puede
incluir problemas de configuración.

7
yum.log En este archivo se registra información relativa a los
paquetes que han sido instalados, actualizados o
borrados con yum.
Tabla Nº 2: Algunos Archivos de LOG en RHEL6

Todos estos archivos son creados basados en la configuración previamente


descrita del archivo de configuración /etc/rsyslog.conf, y ubicados en el directorio
/var/log.

2.3 Rotación de los archivos de LOG

Los archivos de LOG pueden volverse grandes y difíciles de manejar, debido a


esto LINUX provee un comando para rotarlos y así evitar que la información actual
se mezcle con información vieja irrelevante.

La rotación de los archivos de LOG permite que la información se mantenga un


cierto tiempo en los archivos, para luego ser “rotada”.

Por ejemplo, si suponemos que deseamos rotar el archivo de LOG xxx por cuatro
semanas, esto dará origen a los archivos xxx.1, xxx.2, xxx.3 y xxx.4: cuando es
ejecutado, logrotate tomará la versión actual del archivo de LOG xxx le añadirá
un ".1" al final de su nombre, con esto se creará el archivo xxx.1. Luego, cualquier
otro archivo rotado previamente será renombrado secuencialmente ".2", ".3", etc.,
y así se crean xxx.2, xxx.3 y xxx.4, tal como se muestra en la Figura Nº 1.

8
Figura Nº 1: Rotado del archivo xxx

En esta nomenclatura, cuando más grande el número del log, más viejo es el
archivo.

El paquete logrotate contiene una tarea de cron que permite hacer “rotar”
automáticamente los archivos de LOG.

Para esto último será necesario utilizar el archivo de configuración


/etc/logrotate.conf y los archivos de configuración en el directorio
/etc/logrotate.d. Se puede configurar el comportamiento automático de logrotate
editando el archivo de configuración /etc/logrotate.conf.

Generalmente, logrotate se ejecuta cada cierto tiempo automáticamente,


aunque también puede ejecutarse de forma manual.

El programa logrotate puede rotar los archivos de LOG basado en varios


parámetros, pudiéndose realizar rotaciones diariamente, semanalmente o
mensualmente; además, basado en el tamaño del archivo de log, logrotate puede
comprimir los logs para no comprometer el espacio del disco, etc.

En resumen, logrotate es una completa herramienta de administración de los logs


del sistema.

9
Algunas de las directivas de configuración más comunes de logrotate se
especifican en la Tabla Nº 3. Existen varias otras directivas asociadas con el
programa logrotate; como siempre, consultar el manual en línea para más
información.

Directiva Descripción
daily Los archivos de LOG serán rotados todos los días.
weekly Los archivos de LOG serán rotados una vez por semana.
monthly Los archivos de LOG serán rotados una vez por mes.
rotate Permitirá especificar el número de veces que los archivos
de LOG serán rotados antes de que sean borrados o
enviados por correo a una dirección especificada en una
directiva mail.
compress Las versiones antiguas de los archivos de LOG serán
comprimidas con gzip.
Tabla Nº 3: Algunas directivas de configuración de logrotate

10
2.4 Archivos de LOG asociados a servicios

Si bien es cierto, la mayoría de los archivos de LOG están localizados en el


directorio /var/log, algunas aplicaciones, como por ejemplo httpd y samba,
poseen su propio directorio en /var/log para sus correspondientes archivos de
LOG.

Por ejemplo, los archivos de LOG de Apache en RHEL6 se almacenan en el


directorio /var/log/httpd, y en estos se registra información relativa a la actividad y
el rendimiento del servidor, así como de cualquier problema que haya podido
ocurrir durante su operación.

El servidor HTTP Apache ofrece capacidades muy amplias de registro de este tipo
de información en los archivos de LOG del servicio.

3.- Seguridad para los archivos de LOG

Por lo general, no se debe permitir que los demás usuarios vean los archivos de
LOG de un servidor, y especialmente que puedan ser capaces de modificarlos o
borrarlos.

En general, la mayoría de los archivos de LOG son propiedad del usuario y grupo
root, y no tienen asignados permisos para otros, de modo que en la mayoría de los
casos, el único usuario que será capaz de modificar los LOGs será el root.

Se pueden tomar medidas de seguridad adicionales, siendo la más simple el uso


de la orden chattr (change attributes), para dejar exclusivamente permiso de
sólo-añadir a los archivos de LOG, de tal forma que si se da un problema que
permita a otros usuarios sobreescribir archivos del sistema, no se puedan dañar
los archivos de LOG.

11
Para dejar un archivo en modo sólo-añadir, se puede utilizar el siguiente comando:
# chattr +a nombre_archivo_LOG

A la función chattr sólo tiene acceso el super usuario o root.

Si se dejan todos los archivos en modo sólo-añadir, hay que tener en cuenta que
fallarán los programas de rotación de LOGs, puesto que no pueden dejar en cero
los archivos de LOG. Para deshabilitar el atributo sólo-añadir se agrega la
siguiente línea al script:

chattr -a nombre_archivo_LOG

Y luego, se puede añadir una línea después del script de rotación de LOGs para
reiniciar el flag de sólo-añadir.

Si los archivos de LOG se dejan en el sistema, quizás sea preferible activar


también el flag de inmutables, de forma que no se puedan falsificar con facilidad.
Para activar el archivo como inmutable, simplemente utilizar el comando:
# chattr +i nombre_archivo_LOG

Lo que permitirá evitar cualquier cambio en el archivo. Sólo el usuario root tiene
acceso al flag de inmutable.

12
4.- Resumen

 Los sistemas *nix modernos, y en particular RHEL6, utilizan una versión


mejorada del antiguo syslog denominada rsyslog, más confiable que el
anterior y con capacidades extendidas.

 La mayoría de los sistemas operativos poseen facilidades para almacenar


archivos de LOG en un servidor remoto.

 Centralizar los LOGs en un servidor facilita la tarea de análisis de los


archivos de LOG a administradores y auditores, ya que deben acceder a
sólo un repositorio.

 El registro de los mensajes de log usualmente se hace a archivos de texto,


evitando así la necesidad de herramientas propietarias para leerlos. Los
archivos de texto son también fáciles de leer con miras a su uso en scripts y
programas.

 También hay archivos de LOG binarios, que necesariamente deben ser


consultados a través de comandos y/o herramientas LINUX.

 Los logs son rotados para evitar que se vuelvan demasiado grandes e
inmanejables y son separados de la información actual, dicha rotación es
configurable. Se puede decir que logrotate es una completa herramienta
de administración de los logs del sistema.

 El registro de los logs es altamente configurable, pudiendo incluso ser


guardados en sistemas separados por cuestiones de seguridad y/o
resguardo.

13
5.- Bibliografía

[1] Hradílek, J. et all; Red Hat Enterprise Linux 6 Deployment Guide, 5th Ed.;
Disponible online en: https://access.redhat.com/site/documentation/en-
US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/index.html

[2] Jang, Michael; RHCSA/RHCE Red Hat Linux Certification Study Guide, 6th
Ed.; McGraw-Hill, 2011.

[3] Van Vugt, Sander; Red Hat Enterprise Linux 6 Administration: Real World
Skills for Red Hat Administrators; John Wiley & Sons, 2013.

[4] Ghori, Asghar; Red Hat certified system administrator & Engineer: Training
guide and a quick deskside reference, Exams EX200 & EX300; Endeavor
Technologies Inc.; 1 edition, 2012.

[5] Red Hat Enterprise Linux 6 Essentials; Disponible online en:


http://www.techotopia.com/index.php/Red_Hat_Enterprise_Linux_6_Essenti
als

14

Vous aimerez peut-être aussi