debian8jessie

Dienste mit fail2ban absichern

Veröffentlicht von

Jeder Administrator wird die Problematik kennen: über das Internet erreichbare Ports von Serverdiensten sind notwendig und bergen gleichzeitig ein Risiko. Wie im Artikel zur Absicherung von SSH-Verbindungen  beschrieben, stehen offene Ports nahezu dauerhaft „unter Beschuss“. Es sollte daher selbstverständlich sein, dass diese Ports abgesichert werden müssen. Ein einfacher Portwechsel der Dienste weg von den bekannten Standardports kann sinnvoll sein, schützt aber nicht vor Portscannern und hat möglicherweise anwendungspezifische Komplikationen zur Folge.

Angreifer aussperren

Eine einfache, aber effektive und schnell umzusetzende Methode ist das Aussperren von IP-Adressen, die sich öfter erfolglos versucht haben, sich an einem Dienst wie beispielsweise SSH zu authentifizieren. Linuxbasierte Betriebssysteme können dafür auf eine Anwendung mit dem Namen fail2ban zurückgreifen. Auf einem Debian-System lässt sich fail2ban einfach über die Paketverwaltung installieren.

apt-get install fail2ban

Nach der Installation findet sich unter /etc/fail2ban/jail.conf eine Konfigurationsdatei, die jedoch bei jeder Aktualisierung des Programms wieder überschrieben wird. Für die eigene Konfiguration wird der Inhalt dieser Datei daher nach /etc/fail2ban/jail.local kopiert und dann bearbeitet.

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

Folgende Parameter in der  Konfigurationsdatei sollten nach Bedarf angegeben werden:

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host

# IP Whitelist
  ignoreip = 127.0.0.1/8
# Ban-Zeit in Sekunden
  bantime = 600
# Erlaubte Wiederholungen
  maxretry = 3

Außerdem können Dienste wie SSH explizit konfiguriert werden

[ssh]

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

Nach Abschluss der Konfiguration muss fail2ban neu gestartet werden.

service fail2ban restart

IPs müssen draußen bleiben

Bereits kurz nach der Scharfschaltung von fail2ban lassen sich in der Datei  /var/log/fail2ban.log erste Blockierungen von IP-Adressen erkennen, von denen sogenannte BruteForce-Attacken auf den SSH-Dienst erfolgt sind. Für den Zeitraum der eingestellten bantime kann keine erneute Anfrage von diesen IP-Adressen erfolgen.

fail2ban-ssh
fail2ban-Logdatei

Hier waren 600 Sekunden eingestellt, was offensichtlich nicht ausreichte. Bereits nach 12 Minuten erfolgte eine erneute Anfrage einer zuvor geblockten IP-Adresse. Es spricht nichts dagegen, die bantime hoch anzusetzen, sofern man nicht Gefahr läuft, sich versehentlich selbst auszusperren.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.