Gelesen 300

So installieren Sie Fail2ban auf Ubuntu 20.04 mit Konfiguration

Cliff schrieb am 06.12.2021 um 02:55 Uhr

Heute sehen wir uns an, wie Sie Fail2ban auf Ubuntu 20.04 LTS Focal installieren können , das Ihre Server vor böswilligen Angriffen durch böse Bots und Hacker schützt.

Heute sehen wir uns an, wie Sie Fail2ban auf Ubuntu 20.04 LTS Focal installieren können , das Ihre Server vor böswilligen Angriffen durch böse Bots und Hacker schützt.

Diejenigen, die mit Fail2ban nicht vertraut sind, sind ein Intrusion-Prevention-Software-Framework, das Computerserver vor allem vor Brute-Force-Angriffen schützt und Bad User Agents verbietet, URL-Scanner verbietet und vieles mehr. Fail2ban erreicht dies durch das Lesen von Zugriffs-/Fehlerprotokollen Ihrer Server oder Webanwendungen. Fail2ban ist in der Programmiersprache Python codiert.

In der Anleitung finden Sie einen Überblick über die Installation von Fail2ban unter Ubuntu 20.04 sowie einige grundlegende Setups und Tipps. Die Anleitung ist auch mit Ubuntu 21.04 kompatibel.

Fail2ban installieren

Ubuntu-Repositorys werden mit Fail2ban geliefert. Sie benötigen Sudo-Berechtigungen, um es mit den folgenden Befehlen zu installieren.

sudo apt update && sudo apt upgrade -y

Als nächstes installieren Sie Fail2ban, indem Sie den folgenden Befehl ausführen:

sudo apt install fail2ban

Geben Sie "Y" ein , um zu installieren.

Sobald Sie die Installation von Fail2ban abgeschlossen haben, müssen wir den Servicestatus überprüfen. Standardmäßig sollte Fail2ban bei der Installation automatisch aktiviert und gestartet werden. Verwenden Sie den folgenden Befehl, um zu sehen.

sudo systemctl status fail2ban

Sie sollten den Status ok in Grün sehen, wie im obigen Bild gezeigt. Wenn es aus irgendeinem Grund nicht gestartet und zum Starten bei Systemlast aktiviert ist, verwenden Sie die folgenden Befehle.

sudo systemctl start fail2ban && sudo systemctl enable fail2ban

Um Fail2ban in Zukunft zu stoppen und zu deaktivieren, können Sie dies durch Eingabe des folgenden Befehls tun:

sudo systemctl stop fail2ban && sudo systemctl disable fail2ban

Fail2ban-Konfigurationsdateien einrichten

Nach Abschluss der Installation müssen wir nun einige Setups und grundlegende Konfigurationen vornehmen. Fail2ban wird mit zwei Konfigurationsdateien geliefert, die sich in /etc/fail2ban/jail.conf und dem Standard- Fail2ban /etc/fail2ban/jail.d/defaults-debian.conf befinden . Ändern Sie diese Dateien nicht. Die ursprünglichen Setup-Dateien sind Ihre Originale und werden bei jedem zukünftigen Update von Fail2ban ersetzt.

Jetzt fragen Sie sich vielleicht, wie wir Fail2ban so einrichten, dass Sie aktualisieren, und Sie verlieren Ihre Einstellungen. Ganz einfach, wir erstellen Kopien mit der Endung .local anstelle von .conf, da Fail2ban immer zuerst .local- Dateien liest, bevor .conf geladen wird, wenn es keine finden kann.

Verwenden Sie dazu die folgenden Befehle.

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

Fail2ban konfigurieren

Jetzt kommen Sie zu dem Teil, in dem Sie jail.local  öffnen  und die Einstellungen mit dem Nano-Editor anpassen können.

sudo nano /etc/fail2ban/jail.local

Sperrzeitinkrement

Die erste Einstellung, auf die Sie stoßen werden, ist das Verbot von Zeitinkrementen. Sie sollten dies jedes Mal aktivieren, wenn der Angreifer zurückkehrt. Dadurch wird die Sperrzeit verlängert, sodass Ihr System nicht ständig dieselbe IP-Adresse erneut sperrt, wenn die Sperrzeit kurz ist. Beispiel: 1 Stunde, Sie möchten, dass dies länger dauert, wenn der Angreifer x5-mal zurückkehrt.

Sie müssen auch einen Multiplikator oder Faktor festlegen, damit die Logik zur Erhöhung der Sperre funktioniert. Sie können eine davon auswählen; In unserem Leitfaden bevorzugen wir jedoch Multiplikatoren, wie in unserem Beispiel unten hervorgehoben, da Sie benutzerdefinierte Erhöhungen der Sperrzeit nach Ihren Wünschen festlegen können. Weitere Erklärungen finden Sie im Setup zur Mathematik dahinter.

So sollte dies in der jail.local stehen:

bantime.increment = true
bantime.multipliers = 1 2 4 8 16 32 64

Whitelist-IPs in Fail2ban

Als nächstes in der Liste stoßen wir auf Whitelisting-Optionen, entkommentieren Sie das Folgende und adressieren Sie alle IP-Adressen, die Sie auf die Whitelist setzen möchten.

ignoreip = 127.0.0.1/8 ::1 180.53.31.33 (example IP address)

Stellen Sie sicher, dass zwischen den IP-Adressen Leerzeichen oder Kommas stehen. Sie können auch IP-Bereiche auf die Whitelist setzen.

Einrichtung der Standardsperrzeit

Die Standardeinstellungen für die Sperrzeit sind 10 Minuten mit 10 Minuten Finder bei 5 Wiederholungen. Eine Erklärung dafür ist, dass das Fail2ban-Gefängnis mit Filterung Ihren Angreifer für 10 Minuten sperrt, nachdem er denselben Angriff in 10 Minuten (Suchzeit) x 5 Mal (Wiederholungen) wiederholt hat. Sie können hier einige Standardeinstellungen für das Verbot festlegen.

Wenn Sie jedoch in Gefängnisse gelangen, ist es ratsam, andere Sperrzeiten festzulegen, da einige Sperren automatisch länger sein sollten als andere, einschließlich Wiederholungen, die kürzer oder länger sein sollten.

bantime = 10m
findtime = 10m
maxretry = 5

E-Mail-Einrichtung mit Fail2ban

Sie können eine E-Mail-Adresse für Fail2ban festlegen, um Berichte zu senden. Die Standardaktion = %(action_mw)s, die die verletzende IP sperrt und eine E-Mail mit einem Whois-Bericht zur Überprüfung durch Sie sendet. In Ihrem action.d-Ordner gibt es jedoch andere E-Mail-Optionen, um sich nicht nur an sich selbst zu melden, sondern auch E-Mails an Blacklist-Anbieter und den ISP des Angreifers zu senden, um ihn zu melden.

Das Setup-Beispiel unten:

# Destination email address used solely for the interpolations in
# jail.{conf,local,d/*} configuration files.
destemail = admin(at)example(dot)com

# Sender e-mail address used solely for some actions
sender = fail2ban(at)example(dot)com

Fail2ban-Gefängnisse

Als nächstes kommen wir zu Gefängnissen. Sie können vordefinierte Jails mit Filtern und Aktionen einrichten, die von der Community erstellt wurden und viele gängige Serveranwendungen abdecken. Sie können benutzerdefinierte Jails erstellen oder externe auf verschiedenen Gists- und Community-Websites finden. Wir werden jedoch die standardmäßigen Fail2ban-Paket-Jails einrichten.

Standardeinstellung für alle Gefängnisse gemäß dem Bild unten. Beachten Sie, dass nichts aktiviert ist.

jail.local

Wir haben also einen Apache 2-HTTP-Server, und wie beim Filtern/Bannen von Bad Bots müssen Sie nur aktiviert = true hinzufügen, wie im folgenden Beispiel.

[apache-badbots]
# Ban hosts which agent identifies spammer robots crawling the web
# for email addresses. The mail outputs are buffered.
enabled = true
port     = http,https
logpath  = %(apache_access_log)s
bantime  = 48h
maxretry = 1

Beachten Sie, dass die maximale Wiederholungszahl 1 beträgt und die Sperrzeit 48 Stunden beträgt. Dies ist eine individuelle Einstellung für die maximale Wiederholungs- und Sperrdauer für dieses Gefängnis, die sich automatisch mit dem Sperrmultiplikator erhöht, den wir weiter oben in der Anleitung festgelegt haben. Wenn dieser Filter fehlt, können Sie ihn als Beispiel hinzufügen.

[apache-noscript]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s

Ändern Sie oben das folgende Beispiel unten:

[apache-noscript]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
bantime = 1d
maxretry = 3

Als nächstes möchten Sie andere Aktionen als in Ihrem Standardsetup in /etc/fail2ban/jail.local angegeben haben, zusätzliche Aktionen finden Sie im Verzeichnis action.d. Verschiedene Aktionen aus diesem Verzeichnis können leicht eingerichtet werden, indem Sie den Anweisungen in diesen Aktionskonfigurationszeilen in den Dateien folgen, daran denken, sie zuerst in .jail über .conf umzubenennen und dann Folgendes zu Ihrer Jail-Einrichtung hinzuzufügen.

[apache-botsearch]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
banaction = action_mw
cloudflare
bantime = 72h
maxretry = 1

Wie Sie sehen, haben wir action_mw hinzugefügt, sodass es automatisch gemäß unserer Standardaktion gesperrt wird und uns einen Bericht mit Whois per E-Mail sendet. Wenn Sie Cloudflare verwenden, blockiert die folgende Aktion auch die IP-Adresse des Dienstes. Denken Sie daran, dass Cloudflare vor der Verwendung eingerichtet werden muss. Lesen Sie die Datei action.d cloudflare.conf.

Wenn Sie mit Ihrer Einrichtung zufrieden sind, führen Sie den folgenden Befehl aus, um fail2ban neu zu starten, um Ihre neuen Jails zu laden.

sudo systemctl restart fail2ban

Fail2ban-Client

Nachdem Sie Fail2ban jetzt in Betrieb genommen haben, müssen Sie einige grundlegende Befehle kennen. Dazu verwenden wir den Befehl fail2ban-client. Abhängig von Ihrem Setup müssen Sie möglicherweise über Sudo-Berechtigungen verfügen.

Sperren Sie eine IP-Adresse:

sudo fail2ban-client set apache-botsearch banip <ip address>

Sperre einer IP-Adresse aufheben:

sudo fail2ban-client set apache-botsearch unbanip <ip address>

Befehl zum Aufrufen des Hilfemenüs, wenn Sie zusätzliche Einstellungen oder Hilfe zu einer bestimmten Einstellung benötigen.

sudo fail2ban-client -h

Überwachung von Fail2ban-Protokollen

Ein häufiger Fehler, den viele machen, besteht darin, Gefängnisse einzurichten und wegzugehen, ohne zu testen oder zu überwachen, was sie tun. Das Durchsehen von Protokollen ist wichtig, da sich das fail2ban-Protokoll in seinem Standardpfad /var/log/fail2ban.log befindet .

Wenn Sie einen Server haben, der anständigen Datenverkehr empfängt, ist die Verwendung des Befehls tail -f wie unten beschrieben ein hervorragender Befehl, um live zu sehen, ob Probleme auftreten und ob Sie ihn im Auge behalten, während Sie auf anderen Servern arbeiten.

sudo tail -f /var/log/fail2ban.log

Der Befehl kann sich für Stichproben als nützlich erweisen, ohne in die Protokollierung eintauchen zu müssen.

Kommentare und Schlussfolgerungen

Die erstellte Anleitung hat Ihnen die Grundlagen der Installation von Fail2ban auf dem Ubuntu 20.04-System und der Einrichtung einiger Jails mit den verfügbaren Filtern gezeigt. Fail2ban ist ein mächtiges Werkzeug. Sie können es auf viele verschiedene Arten einrichten, von dem, was ich hier gezeigt habe. Es ist nur ein Beispiel dafür, wie man damit beginnen kann. Fail2ban wird aktiv entwickelt und ist eine solide Wahl für die Bereitstellung auf Ihrem Server in Zeiten, in denen Angriffe so häufig werden.

zurück

Tags

Über den Author: Cliff

xProg.de Gründer. Jahrgang 1986. Stolzer Familienvater. Habe Früh mit Computer und Hardware angefangen. Die ersten Self-Made Computer waren nicht die besten, funktionierten aber tadellos. Kenne noch 56k-Modems, und habe mit Windows 3.1 angefangen meine ersten Texte zu schreiben, über Windows 95, bis zu Windows 7 dann aktiv eingestiegen. Auch arbeite ich aktiv mit Linux für Homebase als auch auf der Serverebene. 

Auf die Idee Anleitungen zu schreiben kam ich, als ich zum Thema Debian was gesucht habe. Leider waren viele Anleitungen oder vorschläge veraltet und daher leider nutzlos.

Wenn meine Anleitungen auch veraltet sein sollten, dann schreibt mir das bitte und ich versuche sie zu aktualisieren.

Wer mich (finanziell) unterstützen möchte, der kann mir hier gerne etwas spenden.

Webseiten: mailda.de - cliffdoelling.de
Facebook: https://www.facebook.com/cliff.doelling
Twitter: https://twitter.com/CainDawsonDE
Mastodon: https://mastodon.social/web/accounts/879797
Verdiene Bitcoins: https://get.cryptobrowser.site/51/9737510
Bitcoins Spenden: 19KuH5JKMvi93Ccdr12ZGaHtZzn2WammsZ

 

Letzte Beiträge

 


Internet News

weitere Internet Artikel

Nextcloud News

weitere Nextcloud Artikel

Linux News

weitere Linux News