Logo

Mi Blog con Emacs y Esteroides

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

mybloggingnotes@gmail.com


30/05/2025

Análisis del Log del Firewall UFW en Ubuntu: Guía Completa para Usuarios

Introducción

El firewall UFW (Uncomplicated Firewall) es una herramienta sencilla y poderosa para gestionar reglas de firewall en Ubuntu. Analizar sus logs es esencial para monitorear la seguridad de tu sistema, detectar intentos de acceso no autorizados y diagnosticar problemas de red. En este post, aprenderás a localizar los logs de UFW, analizar su contenido, resumir los detalles críticos y organizar la información en una tabla `.org` para un análisis eficiente usando Emacs.

Localizando los Logs de UFW

Paso 1: Verificar si UFW está Registrando Eventos

Primero, asegúrate de que UFW esté habilitado y configurado para generar logs. Ejecuta en la terminal:

sudo ufw status

Si ves `logging: on`, UFW está generando logs. Si está desactivado, actívalo con:

sudo ufw logging on

Puedes ajustar el nivel de logging (`low`, `medium`, `high`):

sudo ufw logging medium

Paso 2: Encontrar el Archivo de Log

UFW suele almacenar sus logs en `/var/log/ufw.log`. Para verificarlo:

sudo ls /var/log/ufw.log

Si no existe, los eventos de UFW pueden estar en los logs del sistema, como `/var/log/syslog` o `/var/log/messages`. Usa `grep` para filtrar:

sudo grep UFW /var/log/syslog

Para ver los logs en tiempo real:

sudo tail -f /var/log/ufw.log

Paso 3: Revisar Logs Rotados

Los logs de UFW pueden rotarse (archivarse). Busca archivos comprimidos:

ls /var/log/ufw.log*

Para leer un log comprimido:

sudo zcat /var/log/ufw.log.1.gz

Paso 4: Configuración del Logging

Si no ves logs, verifica la configuración en `/etc/ufw/ufw.conf`:

sudo cat /etc/ufw/ufw.conf

Busca la línea `LOGLEVEL`. Asegúrate de que no esté en `off`. Por ejemplo:

LOGLEVEL=medium

Análisis de los Logs de UFW

Formato de una Entrada de Log

Los logs de UFW tienen un formato estándar. Aquí tienes un ejemplo:

May 29 19:33:45 laptop kernel: [UFW BLOCK] IN=eth0 OUT= MAC=00:15:5d:01:23:45 SRC=192.168.1.100 DST=192.168.1.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=12345 PROTO=TCP SPT=12345 DPT=80
  • Fecha y hora: `May 29 19:33:45`
  • Host: `laptop`
  • Acción: `[UFW BLOCK]` (indica que el tráfico fue bloqueado; otras opciones incluyen `[UFW ALLOW]`)
  • Interfaz: `IN=eth0` (interfaz de entrada)
  • Direcciones IP: `SRC=192.168.1.100` (origen), `DST=192.168.1.101` (destino)
  • Protocolo y puertos: `PROTO=TCP SPT=12345 DPT=80` (protocolo TCP, puerto origen 12345, puerto destino 80)
  • Otros detalles: `LEN`, `TOS`, `TTL`, etc., describen características del paquete.

Herramientas para Análisis

  1. Grep para filtrar eventos específicos:
    • Bloqueos de una IP específica:

      sudo grep "SRC=192.168.1.100" /var/log/ufw.log
      
    • Tráfico en un puerto específico:

      sudo grep "DPT=22" /var/log/ufw.log
      
  2. Awk para extraer campos:
    • Extraer IPs de origen bloqueadas:

      sudo awk '/UFW BLOCK/ {print $13}' /var/log/ufw.log | sort | uniq
      
  3. Resumen con `wc` y `uniq`:
    • Contar eventos de bloqueo:

      sudo grep "UFW BLOCK" /var/log/ufw.log | wc -l
      

Ejemplo Práctico

Supongamos que quieres identificar intentos de acceso al puerto 22 (SSH). Ejecuta:

sudo grep "DPT=22" /var/log/ufw.log > ssh_attempts.log

Luego, analiza los intentos por IP:

awk '{print $13}' ssh_attempts.log | sort | uniq -c

Salida de ejemplo:

 5 SRC=192.168.1.100
10 SRC=203.0.113.50

Esto indica que la IP `203.0.113.50` intentó acceder 10 veces al puerto 22.

Resumen de Detalles Críticos

Los logs de UFW contienen información valiosa para la seguridad. Los detalles críticos a observar incluyen:

  • Acciones: Bloqueos (`UFW BLOCK`) o permisos (`UFW ALLOW`).
  • Direcciones IP: Identificar IPs sospechosas o repetitivas.
  • Puertos de destino: Puertos comunes como 22 (SSH), 80 (HTTP) o 443 (HTTPS) son objetivos frecuentes.
  • Protocolos: TCP, UDP, etc., para entender el tipo de tráfico.
  • Frecuencia: Intentos repetidos pueden indicar un ataque.

Tabla de Detalles Críticos en Formato `.org`

Aspecto Descripción Comando de Ejemplo Acción Recomendada
Acción del Firewall Indica si el tráfico fue bloqueado o permitido `grep "UFW BLOCK" /var/log/ufw.log` Investigar bloqueos frecuentes
IP de Origen (SRC) Dirección IP que envía el tráfico `awk 'UFW BLOCK {print $13}' /var/log/ufw.log sort uniq` Bloquear IPs sospechosas con UFW
Puerto de Destino (DPT) Puerto al que se dirige el tráfico `grep "DPT=22" /var/log/ufw.log` Monitorear puertos sensibles (22, 80, etc.)
Protocolo Tipo de protocolo (TCP, UDP, etc.) `grep "PROTO=TCP" /var/log/ufw.log` Identificar protocolos inusuales
Frecuencia Número de eventos por IP o puerto `grep "UFW BLOCK" /var/log/ufw.log wc -l` Configurar alertas para alta frecuencia

Consejos para Emacs con Esteroides

Si usas Emacs, puedes optimizar el análisis de logs:

  • Modo `org-mode`: Copia la tabla anterior en un archivo `.org` para organizarla.
  • Modo `shell`: Usa `M-x shell` para ejecutar comandos como `grep` o `awk` desde Emacs.
  • Dired: Navega por `/var/log/` con `C-x C-f /var/log/ufw.log` y usa `dired-mode` para abrir logs.
  • Tramp: Accede a logs en servidores remotos con `/ssh:user@host:/var/log/ufw.log`.

Conclusión

Analizar los logs de UFW te permite mantener tu sistema seguro y detectar problemas rápidamente. Con herramientas como `grep`, `awk` y Emacs, puedes filtrar, resumir y organizar la información de manera eficiente. Usa la tabla `.org` para mantener un registro claro de los detalles críticos y automatiza el monitoreo para ahorrar tiempo.

# Script para monitorear intentos al puerto 22 en tiempo real
sudo tail -f /var/log/ufw.log | grep "DPT=22"
Categoría: ufw firewall logs sysadmin ubuntu emacs org-mode

Suscribirse al Feed RSS | Mapa del Sitio

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

📊 Estadísticas Visit counter For Websites