Kann die Protokollierung in FirewallD aktiviert werden?


10

Ich verwende Fedora 20 und möchte sehen, was meine Firewall im Hintergrund tut. Ist es möglich, ein Protokoll des von FirewallD blockierten Datenverkehrs anzuzeigen?

Antworten:


7

Laut dieser Seite befinden sich die FirewallD-Protokolle unter /var/log/firewalld. Um Debug-Meldungen zu erhalten, müssen Sie diese mit --debugoder ausführen --debug=2.


12

Ich weiß, dass dies ein veralteter Beitrag ist, aber ich habe heute danach gesucht und Tonnen alter Blogs gefunden, die versuchen, dieses Problem zu beheben. Für die Öffentlichkeit sollte dieses Update von Red Hat mehr als nur für Abonnenten verfügbar sein:

Aktualisieren Sie von Errata RHSA-2016: 2597 auf firewalld-0.4.3.2-8.el7

Geben Sie an, welche Pakete protokolliert werden sollen

firewall-cmd --set-log-denied=<value>

Der Wert kann einer von allen sein: Unicast, Broadcast, Multicast oder Off

Quelle: https://access.redhat.com/solutions/1191593


3
Dies kann auch manuell eingestellt werden in/etc/firewalld/firewalld.conf
Stuart Cardall

5

Für die Protokollierung des durch blockierten Datenverkehrs firewalldhat der folgende Ansatz bei rsyslogdmir funktioniert:

Bearbeiten /etc/sysconfig/firewalldund aktualisieren Sie den Wert für LogDeniedto all(oder nach Bedarf).

LogDenied=all

starte firewalld neu

sudo systemctl restart firewalld

Dadurch werden normalerweise Protokollierungsregeln unmittelbar vor dem Ablehnen / Löschen von Regeln in der Firewall hinzugefügt.

LOG  all  --  anywhere   anywhere  LOG level warning prefix "IN_drop_DROP: "
LOG  all  --  anywhere   anywhere  LOG level warning prefix "FINAL_REJECT: "

Erstellen Sie eine Datei mit dem Namen /etc/rsyslog.d/custom_iptables.conf(Note-Erweiterung is.conf) und fügen Sie die folgenden Anweisungen hinzu:

:msg,contains,"_DROP" /var/log/iptables.log
:msg,contains,"_REJECT" /var/log/iptables.log
& stop

Starten Sie rsyslog neu

sudo systemctl restart rsyslog   

Jetzt werden die verworfenen und abgelehnten Pakete protokolliert /var/log/iptables.log


⁺¹, ich bestätige, dass abgelehnte Einträge in angezeigt werden journalctl -f. FWIW, zunächst basierend auf der anderen Antwort, habe ich nur den Teil LogDenied = all ausgeführt, aber es war nicht genug.
Hi-Angel

1
Da firewalld heutzutage standardmäßig keine iptables verwendet, kann ich empfehlen, _iptables.conf→ umzubenennen _firewalld.conf, um Verwirrung zu vermeiden?
Hi-Angel

Ok, ich mache dies nur auf dem anderen PC mit dieser Antwort und habe eine erwähnenswerte Diskrepanz festgestellt: Ich habe kein /etc/sysconfigVerzeichnis, stattdessen bearbeite ich die /etc/firewalld/firewalld.confDatei. Ich habe es nicht bemerkt, als ich diese Antwort das letzte Mal verwendet habe, weil LogDenied=allich Schritt für Schritt die andere Antwort verwendet habe.
Hi-Angel

4

Sie müssen die Zeile anhängen, /etc/sysconfig/firewalld
um maximale Details zu erhalten:

FIREWALLD_ARGS=--debug=10

Starten Sie dann den firewalldDienst neu

sudo systemctl restart firewalld

Es ist besser als zu bearbeiten /usr/lib/systemd/system/firewalld.service.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.