09. Auditoría y registro en Ubuntu Server: una guía completa

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:

  1. 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.
  2. 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.
  3. Activar la compresión: usa logrotate para comprimir registros de auditoría antiguos, reduciendo considerablemente las necesidades de almacenamiento.
  4. 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:

  1. Aureport: genera informes resumidos a partir de los registros de auditoría. sudo aureport --summary
  2. 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.
  3. 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.conf archivo:
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:

  1. Logwatch: resume los registros diarios y los envía por correo electrónico a los administradores. sudo apt install logwatch Configúralo en /etc/logwatch/conf/logwatch.conf.
  2. Gestión centralizada de registros:
    • Rsyslog: reenvía los registros a un servidor central. sudo apt install rsyslog Configura /etc/rsyslog.conf para 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.

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”

Deja un comentario