Warum protokollieren meine Iptables nicht?

Warum protokollieren meine Iptables nicht?

Ich habe einen Linux-Server, auf dem Ubuntu 16.04 läuft. Heute habe ich PSAD installiert, ein Intrusion Detection System.

PSAD funktioniert, indem es die Protokolldateien von iptables analysiert. Bevor Sie PSAD verwenden, müssen Sie also zunächst die Protokollierung von iptables aktivieren.

sudo iptables -A INPUT -j LOG
sudo iptables -A FORWARD -j LOG

Ich habe einen Portscan ausgeführt und anschließend den PSAD-Status aufgerufen. Es sollte angezeigt werden, dass ein Portscan stattgefunden hat, aber es wurde nichts angezeigt. Nur, dass noch kein Portscan stattgefunden hat.

Nach einiger Zeit wurde mir klar, dass iptables nicht loggt. Keine Logdatei enthält iptables-Logs. Ich habe nachgeschaut

  • /var/log/messages, wo sie standardmäßig sein sollten, aber die Datei ist leer
  • /var/log/kern.log
  • /var/log/syslog

Da ist nichts. Vielleicht ist es erwähnenswert, dass ich UFW verwende. Ich folgte einemTutorial zu PSAD und UFW, aber es passiert immer noch nichts. Auch in den neuen Dateien, die im Tutorial erstellt wurden, gibt es keine Protokolle.

Was kann das sein? Ich habe den Server nicht selbst eingerichtet. Die wichtigsten Sicherungen wurden vor mir vorgenommen. Vielleicht wurden auch schon Pakete entfernt. Wäre super, wenn ihr mir helfen könntet, der Server muss ja gesichert sein.

Antwort1

Regeln in IP-Tabellen werden von oben nach unten angewendet.

Immer wenn eine Regel auf ein Paket zutrifft, wird es gemäß der Regel behandelt und (sofern nicht anders konfiguriert) aus der Regelkette verlassen.

Dies bedeutet, dass Ihre LOG-Regel, wenn sie unter anderen Regeln platziert wird, nur auf Pakete angewendet wird, die von den Regeln zuvor NICHT behandelt wurden.

Wenn Sie stattdessen jedes Paket LOGGEN möchten, platzieren Sie die LOG-Regel oben in der entsprechenden Regelkette.


Übrigens: Das Standard-Logfile für iptables befindet sich in/var/log/kern.log

Antwort2

Wahrscheinlich ist die Kernelprotokollierung in (r)syslog deaktiviert. Fügen Sie dies in die Datei /etc/rsyslog.conf ein: kern.warn /var/log/firewall.logund laden Sie Syslog neu.

Erstellen Sie anschließend eine Regel wie:iptables -A -p tcp --dport 22 -j LOG --log-prefix " ALERT " --log-level=warning

Und scannen Sie Ihren SSH-Port.

Antwort3

Entfernen Sie die Kommentarzeichen aus der Zeile /etc/rsyslog.conf:

module(load="imklog") # provides kernel logging support

Dann renne

service rsyslog restart

Überprüfen Sie das Protokoll mit

tail -f /var/log/syslog

ODER:

date; stat /var/log/syslog

verwandte Informationen