GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installieren und konfigurieren Sie Fail2ban unter Ubuntu 20.04

Fail2ban ist ein in Python geschriebenes Open-Source-Sicherheitsframework, das Server vor Brute-Force-Angriffen schützt . Es scannt Protokolldateien und sperrt IP-Adressen, die erfolglose Anmeldeversuche durchführen. Es funktioniert, indem es die Firewall aktualisiert, um neue Verbindungen von diesen IP-Adressen für einen konfigurierbaren Zeitraum abzulehnen.

Standardmäßig verwendet Fail2ban Iptables und kann mit anderen Firewalls verwendet werden. Fail2ban-Unterstützung für IPv4 und IPv6.

Fail2ban ist standardmäßig so konfiguriert, dass SSH-Anmeldeversuche überwacht werden und kann andere Protokolldateien überwachen, z. B. für Apache, vsftpd und Postfix usw.

In diesem Tutorial werde ich Sie durch die Installation und Konfiguration von fail2ban führen auf Ubuntu 20.04.

Fail2ban auf Ubuntu installieren

Öffnen Sie zunächst Ihr Terminal und aktualisieren Sie die Paketlisten.

$ sudo apt update

Fail2Ban ist bereits in den meisten Linux-Distributionen enthalten. Um fail2ban mit dem APT-Paketmanager zu installieren, führen Sie Folgendes aus:

$ sudo apt install fail2ban

Überprüfen Sie nach der Installation, ob es ausgeführt wird, indem Sie:

$ sudo systemctl status fail2ban

Aus der Ausgabe können wir ersehen, dass der Dienst fail2ban aktiv ist und wie erwartet ausgeführt wird.

Geben Sie Folgendes ein, um zu überprüfen, ob der fail2ban-Prozess ausgeführt wird:

$ sudo ps -efww | egrep fail2ban

Ausgabe:

root     1310843       1  0 11:17 ?        00:00:02 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Toll. Lassen Sie uns einen Überblick über die mit Fail2ban verbundenen Konfigurationsdateien geben und wie Sie die Einstellungen optimieren, um IP-Adressen entweder auf die schwarze oder weiße Liste zu setzen.

Übersicht der Konfigurationsdateien

Die Konfigurationsdateien von Fail2ban befinden sich im Verzeichnis /etc/fail2ban Verzeichnis wie gezeigt.

Die wichtigsten Konfigurationsdateien sind /etc/fail2ban/jail.conf   und /etc/fail2ban/jail.d/defaults-debian.conf .

Was auch immer Sie tun, es ist nicht empfehlenswert, diese Dateien zu ändern, da die Wahrscheinlichkeit hoch ist, dass sie überschrieben werden, wenn das fail2ban-Paket aktualisiert wird.

Als Problemumgehung besteht die empfohlene Methode zum Konfigurieren von Fail2ban darin, eine Kopie der jail.conf Datei nach jail.local und definieren Sie später Ihre eigenen Einstellungen. Sie müssen nicht alle Einstellungen aus der jail.conf Datei, nur diejenigen, die Sie überschreiben möchten.

Lassen Sie uns also zuerst jail.local Konfigurationsdatei wie folgt.

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

Öffnen Sie nun die Datei mit Ihrem bevorzugten Texteditor. Hier verwende ich den vim-Editor.

$ sudo vim /etc/fail2ban/jail.local

IP-Adressen auf die weiße Liste setzen

Mit ignoreip Direktive können Sie IP-Adressen, IP-Bereiche oder ein ganzes Subnetz von der Sperrung ausschließen. Hier fügen Sie die IP-Adressen der Remote-Computer hinzu, die Sie auf die Whitelist setzen oder in einfachen Worten den Zugriff erlauben möchten. Mehrere IPs können mit Leerzeichen oder Kommas hinzugefügt werden.

Zum Beispiel, um die IP-Adressen 192.168.2.50 auf die Whitelist zu setzen , 192.168.2.100 fügen Sie die Einträge wie folgt hinzu.

Sperreinstellungen

Die Sperrbedingungen werden durch die folgenden Parameter definiert:

  1. bantime
  2. Zeit finden
  3. maxretry

bantime - Dies ist der Zeitraum, in dem eine IP-Adresse gesperrt oder der Zugriff verweigert wird, damit sie nicht versucht, sich wieder mit dem Server zu verbinden. Standardmäßig ist diese auf 10 Minuten eingestellt, Sie können sie jedoch nach Belieben einstellen.

Zeit finden - Dies ist die Dauer zwischen fehlgeschlagenen Anmeldeversuchen, bevor ein Bann implementiert wird. Diese ist auf 10min eingestellt. Dies bedeutet Folgendes:Wenn Sie versuchen, sich über SSH anzumelden, und die Fehler maxtry erreichen Wert innerhalb von 10 Minuten, dann wird die IP, von der Sie sich verbinden, gesperrt.

maxretry - Dies stellt die maximale Anzahl fehlgeschlagener Verbindungsversuche dar, bevor eine IP gesperrt wird. B Standardmäßig ist dies auf 5 Sekunden eingestellt, was in Ordnung sein sollte, aber ich würde 3 Sekunden bevorzugen, um nicht mit Verbindungsversuchen bombardiert zu werden.

E-Mail-Benachrichtigungen

Fail2ban besitzt die Fähigkeit, E-Mail-Benachrichtigungen zu senden, sobald eine IP-Adresse gesperrt wurde. Zum Senden und Empfangen von E-Mails muss ein SMTP-Server installiert und konfiguriert sein. Um die E-Mail-Benachrichtigungsfunktion zu verwenden, fügen Sie die folgende Zeile hinzu

action = %(action_mw)s

Der Parameter %(action_mw)s sperrt die verdächtige IP-Adresse und sendet eine E-Mail mit einem detaillierten Whois-Bericht an den Administrator. Um Protokollmeldungen einzuschließen, setzen Sie den Parameter auf %(action_mwl)s .

Definieren Sie zusätzlich die sendende E-Mail-Adresse sowie den Empfänger.

Fail2ban-Gefängnisse

Fail2ban modus operandi verwendet das Konzept von Jails. Das heißt, wenn die angreifende IP-Adresse erfolglos versucht, sich anzumelden oder auf einen Dienst zuzugreifen, wird sie in ein „Gefängnis“ gesteckt und kann bis zur Sperrzeit keine Verbindung herstellen vergeht.

Ein Jail ist, vereinfacht gesagt, ein Dienst mit Filtern und Aktionen. Fail2ban sieht sich die Protokolleinträge an und sobald übereinstimmende Protokolleinträge identifiziert und die Bedingungen erfüllt sind, werden die Aktionen implementiert.

Das SSH-Gefängnis ist normalerweise standardmäßig aktiviert, um betrügerische SSH-Verbindungen von verdächtigen IP-Adressen an die Leine zu nehmen. Um ein Jail für einen anderen Dienst zu aktivieren, fügen Sie einfach enabled =true hinzu -Attribut nach der Jail-Überschrift. Wie wir bereits gesehen haben, können Sie auch Sperreinstellungen vornehmen.

Fail2ban-Client

Fail2ban bietet ein Befehlszeilentool für die Interaktion mit Fail2ban, bekannt als fail2ban-client . Sie können unzählige Aufgaben ausführen, darunter das Sperren und Entsperren von IP-Adressen.

Führen Sie den folgenden Befehl aus, um den Status von Fail2ban zu überprüfen und festzustellen, ob gesperrte IP-Adressen oder verletzte Filter vorhanden sind:

$ sudo fail2ban-client status sshd

Die folgende Ausgabe bestätigt das Vorhandensein einer gesperrten oder auf der Blacklist aufgeführten IP-Adresse nach fehlgeschlagenen SSH-Anmeldeversuchen. Die IP-Adresse befindet sich derzeit im SSH-Gefängnis.

Sie können auch die Datei fail2ban.log filtern, um alle gesperrten IP-Adressen aufzulisten:

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

Ausgabe:

2021-04-29 11:17:55,081 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 117.221.69.37
2021-04-29 11:17:55,123 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 49.233.251.133
2021-04-29 11:17:55,131 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 106.52.93.202
2021-04-29 11:17:55,139 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.232.205
2021-04-29 11:17:55,147 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.239.107

Führen Sie den folgenden Befehl aus, um die IP-Adresse auf der schwarzen Liste zu entsperren:

$ sudo fail2ban-client set sshd unbanip 192.168.2.102

Überprüfen Sie jetzt den Status von Fail2ban erneut, und diesmal registriert sich die gesperrte IP nicht mehr.

Um eine IP-Adresse zu sperren, geben Sie ein:

$ sudo fail2ban-client set sshd banip 192.168.2.102

Führen Sie für weitere Befehlszeilenoptionen den folgenden Befehl aus:

$ fail2ban-client -h

Schlussfolgerung

Denken Sie daran, dass Fail2ban kein Ersatz für Firewalls und andere Sicherheitsmaßnahmen zum Schutz Ihres Systems ist. Es ist einfach eine zusätzliche Sicherheitsebene, die Ihrem Server eine zusätzliche Schutzebene vor Brute-Force-Angriffen bietet, insbesondere von automatisierten Bots und Skripten. Damit ist dieses Tutorial zur Installation und Konfiguration von Fail2ban unter Ubuntu 20.04 abgeschlossen.


Ubuntu
  1. Installieren und konfigurieren Sie PHP OPcache auf Ubuntu 20.04

  2. So installieren und konfigurieren Sie Fail2Ban unter Ubuntu 20.04

  3. So installieren und konfigurieren Sie Fail2ban unter Ubuntu 20.04

  4. Wie installiere und konfiguriere ich Fail2ban auf Ubuntu?

  5. So installieren und konfigurieren Sie Fail2ban unter Ubuntu 20.04 LTS

So installieren und konfigurieren Sie Solr 6 unter Ubuntu 16.04

So installieren und konfigurieren Sie GitLab unter Ubuntu 16.04

So installieren und konfigurieren Sie Cacti unter Ubuntu 20.04

Installieren und konfigurieren Sie Git unter Ubuntu 16.04

Installieren und konfigurieren Sie den VNC-Server unter Ubuntu 16.04

Installieren und konfigurieren Sie Fail2ban unter Debian 11