Webserver stehen in einer potentiell unsicheren Umgebung und sind daher durch «brute force»-Angriffe verwundbar. Ein Einbrecher versucht dabei mit «roher Gewalt» (simplem Ausprobieren Tausender möglicher Passwörter) in ein System einzubrechen.
Eine solche Attacke muss erkannt und unterbunden werden. Benutzer, welche innerhalb eines kurzen Zeitraumes übermässig viele fehlgeschlagene Login- Versuche machen, werden vom System für eine gewisse Zeit automatisch blockiert. Damit ist es einem Angreifer nicht mehr möglich, sich mittels «wahllosem» Ausprobieren von Passwörtern Zugriff zu verschaffen.
Fail2ban scannt die Logfiles des Webservers (nginx) und aktualisiert die Firewall-Regeln des Linux Kernel Firewalls (iptables). Damit steht das Intrusion Prevention System (Fail2ban) vor der Webapplikation (Pyramid) und schafft so eine weitere Schicht zum Einbruchsschutz.
Mit Fail2Ban lässt sich die Rate der Anmeldeversuche einschränken, es schützt aber nicht vor Risiken einer schwachen Authentifizierungsmethode. Der Zugriff auf unsere Webapplikation erfolgt daher zweistufig: nach dem Login mit Benutzername und Passwort muss sich der Benutzer mit seinem persönlichen YubiKey identifizieren.