| 257 Wörter
Jeder Daemon/Service unter Linux produziert Log-Dateien. Es hat sich durchgesetzt, dass diese unter /var/log/ zu finden sind oder von einem Syslog-Daemon zentral gesammelt werden.
Die Log-Dateien geben dabei einen Einblick in die aktuellen Aufgaben, die der dazugehörige Daemon gerade abarbeitet. Das können Aufrufe einer Webseite sein, welche vom Websever protokolliert werden oder (fehlgeschlagene) Anmeldungen am SSH-Server. Es bietet sich also an, auf die Masse an Informationen zurückzugreifen und damit zu arbeiten.
Hier kommt fail2ban ins Spiel, welches sich selbst so beschreibt:
|
|
Es kann also Log-Dateien parsen und anhand von Filtern (Regex) entscheiden ob eine erfolgreicher Login-Version oder nicht stattgefunden hat. Daraufhin kann bei zu viel fehlgeschlagenen Versuchen, die IP-Adresse des Verursachers geblockt werden.
Auch wenn die Manpage sehr spezifisch ist, lässt sich das generelle Konzept auf viele andere Anwendungnsbereiche ausweiten. Durch die individuelle Konfiguration von Regex-Filtern und dem Ban/Unban Kommando, ist es bspw. auch Möglich, dass bei N fehlgeschlagenen Logins ein Webhook oder Script aufgerufen wird.
Ein Ausführlicher Tutorial ist hier zu finden: Linode: Using Fail2ban to Secure Your Server