fail2ban für den Webserver
Mehr tippen Sie nicht
„Richte auf web03 fail2ban ein: für SSH und für die Anmeldeseite des Portals unter /login. Unser Büro 203.0.113.0/24 darf nie gesperrt werden. Zeig mir danach, was läuft.“
- Wer
- Der Admin, zwischen zwei Terminen
- Server
- web03, Webserver des Kundenportals
- Ihr Anteil
- Ein Satz
- Stufe
rwxÄndert allein, siehe die drei Stufen
Problem
Die Logs von web03 sind voll von Anmeldeversuchen: an SSH und an der Anmeldeseite des Portals, Tausende am Tag, die meisten von wenigen Adressen. fail2ban ist die Antwort, aber ein Filter für nginx will geschrieben und geprüft sein, und wer dabei zu streng ist, sperrt Kunden aus, die sich dreimal vertippen, oder schlimmer: das eigene Büro. Darum liegt es seit Monaten.
Gesucht: Sperren für SSH und die Anmeldeseite, nie für das Büro, und danach sehen, was es tut.
Lösung
Ein Satz, und Heinzel Pro zählt erst, was anklopft, schreibt Filter und Jails, startet den Dienst und zeigt die ersten Sperren. Auf „Ändert allein“ wartet nichts davon auf Sie.
Schritt 1: Sie beschreiben die Aufgabe, mit der Ausnahme
Der Satz oben nennt die beiden Türen und die eine Adresse, die nie zugehen darf. Sie wählen web03 und stellen die Stufe auf „Ändert allein“: Ein Dienst, der sperrt, ist Routine, und das Büro steht im Satz.

Schritt 2: Heinzel Pro zählt, was anklopft
Drei lesende Befehle: die gescheiterten SSH-Anmeldungen der letzten 24 Stunden und ihre Absender, die Fehlversuche an /login, und ob fail2ban schon installiert ist. Der Befund: 1.842 an SSH, 3.127 an der Anmeldeseite, und darunter 41 aus dem Büro, von jemandem, der sich vertippt. Genau der darf nicht gesperrt werden.

Schritt 3: Der Plan steht da, bevor es losgeht
Vier Schritte: installieren, Filter und zwei Jails schreiben und prüfen, Dienst starten, zeigen, was läuft. Dazu die Schwellen, fünf Fehlversuche in zehn Minuten, eine Stunde Sperre, und warum sie so gewählt sind. Auf dieser Stufe gibt niemand den Plan frei; er steht trotzdem da, und Sie lesen hinterher, was Heinzel Pro vorhatte.

Schritt 4: Heinzel Pro zeigt die ersten Sperren
Zwei Jails laufen. In der ersten Minute sind drei SSH-Adressen und zwei an der Anmeldeseite gesperrt, eine davon in beiden; das Büro steht in den Ausnahmen, der Kollege mit den 41 Fehlversuchen bleibt unbehelligt. Im Journal von web03 stehen der Filter und der Befehl, der eine Sperre von Hand aufhebt.
