Far loggare iptables su MySQL
NOTA: qualcosa non mi torna, non si comporta come pensavo o come speravo quindi come sempre lascio lo scritto principalmente per fini didattici ma mi sa che devo approfondire poi meglio l’argomento.
Articolo che spiega come far loggare iptables su MySQL
http://ideafactory.it/debian/iptables-ed-ulogd-logging-avanzato-su-mysql.html
Riporto i passaggi:
Il programma che si occupa di questo si chiama ulogd e basta installarlo assieme al plugin MySQL con il comando
[bash]sudo apt-get install ulogd ulogd-mysql[/bash]
Dopo che tramite shell o tramite strumenti quali Webmin o phpMyAdmin ( giusto per citarne un paio ) abbiamo creato il database che dovrà essere utilizzato procediamo a caricarne la struttura
[bash]mysql -u nome_utente -p nome_database < /usr/share/doc/ulogd-mysql/mysql.table[/bash]
Ora configuriamo ulogd
[bash]sudo nano /etc/ulogd.conf[/bash]
Nella sezione PLUGIN decommentiamo quello relativo a MySQL
[plain]plugin="/usr/lib/ulogd/ulogd_MYSQL.so"[/plain]
E sotto andiamo a impostare i nostri dati di accesso al database
[plain]
[MYSQL]
table="ulog"
pass="password"
user="nome_utente"
db="nome_database"
host="localhost"
[/plain]
Riavviamo il servizio
[bash]sudo /etc/init.d/ulogd restart[/bash]
Ora basta aggiungere una regola a iptables in maniera che mandi i log su ulogd
[bash]sudo iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o eth1 -j ULOG[/bash]
Ovvero logga tutto quello che arriva dalla mia LAN ( 192.168.1.* ) e che esce dall’interfaccia WAN ( eth1 )
Riporto anche un altra fonte con altri dettagli sull’argomento
http://www.slacky.eu/wikislack/index.php?title=Ulog_e_Iptables
Altri riportano anche un interfaccia che facilita la lettura dei log ( ma io non l’ho provata )