Où puis-je trouver le fichier journal iptables et comment puis-je changer son emplacement?

48

J'ai cette règle dans mes iptables:

iptables -AINPUT -s 192.168.11.0/24 -j LOG

Ma question est:

Où se trouve le fichier journal iptables et comment puis-je le modifier?

pylover
la source

Réponses:

62

Ces journaux sont générés par le noyau, alors ils vont dans le fichier qui reçoit les journaux du noyau: /var/log/kern.log.

Si vous souhaitez rediriger ces journaux vers un autre fichier, vous ne pouvez pas utiliser iptables. Cela peut être fait dans la configuration du programme qui distribue les journaux: rsyslog. Dans la règle iptables, ajoutez un préfixe qui n'est utilisé par aucun autre journal du noyau:

iptables -A INPUT -s 192.168.11.0/24 -j LOG --log-prefix='[netfilter] '

En suivant l’exemple donné par 20-ufw.conf, créez un fichier sous /etc/rsyslog.d/my_iptables.confcontenant

:msg,contains,"[netfilter] " /var/log/iptables.log
Gilles, arrête de faire le mal
la source
je n'ai pas installé ufw, donc je ne trouve pas les journaux dans syslog, kern.log ou iptables.log
pylover
3
@ pylover UFW n'était qu'un exemple. Je sais que vous n'avez pas iptables.log, le but de ma réponse est de vous montrer comment le créer. Cela n’est peut-être pas le /var/log/kern.logcas si vous utilisez une version différente d’Ubuntu (je pense que les versions récentes n’utilisent plus ce fichier et ne mettent plus les journaux du noyau à la /var/log/syslogplace), mais cela n’a pas d’importance. Oh, mais si vous utilisez une ancienne version d'Ubuntu, vous devrez peut-être installer le rsyslogpaquet.
Gilles, arrête de faire le mal
Pour que cela fonctionne le 12.10, je devais ajuster le fichier rsyslog.d de manière à ce qu'il contienne le caractère supplémentaire suivant: ": msg, contient," [netfilter] "- / var / log / iptables.log"
Daniel
2
une dernière chose, je devais nommer le fichier comme 00-my_iptables.conf, sinon iptables se connectait toujours à kern.log
Valentin Kantor le
2
Peut-être que vous pourriez aussi mentionner la & stopcommande. De cette façon, vous évitez les doublons dans le kern.logfichier, qui pourraient vous empêcher de voir d’autres journaux importants du noyau.
Alexis Wilke
12

Je sais que c'est beaucoup trop tard et la réponse est déjà marquée comme acceptée. J'ai juste un morceau de nouvelle information à donner.

Le fichier journal de l' LOGaction est disponible sur /var/log/syslog(Ubuntu et systèmes d'exploitation similaires) ou /var/log/messages(CentOS et systèmes d'exploitation similaires).

joker
la source
5

Si vous avez des difficultés à trouver le bon fichier, essayez comme ceci:

find /var/log -mmin 1

Ceci trouvera n'importe quel fichier modifié dans la dernière minute à l'intérieur de /var/loget en dessous. Vous découvrirez peut-être que la -j LOGmise à jour peut ne pas concerner qu'un seul fichier.

Par exemple, sur Ubuntu 18, la /var/log/kern.loget /var/log/syslogsont impactés par la journalisation Netfilter.

prosti
la source