Tipp: Sie können für alle Dateinamen und Verzeichnisse die automatische Vervollständigung mithilfe der Tab-Taste nutzen, sodass Sie nicht die kompletten Datei- oder Verzeichnisnamen manuell eintippen müssen.

Diese Anleitung wurde am 12.07.2019 zuletzt überprüft und aktualisiert.

Sind Sie auf der Suche nach sehr guten, leistungsstarken und günstigen Servern?
Ich miete meine Server seit 6 Jahren bei Contabo und kann Contabo wirklich sehr empfehlen!
  1. Falls Sie es noch nicht getan haben, laden Sie das Programm "PuTTY" herunter.
  2. Verbinden Sie sich mithilfe von PuTTY via SSH mit Ihrem Root- oder vServer. Hierfür öffnen Sie PuTTY und geben im Textfeld "Host Name (or IP address)" die Domain oder IP-Adresse Ihres Servers ein. Klicken Sie anschließend unten auf "OK".
  3. Aktualisieren Sie nun Ihre Paketlisten mit dem Befehl apt update.
  4. Installieren Sie jetzt möglicherweise verfügbare Updates der auf Ihrem Server bereits installieren Pakete mit dem Befehl apt upgrade -y.
  5. Als nächstes installieren Sie den Nano-Editor, falls Sie diesen noch nicht haben, mit folgendem Befehl: apt install nano -y
  6. Installieren Sie danach Fail2Ban sowie weitere benötigte Pakete mit folgendem Befehl: apt install fail2ban -y
  7. Die Konfigurationsdateien von Fail2Ban befinden sich im Verzeichnis "/etc/fail2ban/". Die globale Konfigurationsdatei ist die Datei "jail.conf", jedoch wird diese bei Fail2Ban-Updates überschrieben. Daher muss die Konfiguration in der Datei "jail.local" vorgenommen werden. Kopieren Sie hierfür die Datei "jail.conf" mit dem Befehl cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local.
  8. Öffnen Sie diese Konfigurationsdatei nun mit dem Befehl nano /etc/fail2ban/jail.local.
  9. Fail2Ban kann nicht nur SSH-Server, sondern auch andere Dienste absichern. Im Bereich der "MISCELLANEOUS OPTIONS" ab Zeile 44 dieser Datei können Sie nun global u.a. festlegen, nach wie vielen fehlgeschlagenen Login-Versuchen eine IP-Adresse gebannt werden soll und auch wie lange der Bann dauern soll. Sie können diese Werte für die verschiedenen Dienste jedoch einzeln überschreiben - beispielsweise speziell für den SSH-Dienst im Bereich "SSH servers" ab Zeile 235.
  10. Die "bantime" gibt die Banndauer an, welche voreingestellt bei 10 Minuten ("10m") liegt. Empfehlenswert wäre hierbei i.d.R. eher eine Stunde, also "1h".
  11. Über den Parameter "findtime" können Sie die Zeitspanne definieren, innerhalb welcher die bei "maxretry" festgelegte Anzahl an fehlgeschlagenen SSH-Login-Versuchen stattfinden muss, damit eine IP-Adresse gebannt wird. Standardmäßig liegt der Wert für die "findtime" bei 10 Minuten ("10m") und der für "maxretry" bei 5. Das bedeutet also, dass eine IP-Adresse gesperrt wird, wenn von ihr ausgehend innerhalb von 10 Minuten 5 fehlgeschlagene Login-Versuche durchgeführt werden. Diese Werte können im Normalfall unverändert gelassen werden.
  12. Nach der Installation von Fail2Ban ist der Schutz für jegliche Dienste noch deaktiviert. Daher müssen Sie diesen für den SSH-Dienst noch aktivieren, indem Sie im Bereich "SSH servers" ab Zeile 235 dieser Konfigurationsdatei unter der Zeile für den "backend"-Parameter des SSH-Dienstes ("[sshd]") den Parameter "enabled" mit dem Wert "true" hinzufügen. Fügen Sie dafür also eine Zeile mit dem Inhalt "enabled = true" hinzu.
  13. Hinweis: Unter Debian ist der Fail2Ban-Schutz für den SSH-Dienst aufgrund des Inhalts der Datei "/etc/fail2ban/jail.d/defaults-debian.conf" zwar als einziger bereits aktiviert, aber es ist nicht falsch, wenn Sie den "enabled"-Parameter in Ihrer "jail.local"-Datei dennoch auf "true" setzen.
  14. Speichern Sie Ihre Änderungen der Konfiguration, indem Sie STRG + X, danach die "Y"-Taste und anschließend Enter drücken.
  15. Starten Sie Fail2Ban mithilfe des Befehls systemctl restart fail2ban abschließend neu, damit die Änderungen übernommen werden. Nun ist Fail2Ban einsatzbereit und Ihr SSH-Server gegen Brute-Force-Attacken geschützt.
  16. In der Log-Datei von Fail2Ban unter "/var/log/fail2ban.log" sehen Sie, welche Aktionen von Fail2Ban durchgeführt wurden (also z.B. das Sperren einer IP-Adresse). Sie können diese Datei einfach mit dem Nano-Editor öffnen (nano /var/log/fail2ban.log).
  17. Sie können mithilfe von Fail2Ban auch manuell IP-Adressen für den SSH-Server sperren oder entsperren. Verwenden Sie zum Bannen den Befehl fail2ban-client set sshd banip 123.123.123.123 und zum Entbannen den Befehl fail2ban-client set sshd unbanip 123.123.123.123. Anstelle von "123.123.123.123" müssen Sie natürlich die betreffende IP-Adresse angeben.