fail2ban per iptables - Verständnisfrage

  • Thread starter Thread starter Deleted member 14254
  • Start date Start date
D

Deleted member 14254

Guest
Hallo liebes Forum,

Ich habe mir gestern einiges über die IPTables durchgelesen und stehe an einer Stelle etwas im Trockenen:

Habe nach dieser HowTo vor kurzer Zeit fail2ban installiert, welches iptables nutzt:

Code:
http://en.gentoo-wiki.com/wiki/Fail2ban

Wenn man aber nun dies:

Code:
http://en.gentoo-wiki.com/wiki/Iptables

ebenfalls berücksichtigt, kommen mir an einer Stelle Widersprüche:

Meine erste, ganz banale Frage ist daher:

Im obigen, ersten HowTo steht beschrieben, wie fail2ban über ip-tables blockt. Im anderen HowTo, direkt über die iptables steht, das sie selbst wie ein Programm/Anwendung gestartet sein müssen. Nur frage ich mich dabei: wie fail2ban sie nutzen kann, wenn dort nichts darüber beschrieben steht, das man sie starten muss, aber dennoch damit arbeiten kann. OK, vielleicht ists eine duselige Frage :o , aber ich bin mir da unsicher. Ich möchte es nur gerne vernünftig und richtig machen.

Dann ist die Frage:

fail2ban ist ein Sicherheitswerkzeug, das böswillige Zugriffe per iptables, bzw. HostsDeny blockt. Nach der Anleitung von iptables gewinnt man aber auch den Eindruck, das IP-Tables sehr gut ohne fail2ban "könnte". Es verkörpert eine sehr gute Firewall.

Meine Gedanken dazu sind die Folgenden:

IP-Tables könnten alleine ebenfalls schützen.

Also nach Methode:

-Alles ist verboten was nicht explizit erlaubt ist-

würde nicht weiter konfiguriert, erstmal ALLES blocken.

-Alles ist erlaubt, was nicht explizit verboten ist- -(die Standardeinstellung)-

...besagt, es müssten Verbotsregeln erstellt werden. Bis dahin merkt man erstmal von der "Firewall" sehr wenig. And DIESER Stelle tritt dann f2b in Kraft. Von den IP-Tables her ist erstmal alles gestattet, doch f2b analysiert das Verhalten der Zugriffe und entscheidet anhand der aktivierten Jails, WAS zu tun ist und erkennt aus der f2b.conf bzw. f2b.local, wann er reagieren muss...(max retry:$Versuche - beispielsweise))

Trotzdem versteh ich mal absolut nicht, das im f2b-HowTo absolut nichts davon steht, das iptables selbst laufen müssen... also als Prozess...
Reicht es in diesem Moment, das f2b läuft und dennoch iptables-Regeln folgen kann?! :confused::o
 
Last edited by a moderator:
Du hast es richtig erkannt: iptables ist eine vollständige Firewall.
Allerdings eine, die ausschließlich mit Regeln arbeitet, die es von irgendeinem Programm/User gesagt bekommt.
I.d.R. sind iptables bereits im Kernel enthalten und müssen nicht extra gestartet werden. Das Consolen-Programm "iptables" dient lediglich der Konfiguration der Regeln.

Fail2Ban nutzt dies entsprechend aus. Es prüft die Logfiles auf Einträge die einen Einbruchsversuch darstellen könnten, nimmt die IP von der es aus ging und speist dann iptables mit der IP und dem angegriffenen Port.

Kurz:
Iptables ist eine statische Firewall.
Fail2Ban ist ein Logfile-Analyser, der bei entsprechenden Events Firewall-Regeln aufstellt. (Und auch selbstständig wieder löscht.)

huschi.
 
Kannst Du Dein OT bitte woanders verteilen und mich einem Rookie helfen lassen? Danke!

PS: Ließ Dir mal vorher die Links selber durch. Denn die negieren Deine Aussage.
PPS: <Moderation>Das Thema ist "Fail2ban & Iptables". Wer unbedint über "Iptables vs. Firewalls" diskutieren will, darf gene einen eigenen Thread auf machen.</Moderation>

huschi.
 
Hallo Huschi und Joe User :)

Streitet Euch doch jetzt net noch wegen diesem "kleinen Detail".

Erstmal: Vielen Dank an Euch Beide, das Ihr Euch meiner Frage angenommen habt!

Zum Thema: Verstanden hab ich das schon, also, das "das Programm" - also "Consolenprogramm" iptables den Netfilter im Kernel steuert. Dies hatte ich auf dieser gentoo-relevanten Seite auch so entnommen.

Verwirrt bin ich nur wegen der erwähnten Notwendigkeit in der gentoo-iptables-HowTo:

To save/restore your iptables rules each time you shutdown and reboot, use:
Code:
/etc/init.d/iptables save
Code:
rc-update add iptables boot

Dort steht halt, das sie gestartet sein müssen...

EDIT: Ich glaub, ich habs mir grad selbst erklärt: Es geht nicht darum, das Consolenprogramm zu starten, sondern darum, das es die festgelegten chains/rules bei Systemstart wieder läd. Würde auch erklären, das deshalb im f2b-HowTo lediglich f2b selbst Runlevel-added wird, nicht aber iptables: In diesem Fall wendet der f2b (wenn er Notwendigkeit für eine Regelaufstellung sieht -> Angriff erkannt im Logfile) seine Regeln über IP-Tables selbst an. Dieser befindet sich ja im Runlevel.

Huschi said:
Allerdings eine, die ausschließlich mit Regeln arbeitet, die es von irgendeinem Programm/User gesagt bekommt.

Korrekt?

Danke nochmals!
 
Last edited by a moderator:
Ich halte von der save/restore-Methode nicht ganz so viel:
1. Es werden alles Regeln gesichert und wieder hergestellt, u.U. also auch solche, mit denen du dich selbst ausgesperrt hast
2. Es werden ggfl. auch die Regeln von fail2ban mit gesichert, d.h. Sperrungen von fail2ban würden dadurch nicht automatisch wieder aufgelöst.
3. Die restore-Methode muß als erstes laufen, bevor irgendein anderes Programm iptables-Regeln definiert, denn sonst werden diese überschrieben.

Außerdem solltest du dir die Frage stellen, ob du überhaupt Regeln definieren mußt. Ein Port, an dem kein Dienst lauscht, braucht auch nicht durch eine Firewall geschlossen zu werden, denn er ist ja bereits zu.
 
Das Script unter /etc/init.d/iptables scheint wohl ein Gentoo eigenes Script zu sein. Also blenden wir das hier mal kurz aus.

Die Firewall als Netfilter wird mit dem Kernel bereits gestartet. Braucht also keine Startscript wie andere Dämonen. Allerdings steht sie dann mit einem leeren Regelwerk da und bewirkt daher erstmal nichts.
Ein iptables-/Firewall-Startscript beinhaltet i.d.R. eine Reihe von iptables-Aufrufen die dann die Regeln definieren, die man gerne haben will.
Davon gibt es viele Arten und Möglichkeiten. Jede einzelne durch zu kauen - von Eigenen Firewall-Scripten bis hin zu sonstigen Tools - würde diesen Rahmen hier sprengen. Denn es gibt viele viele viele Programm die sich "Firewall" schimpfen, aber letztendlich nichts anderes sind als ein (mehr oder minder) praktikables User-Interface. (Also nur eine Klicki-Bunti-Oberfläche.)

Fail2Ban legt beim Starten eigene Regeln (erstmal nur Chains laut jail.conf) an. Ihm ist es relativ egal ob es schon Regeln gibt. Denn es setzt seine eigenen einfach dazu. Sollten die Regeln schon existieren, stört er sich nicht dran.
Sobald bei der Logfile-Analyse eine "action" auftritt, wird ein iptables-Aufruf gestartet, welcher den DROP in die passende Chain schreibt. Nach Ablauf der Bantime wird diese DROP-Regel dann wieder gelöscht.

PS: Das Gentoo-Startscript kann wahrscheinlich mit "save" Regeln irgendwo hin speichern und diese bei "start" neu einlesen. Es ist und bleibt aber auch nur ein zusätzliches Programm welches (mal wieder) iptables nutzt.

huschi.
 
Fail2Ban legt beim Starten eigene Regeln (erstmal nur Chains laut jail.conf) an. Ihm ist es relativ egal ob es schon Regeln gibt. Denn es setzt seine eigenen einfach dazu. Sollten die Regeln schon existieren, stört er sich nicht dran.

Problematisch ist auch eher der umgekehrte Fall. Sofern gentoo mit iptables-restore arbeitet, überschreibt dieses möglicherweise die bereits vorhandenen Regeln (zu verhindern über den Parameter -n). Danach hätte fail2ban ein Problem, daß seine definierten Regeln wieder fehlen.
 
Hallo Huschi und danton,

Vielen vielen herzlichen Dank für Eure zahlreichen und sehr ausführlichen Erläuterungen zu meinen Fragen! :)
Ihr habt mir damit meine gestrige Vermutung bestätigt (nach dem "Edit:" in meinem letzten Post) und weiteres sehr nützliches Wissen zur Verständnisweise geliefert.
Ich freue mich, das es ausser mir ebenfalls noch Leute gibt, die gerne helfen und, die sich in Hilfesuchende hineinversetzen können.

1000xMal Danke an Euch, Ihr habt mir die Augen geöffnet.

Zum Thema nochmals zurück:

Ich hatte selbst bis auf eine einzige Ausnahme jetzt noch keine eigenen Regeln selbstdefiniert und auch diese "gentoo-script - restore-Variante" nicht benutzt.

Die Regel, die ich gerade erwähnt hatte, die ich einmal erstellt hatte, war für "ntpd". Das ging aber aus falschem Verständnis hervor. Ich dachte, "IP-Tables sperrt kategorisch alles und man müsse Erlaubnisse hinzufügen".
Das es, ohne Verbotsregel so ist, das IP-Tables zunächst, wie huschi es sagt, "mit leerem Regelwerk startet",
Huschi said:
Allerdings steht sie dann mit einem leeren Regelwerk da und bewirkt daher erstmal nichts.
hatte ich an dem besagten Tag noch nicht gewusst. Nach einem Neustart des Servers war sie danach auch verschwunden. (Restore hatte ich ja nie benutzt).

Ich lasse IP-Tables manuell "in Ruhe" und fail2ban bei "aktionen" die Regeln definieren, um "kein Kreuzfeuer" anzurichten:
danton said:
Danach hätte fail2ban ein Problem, daß seine definierten Regeln wieder fehlen.

Beschäftigen, mir ansehen, wie Regeln erstellt werden, werde ich aber auf jeden Fall. Das Wissen möchte ich besitzen.

Nochmals Danke an Euch!
 
Back
Top