Registrare i log di Iptables in MySQL: differenze tra le versioni

Riga 49: Riga 49:
</pre>
</pre>
Tradotta in italiano la regola suona più o meno così: prendi tutto quello che proviene dalla LAN di classe C 192.168.1.0/24 e che esce dall’interfaccia eth0 verso Internet - e che quindi viene nattato -, e registralo su MySQL.
Tradotta in italiano la regola suona più o meno così: prendi tutto quello che proviene dalla LAN di classe C 192.168.1.0/24 e che esce dall’interfaccia eth0 verso Internet - e che quindi viene nattato -, e registralo su MySQL.
<br/><br/>
Un utilizzo leggermente più complesso potrebbe essere quello di richiedere al kernel di registrare tutti i pacchetti destinati per esempio all'indirizzo 8.8.8.8 (il server DNS di Google):
<pre>
# iptables -I OUTPUT -d 8.8.8.8 -j ULOG –ulog-nlgroup 1 –ulog-cprange 20
</pre>
Con questa regola di <code>iptables</code> sono state usati due parametri nuovi:
* <code>nlgroup</code> è il parametro del kernel che permette di specificare il  <code>netlink group</code>. Usando differenti valori di <code>nlgroup numbers</code> possiamo avviare più di una istanza di <code>ulogd</code>, ciascuna in ascolto su un differente <code>netlink group</code>;
* <code>cprange</code> specifica quanti bytes catturare di ciascun pacchetto, in modo simile al parametro <code>snap length (-s)</code> di <code>tcpdump</code>. Anziché catturare l’intero pacchetto possiamo catturarne solo i primi 20 bytes.
Ora provochiamo la registrazione di un evento, effettuando ad esempio un ping verso l’host prescelto:
<pre>
# ping -c 5 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
— 8.8.8.8 ping statistics —
5 packets transmitted, 100% received, 0 packet loss, time 3999ms
</pre>
Nel nostro database MySQL <code>ulogd</code> dovrebbero essere state registrate delle nuove entry.