Introducción: por qué importan la auditoría y el registro
La auditoría y el registro en Ubuntu Server son esenciales para mantener la seguridad, la fiabilidad y la rendición de cuentas de tu servidor Ubuntu. Ofrecen información sobre las actividades del sistema, ayudan a detectar anomalías y son fundamentales para cumplir requisitos regulatorios como GDPR, HIPAA o PCI-DSS.
Sin embargo, muchos sistemas no activan la auditoría por preocupaciones sobre el consumo de espacio en disco o por la falta de herramientas para analizar los datos con eficacia. En este artículo abordaremos estas preocupaciones y te guiaremos en la implementación de la auditoría y el registro de forma práctica y escalable.
Temas tratados:
- Uso real y desafíos de la auditoría.
- Uso de auditd para rastrear y registrar eventos del sistema.
- Planificación del espacio en disco para registros de auditoría.
- Herramientas para analizar registros de auditoría y registros del sistema.
- Configuración de la rotación de registros con logrotate.
- Prácticas avanzadas de supervisión y auditoría
Artículo anterior:
01. Introducción a Ubuntu Server – SysOSX: AI & Cloud
02. Cómo configurar tu primer servidor Ubuntu: guía para principiantes – SysOSX: AI & Cloud
03. Dominar la línea de comandos de Linux para Ubuntu Server – SysOSX: AI & Cloud
04. Gestión de usuarios y permisos en Ubuntu Server: una guía completa – SysOSX: AI & Cloud
05. Fundamentos de redes para Ubuntu Server: una guía completa – SysOSX: AI & Cloud
06. Instalar y gestionar software en Ubuntu Server: una guía completa – SysOSX: AI & Cloud
07.Aplicar parches y actualizar Ubuntu Server: una guía completa – SysOSX: AI & Cloud
08. Proteger tu servidor Ubuntu: pasos prácticos para reforzar y proteger – SysOSX: AI & Cloud
1. Uso real de la auditoría del sistema
Por qué muchos sistemas omiten la auditoría
Aunque la auditoría es potente, muchos administradores evitan activarla por los siguientes motivos:
- Consumo de espacio en disco: los registros de auditoría pueden crecer rápidamente, especialmente en sistemas con mucho tráfico, y consumir una cantidad considerable de espacio en disco.
- Sobrecarga de rendimiento: activar auditorías detalladas puede añadir una ligera sobrecarga al rendimiento del sistema.
- Complejidad: los registros de auditoría son extensos y requieren herramientas especializadas para su análisis.
Cómo planificar la auditoría
Planificación del espacio en disco
Para planificar la auditoría con eficacia:
- Estimar el crecimiento de los registros: supervisa las tasas de crecimiento de los registros activando temporalmente la auditoría y midiendo el tamaño de los registros durante una semana.
sudo du -sh /var/log/audit/Usa estos datos para calcular las necesidades de almacenamiento diarias, semanales y mensuales. - Reservar almacenamiento dedicado: almacena los registros de auditoría en una partición o disco independiente para evitar que los registros llenen el sistema de archivos raíz. Por ejemplo:
- Crea una partición para los registros:
/var/log/audit. - Usa herramientas como
lvcreate(Logical Volume Manager) para ampliar el almacenamiento dinámicamente si es necesario.
- Crea una partición para los registros:
- Activar la compresión: usa
logrotatepara comprimir registros de auditoría antiguos, reduciendo considerablemente las necesidades de almacenamiento. - Políticas de retención: define políticas de retención según las necesidades de tu organización. Por ejemplo:
- Conservar los registros durante 30 días para la resolución de problemas.
- Archivar los registros más antiguos en almacenamiento externo con fines de cumplimiento.
Consideraciones de rendimiento
El impacto de Auditd en el rendimiento es mínimo para la mayoría de los sistemas. Sin embargo, en servidores con mucho tráfico (por ejemplo, servidores web o de bases de datos), supervisa el uso de CPU y de E/S tras activar la auditoría. Si es necesario:
- Limita el alcance de las reglas de auditoría a archivos o directorios críticos en lugar de supervisar todo el sistema.
- Usa técnicas de muestreo para reducir la frecuencia de los registros.
2. Uso de auditd para rastrear y registrar eventos del sistema
La auditd herramienta sigue siendo una de las soluciones más sólidas para la auditoría del sistema. A continuación encontrarás otras consideraciones para el uso real.
Reglas de auditoría avanzadas
En lugar de auditar cada archivo, céntrate en las áreas críticas:
- Archivos de configuración del sistema:
sudo auditctl -w /etc/ssh/sshd_config -p wa -k ssh_config_changes
- Directorios sensibles:
sudo auditctl -w /var/www/html -p rwxa -k web_access
- Actividad de usuarios:
Supervisar usuarios o grupos específicos:
sudo auditctl -a always,exit -F uid=1001 -F arch=b64 -S execve -k user_commands
Herramientas para analizar registros de auditoría
Los registros de auditoría pueden resultar abrumadores, pero varias herramientas pueden ayudar a procesar y analizar los datos:
- Aureport: genera informes resumidos a partir de los registros de auditoría.
sudo aureport --summary - Auditbeat: una herramienta ligera de Elastic para enviar registros de auditoría a un stack ELK centralizado para su visualización y análisis.
- Instalar Auditbeat:
sudo apt install auditbeat - Configúralo para enviar registros a Elasticsearch o Logstash.
- Instalar Auditbeat:
- Splunk: una herramienta comercial de análisis de registros con funciones avanzadas de búsqueda e informes.
3. Planificación del espacio en disco para registros de auditoría
Ejemplo de plan de espacio en disco
Supongamos:
- Los registros de auditoría diarios consumen 500 MB.
- Los registros se rotan semanalmente y se comprimen al 20 % de su tamaño original.
Cálculo del espacio en disco:
- Registros sin comprimir durante 7 días: 500 MB×7=3.5 GB500MB×7=3.5GB
- Registros comprimidos durante 30 días: 500 MB×30×0.2=3 GB500MB×30×0.2=3GB
- Espacio total de almacenamiento necesario: 3.5 GB+3 GB=6.5 GB3.5GB+3GB=6.5GB
Reserva al menos 10 GB para absorber picos inesperados.
4. Configuración de la rotación de registros con logrotate
La rotación de registros es fundamental para gestionar el tamaño de los registros. A continuación se muestran configuraciones avanzadas para registros de auditoría y registros del sistema.
Rotación de registros de auditoría
Los registros de auditoría son gestionados automáticamente por el auditd demonio. Para personalizar la rotación:
- Edita el
/etc/audit/auditd.confarchivo:
max_log_file = 50 # Maximum size in MB for audit.log
max_log_file_action = rotate # Rotate logs when size exceeds limit
- Probar la configuración:
sudo service auditd restart
Rotación de otros registros
Para registros que no son de auditoría, usa logrotate:
- Ejemplo para
/var/log/syslog:
/var/log/syslog {
weekly
rotate 4
compress
missingok
notifempty
create 0640 root root
}
5. Prácticas avanzadas de supervisión y auditoría
Supervisión de registros en tiempo real
La supervisión en tiempo real es esencial para detectar eventos críticos. Estas son algunas herramientas y técnicas:
- Logwatch: resume los registros diarios y los envía por correo electrónico a los administradores.
sudo apt install logwatchConfigúralo en/etc/logwatch/conf/logwatch.conf. - Gestión centralizada de registros:
- Rsyslog: reenvía los registros a un servidor central.
sudo apt install rsyslogConfigura/etc/rsyslog.confpara enviar registros a un servidor remoto. - Graylog: ofrece una interfaz basada en web para el análisis de registros.
- ELK Stack: Elasticsearch, Logstash y Kibana para una gestión de registros escalable.
- Rsyslog: reenvía los registros a un servidor central.
Supervisión centrada en la seguridad
- Fail2ban: supervisa los registros en busca de intentos de inicio de sesión fallidos y bloquea direcciones IP.
sudo apt install fail2ban
- Tripwire: detecta cambios en archivos para la detección de intrusiones.
sudo apt install tripwire
Integración de alertas
Configura alertas para eventos críticos con herramientas como:
- Nagios: supervisa el estado del servidor y los registros en busca de anomalías.
- Prometheus with Grafana: sigue métricas y registros en tiempo real.
Ubicaciones de los archivos de registro
Hay muchos archivos de registro diferentes, cada uno con un propósito distinto. Cuando busques un registro sobre algo, primero debes identificar el archivo más relevante. A continuación encontrarás una lista de ubicaciones habituales de archivos de registro.
Registros del sistema
Los registros del sistema tratan exactamente de eso, del sistema Ubuntu, a diferencia de las aplicaciones adicionales que añade el usuario. Estos registros pueden contener información sobre autorizaciones, demonios del sistema y mensajes del sistema.
Registro de autorización
Ubicación: /var/log/auth.log
Lleva un registro de los sistemas de autorización, como las solicitudes de contraseña, el sudo comando y los inicios de sesión remotos.
Registro de demonios
Ubicación: /var/log/daemon.log
Los demonios son programas que se ejecutan en segundo plano, normalmente sin interacción del usuario. Por ejemplo, el servidor de pantalla, sesiones SSH, servicios de impresión, Bluetooth y más.
Registro de depuración
Ubicación: /var/log/debug
Proporciona información de depuración del sistema Ubuntu y de las aplicaciones.
Registro del kernel
Ubicación: /var/log/kern.log
Registros del kernel de Linux.
Registro del sistema
Ubicación: /var/log/syslog
Contiene más información sobre tu sistema. Si no encuentras nada en los demás registros, probablemente esté aquí.
Registros de aplicaciones
Algunas aplicaciones también crean registros en /var/log. A continuación encontrarás algunos ejemplos.
Registros de Apache
Ubicación: /var/log/apache2/ (subdirectorio)
Apache crea varios archivos de registro en el /var/log/apache2/ subdirectorio. El access.log archivo registra todas las solicitudes realizadas al servidor para acceder a archivos. error.log registra todos los errores generados por el servidor.
Registros del servidor X11
Ubicación: /var/log/Xorg.0.log
El servidor X11 crea un archivo de registro independiente para cada una de tus pantallas. Los números de pantalla empiezan en cero, así que tu primera pantalla (pantalla 0) registrará en Xorg.0.log. La siguiente pantalla (pantalla 1) registraría en Xorg.1.log, y así sucesivamente.
Registros no legibles para las personas
No todos los archivos de registro están diseñados para ser leídos por personas. Algunos fueron creados para ser analizados por aplicaciones. A continuación encontrarás algunos ejemplos.
Registro de fallos de inicio de sesión
Ubicación: /var/log/faillog
Contiene información sobre fallos de inicio de sesión. Puedes verlo con el faillog comando.
Registro de últimos inicios de sesión
Ubicación: /var/log/lastlog
Contiene información sobre los últimos inicios de sesión. Puedes verlo con el lastlog comando.
Registro de inicios de sesión
Ubicación: /var/log/wtmp
Contiene información de inicio de sesión que usan otras utilidades para saber quién ha iniciado sesión. Para ver los usuarios que han iniciado sesión actualmente, usa el who comando.
Conclusión
La auditoría y el registro son esenciales para mantener un servidor Ubuntu seguro y fiable. Si planificas cuidadosamente el espacio en disco, usas herramientas para analizar registros y aplicas prácticas avanzadas de supervisión, puedes superar los desafíos habituales y obtener una mejor visibilidad de las actividades del sistema.
Tanto si gestionas requisitos de cumplimiento como si proteges tu servidor de forma proactiva, las técnicas y herramientas tratadas en este artículo te ayudarán a construir una estrategia de registro y auditoría escalable y eficaz.
Lo siguiente: Herramientas de supervisión del sistema para Ubuntu Server
En el próximo artículo, profundizaremos en la supervisión y la gestión del rendimiento. Exploraremos potentes herramientas de supervisión del sistema para Ubuntu Server, incluidas soluciones como Nagios, Prometheus, Grafana y htop, para ayudarte a seguir el uso de recursos, detectar cuellos de botella y optimizar el rendimiento del servidor.
¡No te pierdas cómo mantener tu servidor funcionando con eficiencia y abordar de forma proactiva los posibles problemas antes de que afecten a tus operaciones!
3 thoughts on “09. Audit and Logging on Ubuntu Server: A Comprehensive Guide”