1. Introducción a la automatización de seguridad

La automatización de tareas de seguridad es clave para asegurar que tu sistema esté siempre protegido sin intervención manual constante. Un script maestro puede ejecutar todos los scripts de seguridad en el orden correcto, registrar los resultados y generar alertas si se detecta algún problema. Este artículo te enseñará cómo crear ese script maestro.

2. ¿Por qué usar un script maestro?

Un script maestro te permite centralizar la ejecución de todos los scripts de seguridad. En lugar de ejecutar cada herramienta de forma independiente, puedes automatizar el proceso, asegurarte de que cada script se ejecute en el orden adecuado, y gestionar los resultados desde un único lugar.

3. Estructura del script maestro

Un script maestro debe seguir una estructura lógica para ejecutar cada herramienta de seguridad de manera secuencial, verificar los resultados, registrar los logs y generar alertas si es necesario. Aquí te mostramos un ejemplo básico de cómo podrías estructurarlo:

#!/bin/bash
# Script maestro para ejecutar herramientas de seguridad
echo "Iniciando auditoría de seguridad..."

# Ejecutar Lynis
sudo lynis audit system --profile /etc/lynis/profiles/default.prf > /var/log/lynis_audit.log
if grep "CRITICAL" /var/log/lynis_audit.log; then
  mail -s "Alerta crítica - Lynis" tu_correo@dominio.com < /var/log/lynis_audit.log
fi

# Ejecutar Chkrootkit
sudo chkrootkit > /var/log/chkrootkit.log
if grep -i "possible" /var/log/chkrootkit.log; then
  mail -s "Alerta de Rootkit Detectado" tu_correo@dominio.com < /var/log/chkrootkit.log
fi

# Ejecutar Rkhunter
sudo rkhunter --check --skipped > /var/log/rkhunter.log
if [ $? -eq 1 ]; then
  mail -s "Alerta de Rootkit Detectado - Rkhunter" tu_correo@dominio.com < /var/log/rkhunter.log
fi

# Ejecutar Tiger
sudo tiger --quiet --output /var/log/tiger_report.log
if [ $? -ne 0 ]; then
  mail -s "Informe de Vulnerabilidades - Tiger" tu_correo@dominio.com < /var/log/tiger_report.log
fi

# Ejecutar Auditd
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
sudo auditctl -w /etc/shadow -p wa -k shadow_changes
ausearch -k passwd_changes > /var/log/passwd_audit.log
ausearch -k shadow_changes > /var/log/shadow_audit.log

# Ejecutar AIDE
sudo aide --check > /var/log/aide.log
if [ $? -ne 0 ]; then
  mail -s "Alerta de Integridad de Archivos - AIDE" tu_correo@dominio.com < /var/log/aide.log
fi

# Ejecutar Fail2Ban
sudo fail2ban-client status sshd > /var/log/fail2ban.log
if grep "Currently banned" /var/log/fail2ban.log; then
  mail -s "Informe de Intrusiones Fallidas - Fail2Ban" tu_correo@dominio.com < /var/log/fail2ban.log
fi

echo "Auditoría completada" | mail -s "Informe de seguridad" tu_correo@dominio.com

Este script ejecuta cada herramienta de seguridad, registra sus salidas en archivos de log, y envía un correo electrónico al finalizar. Puedes agregar o quitar herramientas según tus necesidades.

4. Agregar manejo de errores

Es importante que el script maneje los errores correctamente para evitar que se interrumpa la ejecución si ocurre un fallo. Para ello, puedes usar set -e al principio del script para que se detenga en caso de error, o implementar un sistema de manejo de errores personalizado:

# Agregar manejo de errores
set -e

function handle_error {
    echo "Error al ejecutar $1" | mail -s "Error en la auditoría" tu_correo@dominio.com
}

# Ejecutar Lynis con manejo de errores
if ! sudo lynis audit system > /var/log/lynis.log; then
    handle_error "Lynis"
fi

Este ejemplo enviará un correo si alguna herramienta falla en su ejecución.

5. Programar el script con Cron

Para que el script se ejecute automáticamente, puedes programarlo con Cron. Para ejecutar el script maestro cada semana, agrega una entrada en el cron:

0 0 * * 0 /ruta/a/tu/script-maestro.sh

Esto ejecutará el script todos los domingos a las 00:00 horas. Puedes ajustarlo según el intervalo que prefieras.

6. Conclusión

Crear un script maestro para automatizar la ejecución de las herramientas de seguridad es una forma excelente de mantener tu sistema seguro sin necesidad de intervención manual. No olvides incluir el manejo de errores y programarlo con Cron para garantizar que se ejecute automáticamente en los intervalos que determines.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí