16 Logs
Published Apr 8, 2023
El sistema de registros en Linux no se refiere al proceso de iniciar sesi贸n, sino a la creaci贸n y manejo de logs. Los logs son archivos que almacenan eventos importantes que ocurren en el sistema o en aplicaciones mientras se ejecutan. Estos registros son fundamentales para el monitoreo, la soluci贸n de problemas y la seguridad del sistema.
驴Qu茅 son los logs?
Los logs contienen informaci贸n clave sobre eventos como:
- Errores: Problemas en el sistema o aplicaciones.
- Alertas de seguridad: Actividades sospechosas o potencialmente maliciosas.
- Informaci贸n general: Datos como solicitudes a un servidor web (por ejemplo, logs de Apache).
Son esenciales para rastrear incidentes de seguridad, ya que permiten identificar qu茅 sucedi贸, cu谩ndo, y en qu茅 parte del sistema ocurri贸. Sin embargo, como los atacantes tambi茅n conocen su importancia, pueden intentar manipular o eliminar logs para ocultar rastros de sus acciones.
RSYSLOG: El sistema de registro de Linux
Linux utiliza un daemon llamado rsyslog
, que registra autom谩ticamente los eventos del sistema. Este daemon configura qu茅 informaci贸n se registra y d贸nde se almacena.
Explorando el archivo de configuraci贸n
El archivo de configuraci贸n de rsyslog
se encuentra en /etc/rsyslog.conf
. Podemos examinarlo utilizando el comando:
find /etc/ -name rsyslog*
vim /etc/rsyslog.conf
Este archivo define:
- Propietarios y permisos de los logs:
- Archivos con permisos predeterminados de
0640
. - Directorios con permisos de
0755
.
- Archivos con permisos predeterminados de
- Reglas de registro: Est谩n formadas por tres partes:
- Facility: Indica qu茅 programa genera el log (por ejemplo,
auth
,cron
,mail
,kern
). - Priority: Define la severidad de los eventos registrados (
debug
,info
,error
, etc.). - Action: Especifica d贸nde se guardar谩n los registros (por ejemplo,
/var/log/messages
).
- Facility: Indica qu茅 programa genera el log (por ejemplo,
Manejo de espacio para logs
Los logs pueden ocupar mucho espacio, especialmente en sistemas activos. Si no se eliminan peri贸dicamente, el disco podr铆a llenarse, causando problemas. Sin embargo, no se deben eliminar indiscriminadamente, ya que los registros son vitales para investigar incidentes.
Para gestionar el almacenamiento de logs, Linux utiliza logrotate
, una herramienta que rota y elimina autom谩ticamente logs antiguos.
Configuraci贸n de logrotate
Podemos revisar su archivo de configuraci贸n con:
cat /etc/logrotate.conf
Algunas configuraciones importantes incluyen:
- Frecuencia de rotaci贸n:
- Por defecto es semanal (
weekly
). - Se puede ajustar a diario (
daily
), mensual (monthly
), etc.
- Por defecto es semanal (
- Cantidad de archivos a mantener:
rotate 4
significa que se mantendr谩n los 煤ltimos 4 registros rotados.
logrotate
renombra los archivos antiguos y crea nuevos, facilitando la gesti贸n del espacio en disco.
Eliminar logs de forma segura
Los atacantes pueden intentar borrar o sobrescribir logs para ocultar evidencia. Para ello, Linux ofrece herramientas como shred
, que asegura la eliminaci贸n segura de archivos al sobrescribirlos m煤ltiples veces.
Uso de shred
El comando sobrescribe archivos con datos aleatorios, haciendo casi imposible su recuperaci贸n. Su sintaxis b谩sica es:
shred -f -n 10 /var/log/auth.log.*
f
: Fuerza el cambio de permisos para permitir sobrescritura.n
: Especifica cu谩ntas veces sobrescribir el archivo.
Deshabilitar temporalmente los logs
Si queremos detener la generaci贸n de logs de forma temporal, podemos reiniciar o detener el servicio rsyslog
:
service rsyslog stop
Esto puede ser 煤til en pruebas o tareas de mantenimiento espec铆ficas.
Conclusi贸n
El sistema de logs es una herramienta esencial en Linux para monitorear y diagnosticar el estado del sistema y sus aplicaciones. Sin embargo, requiere una gesti贸n adecuada para evitar que los archivos ocupen demasiado espacio o se pierda informaci贸n cr铆tica. Con herramientas como rsyslog
y logrotate
, podemos automatizar el manejo de registros y asegurar que el sistema opere de manera eficiente y segura. 馃殌