Wie kann ich /etc/syslog.conf konfigurieren Datei, um Protokollinformationen über iptables zu speichern in einer bestimmten Datei.
Ich möchte diese Informationen separat speichern, damit ich das Gewünschte einfach und schnell extrahieren kann.
Akzeptierte Antwort:
syslog
Werfen Sie einen Blick in die Manpage für iptables . Es zeigt ein Ziel namens LOG der kann, was du willst.
Beispiel
-
Legen Sie die Protokollierungsstufe für
LOGfest bis 4.# DROP everything and Log it iptables -A INPUT -j LOG --log-level 4 iptables -A INPUT -j DROP -
Konfigurieren Sie
syslog.confum diese Nachrichten in eine separate Datei zu schreiben.# /etc/syslog.conf kern.warning /var/log/iptables.log -
Starten Sie syslogd neu.
Debian/Ubuntu
$ sudo /etc/init.d/sysklogd restartFedora/CentOS/RHEL
$ sudo /etc/init.d/syslog restart
HINWEIS: Diese Protokollierungsmethode wird als feste Priorität bezeichnet. Sie sind entweder Zahlen oder Namen (1,2,3,4,..) oder (DEBUG, WARN, INFO, etc.).
rsyslog
Wenn Sie zufällig rsyslog verwenden , können Sie einen eigenschaftsbasierten Filter wie folgt erstellen:
# /etc/rsyslog.conf
:msg, contains, "NETFILTER" /var/log/iptables.log
:msg, contains, "NETFILTER" ~
Fügen Sie dann diesen Schalter zu Ihren iptables-Regeln hinzu, die Sie protokollieren möchten:
–log-prefix NETFILTER
Alternativ können Sie die Meldungen auch mit diesem Eigenschaftsfilter protokollieren:
:msg, startswith, "iptables: " -/var/log/iptables.log
& ~
:msg, regex, "^[ *[0-9]*.[0-9]*] iptables: " -/var/log/iptables.log
& ~
HINWEIS: Diese zweite Methode erfordert keine Änderungen an iptables .
Referenzen
- Zwingen Sie iptables, Nachrichten in einer anderen Protokolldatei zu protokollieren
- IPtables-Meldungen mit rsyslog protokollieren