Bisher habe ich ab Debian 8 hier eine Anleitung zu dem Programm geschrieben. Diese Anleitung bezieht sich auf Version 10 Buster.

Für alle, die fail2ban noch nicht kennen, es handelt sich um ein Tool, welches die Anzahl der (falschen) Zugriffe pro IP Adresse begrenzen kann.

1. Server-Zugriffe anzeigen

Die Zugriffe lassen sich in folgender Datei auslesen:

nano /var/log/auth.log

2. Fail2Ban installieren

Fail2Ban lässt sich unter Debian sehr einfach installieren.

apt-get install fail2ban

3. Fail2Ban konfigurieren

3.1 Konfigurationsdatei erstellen

Der Pfad der Konfigurationsdatei lautet: „/etc/fail2ban/jail.conf“.  Alle Änderungen in dieser Datei werden jedoch bei einem Update von Fail2Ban überschrieben. Um dies zu verhindern erstellen wir uns eine Kopie dieser Datei, die wir dann bearbeiten. Diese Änderungen bleiben auch nach einem Update erhalten.

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

3.2 Konfigurations-Grundlagen

Nun öffnen wir die neue Datei:

nano /etc/fail2ban/jail.local

Wenn ihr ein paar Zeilen nach unten scrollt, dann seht ihr folgende Einstellungen:

# "bantime" is the number of seconds that a host is banned.
bantime  = 10m

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime  = 10m

# "maxretry" is the number of failures before a host get banned.
maxretry = 5

Diese Einstellungen legen fest, nach wievielen falschen Versuchen eine IP gesperrt wird und wie lange diese Sperre gilt.

Wenn ihr noch etwas weiter scrollt, könnt ihr noch eure E-Mail Adresse angeben.

# Destination email address used solely for the interpolations in
# jail.{conf,local,d/*} configuration files.
destemail = eure@email.de

Nun bekommt ihr die verschiedenen Methoden angezeigt, die fail2ban beherrscht zum Bannen.

# The simplest action to take: ban only
action_ = %(banaction)...

# ban & send an e-mail with whois report to the destemail.
action_mw = %(banaction)....

# ban & send an e-mail with whois report and relevant log lines
# to the destemail.
action_mwl = %(banaction)....

# See the IMPORTANT note in action.d/xarf-login-attack for when to use this action
#
# ban & send a xarf e-mail to abuse contact of IP address and include relevant log lines
# to the destemail.
action_xarf = %(banaction)....

# ban IP on CloudFlare & send an e-mail with whois report and relevant log lines
# to the destemail.
action_cf_mwl = cloudflare...

Etwas weiter unten könnt ihr nun auswählen, was ihr tun möchtet. Ich habe mich für die erste Methode entschieden (action_)

# Choose default action.  To change, just override value of 'action' with the
# interpolation to the chosen action shortcut (e.g.  action_mw, action_mwl, etc) in jail.local
# globally (section [DEFAULT]) or per specific section
action = %(action_)s

3.3 Gefängnisse / Jails aktivieren

Standardmäßig sind weiter unten alle Jails / Filter deaktiviert. Um einen einzelnes Jail zu aktivieren fügt ihr folgende Zeile hinzu:

enabled = true

Dies sieht zum Beispiel so aus:

[sshd]
enabled = true
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Wenn ihr euren SSH Port geändert habt, dann müsst ihr euren geänderten Port hier eingeben, in der Zeile „port =euer-SSH-port“.

4. fail2ban neu starten

Nun müsst ihr fail2ban nur noch neustarten, damit die Einstellungen übernommen werden.

/etc/init.d/fail2ban restart

Danach solltet ihr euch die Logs / Status anschauen, ob alles funktioniert.

5. Logs ansehen

Hier solltet ihr kontrollieren, ob alles richtig funktioniert.

Dazu öffnet ihr folgende Datei

cat /var/log/fail2ban.log

6. fail2ban Status ansehen

Mit folgendem Befehl lässt sich der aktuelle Status von fail2ban anzeigen

service fail2ban status

7. Liste der Bans anzeigen

Um euch eine Liste aller bisherigen Bans anzeigen zu lassen, gebt ihr folgenden Befehl ein:

zgrep 'Ban' /var/log/fail2ban.log*

8. IP „entbannen“ / entsperren

Ihr habt auch die Möglichkeit einzelne IP Adressen wieder freizugeben. Im vorherigen Schritt konntet ihr euch alle gebannten Adressen anschauen. Diese müsst ihr nun entsperren.

fail2ban-client set dienst unbanip ip

Beispiel beim Dienst sshd
fail2ban-client set sshd unbanip 42.32.xxx.xxx
Teile diesen Beitrag
Christian

Categories:

Keine Kommentare vorhanden

Schreibe einen Kommentar

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

Spenden

Persönliche Informationen

Spendensumme: 2€