Académique Documents
Professionnel Documents
Culture Documents
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
2
1.- ¿Qué son los archivos de LOG?
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
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].
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
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
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
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.
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
El servidor HTTP Apache ofrece capacidades muy amplias de registro de este tipo
de información en los archivos de LOG del servicio.
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.
11
Para dejar un archivo en modo sólo-añadir, se puede utilizar el siguiente comando:
# chattr +a nombre_archivo_LOG
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.
Lo que permitirá evitar cualquier cambio en el archivo. Sólo el usuario root tiene
acceso al flag de inmutable.
12
4.- Resumen
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.
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.
14