¿Cómo puedo configurar /etc/syslog.conf
archivo para guardar información de registro sobre iptables
en un archivo específico.
Quiero guardar esta información por separado, para poder extraer lo que quiero fácil y rápidamente.
Respuesta aceptada:
registro del sistema
Eche un vistazo a la página man de iptables
. Muestra un objetivo llamado LOG
que puede hacer lo que quieras.
Ejemplo
-
Establecer el nivel de registro para
LOG
a 4.# DROP everything and Log it iptables -A INPUT -j LOG --log-level 4 iptables -A INPUT -j DROP
-
Configurar
syslog.conf
para escribir estos mensajes en un archivo separado.# /etc/syslog.conf kern.warning /var/log/iptables.log
-
Reinicie syslogd.
Debian/Ubuntu
$ sudo /etc/init.d/sysklogd restart
Fedora/CentOS/RHEL
$ sudo /etc/init.d/syslog restart
rsyslog
Si por casualidad estás usando rsyslog
, puede crear un filtro basado en propiedades así:
# /etc/rsyslog.conf
:msg, contains, "NETFILTER" /var/log/iptables.log
:msg, contains, "NETFILTER" ~
Luego agregue este interruptor a las reglas de iptables que desea registrar:
–log-prefix NETFILTER
Como alternativa, también podría registrar los mensajes utilizando este tipo de filtro de propiedad:
:msg, startswith, "iptables: " -/var/log/iptables.log
& ~
:msg, regex, "^[ *[0-9]*.[0-9]*] iptables: " -/var/log/iptables.log
& ~
iptables
.
Referencias
- Obligar a iptables a registrar mensajes en un archivo de registro diferente
- Registro de mensajes de iptables con rsyslog