Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

Registro de Actividad de IPTables en Linux

Loading

Con iptables puedes registrar la actividad de red en un archivo de log, lo que permite monitorear los datos que se envían y desde dónde se originan. Aquí tienes un ejemplo de cómo hacerlo:

sudo iptables -t filter -A FORWARD -s 192.168.1.0/24 -m tcp -p tcp --dport 443 -j LOG --log-prefix "Iptables: "

En este comando, la regla captura el tráfico de la red local (192.168.1.0/24) en el puerto 443 y lo registra con el prefijo "Iptables: ".

Para que estos registros no se mezclen con otros en rsyslog, crearemos un archivo de configuración específico:

sudo nano /etc/rsyslog.d/10-iptables.conf

Luego, añade las siguientes líneas al archivo:

:msg, contains, "Iptables: " -/var/log/iptables.log
& ~

o este:

:msg, contains, "Iptables: " -/var/log/iptables.log
&
stop

Estas líneas indican que los mensajes que contienen "Iptables:" se almacenarán en el archivo /var/log/iptables.log.

Aplicar los cambios

Para que la configuración tenga efecto, reinicia rsyslog con el siguiente comando:

sudo systemctl restart rsyslog

Ahora, los registros de la actividad de red especificada se guardarán en /var/log/iptables.log.

Configuración de Logrotate para el Registro de IPTables

Logrotate se utiliza para gestionar archivos de registro de gran tamaño en Linux, permitiendo rotarlos, comprimirlos y eliminarlos automáticamente en función de políticas personalizables. Para los registros de IPTables, configuraremos logrotate para rotar el archivo /var/log/iptables.log.

  1. Crear la Configuración de Logrotate:

    Abre un nuevo archivo de configuración para los registros de IPTables en el directorio de configuración de logrotate:

    sudo nano /etc/logrotate.d/iptables
  2. Añadir las Opciones de Configuración:

    Dentro de este archivo, configura logrotate con opciones específicas. Aquí tienes un ejemplo de configuración básica:

    /var/log/iptables.log {
    daily # Rotar el archivo diariamente
    missingok # Ignorar el archivo si no existe
    rotate 7 # Mantener los últimos 7 archivos de registro
    compress # Comprimir los registros antiguos
    delaycompress # Retrasar la compresión hasta que pase un ciclo
    notifempty # No rotar el archivo si está vacío
    create 0640 root adm # Crear el nuevo archivo con permisos y propietario específicos
    postrotate
    /usr/bin/systemctl reload rsyslog > /dev/null 2>&1 || true
    endscript
    }

    Explicación de cada parámetro:
    • daily: rota el archivo cada día.
    • missingok: si el archivo no existe, logrotate continuará sin generar errores.
    • rotate 7: conserva los últimos 7 archivos de registro; los registros más antiguos se eliminan.
    • compress: comprime los archivos de registro antiguos (utilizando gzip por defecto).
    • delaycompress: evita la compresión del archivo de registro más reciente, permitiendo que se comprima en el siguiente ciclo.
    • notifempty: evita rotar archivos vacíos.
    • create 0640 root adm: crea el archivo de registro nuevo con permisos de lectura y escritura para el propietario (root) y solo lectura para el grupo (adm).
    • postrotate: después de cada rotación, reinicia el servicio rsyslog para aplicar cambios en la configuración del archivo de registro.
  3. Guardar y Salir:

    Guarda el archivo y cierra el editor. Esta configuración ahora se aplicará automáticamente cada día (o según el ciclo de rotación especificado).
  4. Probar la Configuración:

    Puedes probar la configuración de logrotate para asegurarte de que funcione correctamente con el siguiente comando:

    sudo logrotate -f /etc/logrotate.d/iptables

    Esto forzará una rotación del archivo /var/log/iptables.log, permitiéndote comprobar que se crea un archivo comprimido con el log actual y uno nuevo vacío.
  5. Verificar la Configuración de Logrotate:

    Para confirmar que logrotate está configurado correctamente y se ejecuta según lo previsto, revisa los archivos en el directorio /var/log para ver los archivos comprimidos (por ejemplo, iptables.log.1.gz, iptables.log.2.gz, etc.).

Con estos pasos, tendrás configurado logrotate para gestionar automáticamente los registros de IPTables y evitar que crezcan sin control, preservando el espacio en disco y manteniendo un historial reciente de la actividad de red.

You may also like...