Capítulo 8: Auditoría del Sistema

Por: SiempreListo
linuxseguridadauditorialynislogsrootkit

Capítulo 8: Auditoría del Sistema

Lynis - Auditoría de Seguridad

Lynis es una herramienta de auditoría que analiza tu sistema y genera un reporte con recomendaciones.

Instalación

sudo apt update
sudo apt install lynis

Ejecutar Auditoría

sudo lynis audit system

Interpretar Resultados

El reporte incluye:

  • Hardening Index: Puntuación de 0-100
  • Warnings: Problemas que requieren atención
  • Suggestions: Mejoras recomendadas

Ver sugerencias específicas:

sudo grep Suggestion /var/log/lynis.log

Auditorías Programadas

Crea un cron para auditorías periódicas:

sudo crontab -e
0 3 * * 0 /usr/bin/lynis audit system --cronjob > /var/log/lynis-weekly.log

Logwatch - Análisis de Logs

Logwatch genera resúmenes diarios de los logs del sistema.

Instalación

sudo apt install logwatch

Configuración

sudo nano /etc/logwatch/conf/logwatch.conf
Output = mail
Format = html
MailTo = [email protected]
MailFrom = logwatch@servidor
Detail = Med

Ejecución Manual

sudo logwatch --detail High --mailto [email protected] --service all --range today

Rkhunter - Detección de Rootkits

Instalación

sudo apt install rkhunter

Actualizar Base de Datos

sudo rkhunter --update
sudo rkhunter --propupd

Ejecutar Escaneo

sudo rkhunter --check --skip-keypress

Automatizar

sudo nano /etc/default/rkhunter
CRON_DAILY_RUN="yes"
CRON_DB_UPDATE="yes"
REPORT_EMAIL="[email protected]"

ClamAV - Antivirus

Instalación

sudo apt install clamav clamav-daemon

Actualizar Firmas

sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam

Escaneo Manual

# Directorio específico
sudo clamscan -r /home

# Todo el sistema (largo)
sudo clamscan -r /

Escaneo Programado

sudo crontab -e
0 2 * * * /usr/bin/clamscan -r /home --log=/var/log/clamav/daily.log

AIDE - Monitoreo de Integridad

AIDE detecta cambios no autorizados en archivos del sistema.

Instalación

sudo apt install aide

Inicializar Base de Datos

sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

Verificar Cambios

sudo aide --check

Actualizar después de Cambios Legítimos

sudo aide --update
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

Monitoreo de Puertos

Ver Puertos Abiertos

# Todos los puertos escuchando
sudo ss -tulpn

# Solo TCP
sudo ss -tlpn

# Con proceso asociado
sudo ss -tulpn | grep LISTEN

Verificar Conexiones Activas

sudo ss -tan state established

Checklist de Auditoría Periódica

Diario

  • Revisar logs de autenticación: sudo tail /var/log/auth.log
  • Verificar intentos fallidos: sudo lastb | head
  • Estado de servicios críticos: systemctl status sshd fail2ban ufw

Semanal

  • Ejecutar Lynis: sudo lynis audit system
  • Revisar actualizaciones pendientes: apt list --upgradable
  • Verificar espacio en disco: df -h

Mensual

  • Ejecutar rkhunter: sudo rkhunter --check
  • Revisar usuarios del sistema: cat /etc/passwd
  • Auditar permisos sudo: sudo cat /etc/sudoers
  • Verificar AIDE: sudo aide --check

Centralización de Logs (Opcional)

Para múltiples servidores, considera herramientas como:

  • rsyslog: Reenvío de logs a servidor central
  • ELK Stack: Elasticsearch, Logstash, Kibana
  • Graylog: Alternativa a ELK
  • Loki + Grafana: Solución ligera

Verificación Final

# Puntuación de hardening
sudo lynis audit system | grep "Hardening index"

# Verificar servicios de seguridad
for svc in fail2ban ufw crowdsec; do
    systemctl is-active $svc
done

# Últimos logins
last -10

# Procesos sospechosos
ps aux --sort=-%cpu | head -10

Próximos Pasos

Esta guía cubre los fundamentos. Para profundizar, considera:

  • Kernel Hardening: Configuración de sysctl
  • SELinux/AppArmor: Control de acceso mandatorio
  • Cifrado de disco: LUKS
  • Backup y recuperación: Estrategia 3-2-1
  • Monitoreo avanzado: Prometheus + Grafana