Protokollierung aller Aktivitäten mit iptables

IptablesStandardmäßig hat es die Filterregel im Modus "Alle akzeptieren", dh es lässt alle Verbindungen von oder zu unserem PC ein und aus, aber was ist, wenn wir alle Informationen über Verbindungen zu unseren Servern oder PCs protokollieren möchten?

Hinweis: Die Prozedur, die ich jetzt ausführen werde, ist in Distributionen zu 100% gültig Debian/Debian-basiert, also wenn Sie verwenden Slackware, Fedora, CentOS, OpenSuSeDa das Verfahren möglicherweise nicht dasselbe ist, empfehlen wir, das Anmeldesystem Ihrer Distribution zu lesen und zu verstehen, bevor Sie die unten erläuterten Informationen anwenden. Es besteht auch die Möglichkeit, rsyslog in Ihrer Distribution zu installieren, sofern es in den Repositorys verfügbar ist. In diesem Lernprogramm wird Syslog jedoch auch am Ende erläutert.

Alles soweit gut, aber wasWo werden wir uns anmelden?? Einfach, in der Datei «/var/log/firewall/iptables.log", was existiert nicht, bis wir es selbst glauben ...

1- Wir müssen die Datei erstellen «iptables.log»Im Ordner«/ var / log / firewall»Dass wir es schaffen müssen, weil es auch nicht existiert.

mkdir -p / var / log / firewall /
Berühren Sie /var/log/firewall/iptables.log

2- Berechtigungen, sehr wichtig ...

chmod 600 /var/log/firewall/iptables.log
chown root: adm /var/log/firewall/iptables.log

3- rsyslog, der Debian-Anmeldedämon, liest die Konfiguration von «/etc/rsyslog.d«, Also müssen wir eine Datei erstellen, die ich aufrufen werde«Firewall.conf»Aus welchem ​​rsyslog kann interpretiert werden, was wir tun wollen.

Berühren Sie /etc/rsyslog.d/firewall.conf

Und drinnen verlassen wir ihn Caer vorsichtig den folgenden Inhalt:

: msg, enthält "iptables:" - / var / log / firewall / iptables.log
& ~

Ich habe nicht die geringste Ahnung,Was machen diese paar Zeilen??

Die erste Zeile überprüft die protokollierten Daten auf die Zeichenfolge «iptables: »Und fügt es der Datei hinzu«/var/log/firewall/iptables.log«

Die zweite Option stoppt die Verarbeitung der mit dem vorherigen Muster protokollierten Informationen, sodass sie nicht weiter an «gesendet werden/ var / log / Nachrichten«.

4- Drehen der Protokolldatei mit Logrotat.

Wir müssen innerhalb schaffen «/etc/logrotate.d/" die Datei "Firewall»Welche enthält den folgenden Inhalt:

/var/log/firewall/iptables.log
{
drehen 7
Unterricht
Größe 10M
Datumsangabe
missingok
Erstellen Sie 600 root adm
notifempty
komprimieren
verzögernkomprimieren
nachdrehen
invoke-rc.d rsyslog reload> / dev / null
Endschrift
}

Um die Protokolle 7 Mal zu drehen, bevor sie gelöscht werden, 1 Mal am Tag, maximale Protokollgröße 10 MB, komprimiert, datiert, ohne Fehler zu geben, wenn das Protokoll nicht vorhanden ist, als Root erstellt.

5- Starten Sie den rsyslog-Daemon wie alle Happy-End-xD neu:

/etc/init.d/rsyslog Neustart

Wie kann man beweisen, dass alles funktioniert?

Versuchen wir es mit SSH.

installieren OpenSSH (falls sie es nicht installiert haben ...):

apt-get installieren openssh-server

Bevor wir fortfahren, müssen wir als root in einer Konsole ausgeführt werden:

iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4

Wenn Sie diese iptables-Anweisung ausführen, werden genügend Informationen protokolliert, um zu zeigen, dass das, was wir getan haben, nicht umsonst ist. In dieser Anweisung weisen wir iptables an, alle Informationen zu protokollieren, die über Port 22 erreicht werden. Um mit anderen Diensten zu testen, ändern Sie einfach die Portnummer, z. B. 3306 für MySQL, um nur ein Beispiel zu nennen, wenn Sie weitere Informationen wünschen. Lesen Sie dieses sehr gut dokumentierte Tutorial und basierend auf typischen Beispielen der am häufigsten verwendeten Konfigurationen.

SSH verwendet standardmäßig Port 22, daher werden wir damit testen. Nachdem wir openssh installiert haben, verbinden wir uns damit.

ssh pepe @ test-server

Um die Protokolle anzuzeigen, lösen Sie dieses Problem mit einem Schwanz:

tail -f /var/log/firewall/iptables.log

In diesem Beispiel protokollieren Iptables alles, Tag, Uhrzeit, IP, Mac usw., wodurch es sich hervorragend zur Überwachung unserer Server eignet. Eine kleine Hilfe, die nie weh tut.

Wenn wir nun beachten, dass wir, wie ich zu Beginn sagte, eine andere Distribution verwenden, wird diese im Allgemeinen verwendet rsyslog, oder etwas ähnliches. Wenn Ihre Distribution verwendet syslogUm dieselbe Übung durchzuführen, müssen wir sie leicht bearbeiten / modifizieren syslog.conf

nano /etc/syslog.conf

Fügen Sie die folgende Zeile hinzu und speichern Sie sie:

kern.warning /var/log/firewall/iptables.log

Und dann das Happy End:

/etc/init.d/sysklogd Neustart

Ergebnis: das gleiche.

Das ist alles für jetzt, in zukünftigen Beiträgen werden wir weiter mit iptables spielen.

Referenzen:

Erzwingen Sie, dass iptables sich in einer anderen Datei anmeldet

Protokollieren Sie iptables mit rsyslog in einer separaten Datei

Iptables-Konfigurations-Tutorial für Fedora / RHEL-Systeme


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   FerreryGuardia sagte

    Großartig dieses «Mini-Handbuch» für BOFH, das Sie nach und nach machen

  2.   koratsuki sagte

    Vielen Dank, nach und nach werde ich Details und Daten von iptables geben, die ich aus meiner Arbeit wissen musste, die wir manchmal brauchen und die im Internet sehr schlecht erklärt werden, alles vom Benutzer ... xD

    1.    KZKG ^ Gaara sagte

      Ich nutze diese Gelegenheit, um Sie als Mitglied willkommen zu heißen
      Sie haben wirklich VIEL beizutragen, Sie haben wirklich fortgeschrittene Kenntnisse über Netzwerke, Systeme, Firewalls usw., also werde ich (ich bin) einer der vielen Leser sein, die Sie haben werden, hahaha.

      Grüße und na ja ... weißt du, was auch immer es braucht 😀

    2.    ist sagte

      Ich freue mich auf diese Artikel ^^

  3.   Hugo sagte

    Komm schon Koratsuki, ich wusste nicht, dass du diesen Blog besucht hast.

    Übrigens verwendet eine andere Variante der Protokollierung der Firewall-Aktivität das Paket ulogd, das von den Mitarbeitern des Netfilter-Projekts erstellt wurde, um die Trennung dieser Art von Spuren zu erleichtern (ermöglicht es, sie auf unterschiedliche Weise zu speichern). Es ist der Ansatz, den ich normalerweise benutze. Die Verwendung ist einfach, zum Beispiel:

    iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"

  4.   koratsuki sagte

    Ich muss dem Beitrag eine F5 geben, die Arbeitsweise von Ulogd passt zu mir, sogar MySQL protokolliert den Typ: D.

  5.   MSX sagte

    Gute Post, weiter so.

  6.   Chinoloco sagte

    Hallo Chef, wie geht es dir?
    Könnten Sie mir helfen?
    Da ich das Tutorial nicht bekomme und es klarer als Wasser ist, weiß ich nicht, wo ich falsch liege