Logo

Mi Blog con Emacs y Esteroides

Emacs, IA y Linux: Poder y Simplicidad en tu Flujo de Trabajo

mybloggingnotes@gmail.com


18/03/2025

Tutorial de Seguridad en Linux: Mínimo de Protección ante Ataques Informáticos (II)

Capítulo 2: Automatización y Análisis Avanzado

Objetivos

  • Automatizar tareas de seguridad con scripts.
  • Analizar logs para detectar patrones sospechosos.
  • Generar reportes de seguridad.

Paso 1: Automatizar Tareas con Scripts en Bash

Crea un script para automatizar la revisión de logs y el bloqueo de IPs sospechosas.

  1. Script `securitymonitor.sh`:

    #!/bin/bash
    LOG_FILE="/var/log/auth.log"
    BAN_LIST="/etc/fail2ban/jail.local"
    
    # Buscar IPs con múltiples intentos fallidos
    SUSPICIOUS_IPS=$(grep "Failed password" $LOG_FILE | awk '{print $(NF-3)}' | sort | uniq -c | awk '$1 > 3 {print $2}')
    
    # Bloquear IPs sospechosas
    for IP in $SUSPICIOUS_IPS; do
        echo "Bloqueando IP: $IP"
        sudo fail2ban-client set sshd banip $IP
    done
    
  2. Ejecutar el script diariamente con `cron`:

    sudo crontab -e
    

    Añade la siguiente línea:

    0 0 * * * /ruta/al/script/security_monitor.sh
    

Paso 2: Analizar Logs con Python

Crea un script en Python para analizar logs y generar reportes.

  1. Script `loganalyzer.py`:

    #!/usr/bin/env python3
    import re
    from collections import Counter
    
    LOG_FILE = "/var/log/auth.log"
    REPORT_FILE = "/var/log/security_report.txt"
    
    def analyze_logs():
        with open(LOG_FILE, "r") as file:
            logs = file.readlines()
    
        failed_attempts = Counter()
        for log in logs:
            if "Failed password" in log:
                ip = re.search(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", log).group()
                failed_attempts[ip] += 1
    
        with open(REPORT_FILE, "w") as report:
            report.write("Reporte de Seguridad\n")
            report.write("===================\n")
            for ip, count in failed_attempts.most_common():
                report.write(f"IP: {ip} - Intentos fallidos: {count}\n")
    
    if __name__ == "__main__":
        analyze_logs()
    
  2. Ejecutar el script:

    python3 /ruta/al/script/log_analyzer.py
    

Paso 3: Generar Reportes de Seguridad

Usa los scripts anteriores para generar reportes diarios.

  1. Combinar ambos scripts en un solo archivo:

    #!/bin/bash
    /ruta/al/script/security_monitor.sh
    python3 /ruta/al/script/log_analyzer.py
    
  2. Programar la ejecución con `cron`:

    sudo crontab -e
    

    Añade la siguiente línea:

    0 1 * * * /ruta/al/script/security_report.sh
    

Resultados Esperados

  • Tareas de seguridad automatizadas.
  • Logs analizados en busca de patrones sospechosos.
  • Reportes de seguridad generados diariamente.

Conclusión

Con estos dos capítulos, has implementado un mínimo de seguridad en tu entorno Linux. Desde la configuración básica del firewall hasta la automatización de tareas y el análisis avanzado de logs, este tutorial te proporciona las herramientas necesarias para proteger tu sistema ante ataques informáticos. ¡Ahora es tu turno de adaptar y mejorar estas técnicas según tus necesidades!

Recursos Adicionales

```

### Características del Tutorial

  1. Estructura Clara: Dividido en 2 capítulos con objetivos, pasos y resultados.
  2. Scripts Prácticos: Incluye scripts en Bash y Python para automatizar tareas.
  3. Logs y Reportes: Enseña a monitorear logs y generar reportes de seguridad.
  4. Recursos Adicionales: Proporciona enlaces a documentación oficial.

Categoría: seguridad linux bash python firewall logs tutoriales

Suscribirse al Feed RSS | Mapa del Sitio

© 2025 M.Castillo | Hecho con ❤️ en Emacs y org-static-blog

Visit counter For Websites