Bei der Dursicht der Serverlogs fiel mir heute morgen ein Bruteforce-Versuch gegen meinen sshd auf:
$ grep -c "sshd.*Invalid user" /var/log/auth.log
brachte 1255 fehlgeschlagene Anmeldeversuche am SSH-Service an’s Licht.
Nicht dass das weiter schlimm wäre, schütze ich diesen Service doch von vornherein, indem ich nur Anmeldungen mit digitalen Schlüsseln zulasse.
Aber nervig ist das schon. Außerdem gibt es ja noch andere Dienste, die sich auf diese Weise nicht absichern lassen.
Ich habe daher reagiert, und auf dem betroffenen System fail2ban eingerichtet.
Fail2ban protokolliert fehlgeschlagene Anmeldeversuche und blockiert die Angreifer-IP per iptables, wenn dieser zu oft versucht, Zugriff auf den Dienst zu bekommen.
Da das Programm Log-Dateien per Regular Expressions filtert, lässt sich jede Anwendung schützen, die einen Dienst über das Netzwerk anbietet und Anmeldeversuche mitprotokolliert.
Vorkonfiguriert gibt es beim Debian-Paket Filter für sshd, apache, vsftpd, proftpd, wuftpd, postfix, couriersmtp oder sasl.
Die Konfigurationsdateien unter /etc/fail2ban sind eigentlich leicht verständlich, wer trotzdem eine Anleitung zum Thema sucht, klicke auf: http://www.howtoforge.com/fail2ban_debian_etch