TUTOS.EU

Logger l'ensemble du trafic bloqué par IpTables

Voir l'ensemble des paquets droppés par le firewall IpTables sous Linux

De base le trafic d'IpTables n'est pas consigné dans un log.
Pour que cela soit en place il faut explicitement le demander.
En général on configure IpTables pour qu'il bloque le trafic sauf règle contraire.

Pour notre besoin, l'opération consiste à placer une règle qui log le trafic après toutes les autres, soit celles qui autorisent les flux.
Cette règle ne concerne que le flux entrant.
Si ce trafic apparaît dans le log, c'est donc qu'il a été supprimé.
Notez que l'on va préfixer les lignes avec 'iptables:' afin de facilement les retrouver parmi les autres.

Tapez cette commande :

iptables -A INPUT -j LOG --log-prefix 'iptables:' -m limit --limit 2/min
Lien vers le fichier : cliquez ici Copier le code

En addition, si vous voulez filtrer sur un sous-réseau particulier, comme 192.168.1.0/24, et analyser uniquement la table des transferts, vous pouvez taper

iptables -A FORWARD -s 192.168.1.0/24 -j LOG --log-prefix 'iptables:' -m limit --limit 2/min
Lien vers le fichier : cliquez ici Copier le code

On va maintenant regarder la table des règles de blocage en entrée.
Pour cela tapez :

iptables -L INPUT --line-numbers -v
Lien vers le fichier : cliquez ici Copier le code

On voit ici que la règle a bien été ajoutée après toutes les autres et qu'elle est ici en ligne numéro 10 :

Attention le fait de logger tout le traffic bloqué peut générer une surcharge du CPU et ralentir fortement votre machine :

Suite à cela pour voir les logs en temps réel, tapez :

tail -f /var/log/syslog | grep -i -n "iptables:"
Lien vers le fichier : cliquez ici Copier le code

Si vous voulez supprimer la règle que vous venez de taper, il faut le numéro de la ligne où cette règle se situe. Dans l'exemple précédent la règle étant en ligne 10, on va donc taper ceci pour la supprimer :

iptables -D INPUT 10
Lien vers le fichier : cliquez ici Copier le code

Si vous voulez absolument tout logger, que cela soit droppé ou non, placé en tête de liste une règle qui log tout. Exemple

iptables -I INPUT -j LOG --log-prefix 'iptables:'
Lien vers le fichier : cliquez ici Copier le code

Pour la supprimer du coup c'est simple, c'est forcément la première règle

iptables -D INPUT 1
Lien vers le fichier : cliquez ici Copier le code

2