GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und konfigurieren Sie Fail2ban unter Debian 11

Fail2ban ist ein Intrusion-Prevention-Software-Framework, das Computerserver hauptsächlich vor Brute-Force-Angriffen schützt, bösartige Benutzeragenten 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.

Das folgende Tutorial zeigt Ihnen, wie Sie Fail2ban installieren und einige Konfigurationen mit vollständigen Beispielen und wichtigen Tipps durchführen, um Ihnen den Einstieg in Debian 11 Bullseye zu erleichtern.

Voraussetzungen

  • Empfohlenes Betriebssystem: Debian 11 Bullseye
  • Benutzerkonto: Ein Benutzerkonto mit Sudo- oder Root-Zugriff.
  • Erforderliche Pakete: wget

Betriebssystem aktualisieren

Aktualisieren Sie Ihr Debian Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:

sudo apt update && sudo apt upgrade -y

Das Tutorial verwendet den sudo-Befehl und vorausgesetzt, Sie haben den Sudo-Status .

So überprüfen Sie den Sudo-Status Ihres Kontos:

sudo whoami

Beispielausgabe, die den Sudo-Status zeigt:

[joshua@debian~]$ sudo whoami
root

Um ein bestehendes oder neues Sudo-Konto einzurichten, besuchen Sie unser Tutorial zum Hinzufügen eines Benutzers zu Sudoers unter Debian .

So verwenden Sie das Root-Konto verwenden Sie den folgenden Befehl mit dem Root-Passwort, um sich anzumelden.

su

Fail2ban installieren

Standardmäßig ist Fail2ban im Debian 11 Bullseye-Repository enthalten. Um die Software zu installieren, verwenden Sie den folgenden Befehl in Ihrem Terminal:

sudo apt install fail2ban

Beispielausgabe:

Geben Sie Y ein, dann Eingabetaste drücken um fortzufahren und die Installation abzuschließen.

Standardmäßig sollte fail2ban nach der Installation aktiv und aktiviert sein. Um dies zu überprüfen, verwenden Sie den folgenden systemctl-Befehl :

sudo systemctl status fail2ban

Beispielausgabe:

Wenn Ihr fail2ban-Dienst nicht aktiviert ist, führen Sie die folgenden Befehle aus, um ihn zu starten und, falls gewünscht, standardmäßig beim Systemstart zu aktivieren:

sudo systemctl start fail2ban

Um dann fail2ban beim Systemstart zu aktivieren, verwenden Sie Folgendes:

sudo systemctl enable fail2ban

Überprüfen Sie zuletzt die Version und den Build von fail2ban:

fail2ban-client --version

Beispielausgabe:

Fail2Ban v0.11.2

Dies zeigt, dass Sie eine der neuesten stabilen Versionen herausgebracht haben, die ver. 0.11.2 (23.11.2020) – (die Welt mit Sicherheitstools heilen) . Wenn Sie in Zukunft wissen möchten, wo sich Ihr installierter Build im Fail2ban-Veröffentlichungszeitplan befindet, besuchen Sie die Veröffentlichungsseite auf der Seite von Fail2ban Github.

Fail2ban konfigurieren

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

Jetzt fragen Sie sich vielleicht, wie wir Fail2ban eingerichtet haben, als ob Sie Ihre Einstellungen aktualisieren und verlieren würden. Ganz einfach, wir erstellen Kopien mit der Endung .local statt .conf da Fail2ban immer .local lesen wird Dateien zuerst, bevor Sie .conf laden wenn es keine finden kann.

Verwenden Sie dazu den folgenden Befehl:

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

Öffnen Sie nun die Konfigurationsdatei, um mit der Konfiguration fortzufahren:

sudo nano /etc/fail2ban/jail.local

Als Nächstes führt das Tutorial einige Einstellungen durch, die Sie nach Belieben verwenden oder ändern können. Beachten Sie, dass die meisten Einstellungen auskommentiert sind; Das Tutorial wird die betreffenden Zeilen auskommentieren oder die vorhandenen in den Beispieleinstellungen ändern.

Denken Sie daran, dass dies optionale Einstellungen sind, und Sie können festlegen, was Sie möchten, wenn Sie mehr über fail2ban wissen und sich sicher sind.

Sperrzeiterhöhung

Die erste Einstellung, auf die Sie stoßen werden, ist die Erhöhung der Sperrzeit. Sie sollten dies jedes Mal aktivieren, wenn der Angreifer zurückkehrt. Es erhöht die Sperrzeit und erspart Ihrem System das ständige erneute Sperren derselben IP, wenn Ihre Sperrzeitdauer gering ist; B. 1 Stunde, möchten Sie, dass dies länger ist, wenn der Angreifer x5-mal zurückkehrt.

Sie müssen auch einen Multiplikator oder Faktor festlegen, damit die Ban-Erhöhungslogik 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 Erläuterungen finden Sie im Setup zur Mathematik dahinter.

Beispiel unten:

IPs in Fail2ban auf die weiße Liste setzen

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

ignoreip = 127.0.0.1/8 ::1 192.167.5.5 (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.

Beispiel unten:

Standardeinstellung der Sperrzeit

Die Sperrzeit beträgt standardmäßig 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 bannt, nachdem er denselben Angriff in 10 Minuten wiederholt hat (Zeit finden) x 5 mal (Wiederholungen) . Sie können hier einige Standard-Sperreinstellungen festlegen.

Wenn Sie jedoch in Gefängnisse gelangen, ist es ratsam, unterschiedliche Sperrzeiten festzulegen, da einige Sperren automatisch länger sein sollten als andere, einschließlich Wiederholungsversuche, die weniger oder mehr sein sollten.

Beispiel unten:

E-Mail mit Fail2ban eingerichtet

Sie können eine E-Mail-Adresse für Fail2ban festlegen, um Berichte zu senden. Die Standardeinstellung action =%(action_mw)s die die betreffende IP sperrt und eine E-Mail mit einem Whois-Bericht sendet, den Sie überprüfen können.

In Ihrem action.d-Ordner gibt es jedoch andere E-Mail-Optionen, um nicht nur sich selbst zu melden, sondern E-Mails über die Aktivitäten des Angreifers an Hosting-Provider zu senden, damit etwas unternommen werden kann. Beachten Sie, dass Sie dies nur tun, wenn Sie einen E-Mail-Proxy verwenden, da einige Angreifer dies nicht mögen oder die E-Mail direkt mit der IP-Adresse Ihres Servers erhalten. Verwenden Sie diese Aktion mit äußerster Vorsicht oder gar nicht.

Beispiel unten:

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

# Sender e-mail address used solely for some actions
sender = [email protected]

Beispiel:

Beachten Sie, dass Fail2ban standardmäßig Sendmail MTA verwendet für E-Mail-Benachrichtigungen. Sie können dies auf die Mail-Funktion ändern indem Sie Folgendes tun:

Ändern von:

mta = sendmail

Ändern zu:

mail = sendmail

Fail2ban-Gefängnisse

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

Standardeinstellung für alle Jails wie im Bild unten. Beachten Sie, dass nichts aktiviert ist.

Beispiel unten:

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

Wir haben also einen Apache 2 HTTP-Server, und wie beim Filtern/Verbieten bösartiger Bots müssen Sie nur wie im Beispiel unten enabled =true hinzufügen.

[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 Wiederholung 1 beträgt und die Sperrzeit 48 Stunden beträgt. Dies ist eine individuelle Einstellung für die maximale Wiederholungs- und Sperrlänge für dieses Gefängnis, die automatisch mit dem Sperrmultiplikator erhöht wird, den wir zuvor in der Anleitung eingerichtet haben. Wenn dies bei einem der Filter fehlt, können Sie es 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 Ihrer Standardeinstellung in /etc/fail2ban/jail.local angegeben haben, zusätzliche Aktionen finden Sie im Verzeichnis action.d. Verschiedene Aktionen aus diesem Verzeichnis können einfach eingerichtet werden, indem Sie den Anweisungen in diesen Aktionskonfigurationszeilen in den Dateien folgen und daran denken, sie zuerst in .jail umzubenennen über .conf, und fügen Sie dann Folgendes zu Ihrem Jail-Setup hinzu.

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

Wie Sie sehen können, haben wir action_mw hinzugefügt, sodass es automatisch gemäß unserer Standardaktion bannt und uns einen Bericht mit Whois per E-Mail sendet. Wenn Sie dann 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 action.d-Datei cloudflare.conf .

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

sudo systemctl restart fail2ban

Beispiele für die Verwendung des Fail2ban-Clients

Jetzt, da Sie mit Fail2ban einsatzbereit sind, müssen Sie einige grundlegende Betriebsbefehle kennen. Dazu verwenden wir den fail2ban-client-Befehl . Abhängig von Ihrer Einrichtung benötigen Sie möglicherweise sudo-Berechtigungen.

Eine IP-Adresse sperren:

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

Eine IP-Adresse sperren:

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

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

sudo fail2ban-client -h

Installieren Sie UFW (unkomplizierte Firewall)

Standardmäßig wird Debian nicht mit UFW geliefert. Für Benutzer, die UFW lieber mit Fail2ban verwenden möchten, befolgen Sie die nachstehenden Schritte.

Installieren Sie zuerst UFW:

sudo apt install ufw -y

Überprüfen Sie als Nächstes die Installation und den Build:

sudo ufw version

Beispielausgabe:

ufw 0.36
Copyright 2008-2015 Canonical Ltd.

Aktivieren Sie nun beim Systemstart und aktivieren Sie fail2ban mit dem Terminalbefehl:

sudo ufw enable

Beispielausgabe:

Firewall is active and enabled on system startup

Fügen Sie als Nächstes UFW zu Ihrer Banaktion hinzu die stattdessen nicht die Standard-IPTABLES verwenden und Sie, was Sie angeben:

Beispiel aus:

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

Beispiel für:

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

Wie Sie sehen können, ist die neue Zeile banaction =ufw wurde hinzugefügt, um die standardmäßige Sperraktion zu ändern. Sie können mehrere hinzufügen, sagen Sie, Sie möchten UFW verbieten und auch das Cloudflare-Skript verwenden, um die IP-Adresse mit ihrem Firewall-Dienst zu verbieten, zusammen mit der Meldung der IP-Adresse an AbuseIPDB Fail2ban Integration:

Beispiel:

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

Eine Liste vorgefertigter Aktionen finden Sie in /etc/fail2ban/actions.d; Alle Aktionen haben eine grundlegende Einrichtung und Anwendungsfälle.

Um die gesperrten IP-Adressen anzuzeigen, verwenden Sie den folgenden UFW-Befehl:

sudo ufw status verbrose

Beispielausgabe:

Anywhere                   REJECT      <IP ADDRESS>               # by Fail2Ban after 1 attempts against apache-botsearch

Wie Sie sehen können, können Sie sehen, dass die UFW die IP-Adresse zurückweist nachdem er durch die Fail2ban UFW-Aktion auf dem Filter Apache-Botsearch gesperrt wurde nach einem Versuch. Dies ist nur ein Beispiel für die Arbeit von Fail2ban in einer Live-Umgebung, und wie zu erwarten ist, sollten Sie Ihre Filter an Ihre Bedürfnisse anpassen.

Beachten Sie, entsperren Sie IP-Adressen nicht mit UFW. Stellen Sie sicher, dass Sie die Aktion fail2ban-client unban verwenden, oder die IP wird erneut gesperrt, wenn Sie zur Site zurückkehren, da UFW nicht mit Fail2ban kommunizieren kann.

Fail2ban aktualisieren

Fail2ban-Releases erscheinen nicht oft, sodass Sie nicht jede Woche oder sogar monatlich signifikante Änderungen sehen werden. Um Fail2ban zu aktualisieren, gilt jedoch der gleiche Vorgang, wenn Sie Ihr Debian-System auf Updates prüfen.

Verwenden Sie zuerst das apt update Befehl:

sudo apt update

Zweitens, wenn ein Update verfügbar ist, können Sie ein apt-Upgrade verwenden, das das Upgrade und alle anderen initiiert, oder falls Sie es vorziehen, fail2ban zu aktualisieren Verwenden Sie Folgendes:

sudo apt upgrade fail2ban

Fail2ban deinstallieren

Wenn Sie Fail2ban nicht mehr benötigen, verwenden Sie den folgenden Befehl, um es von Ihrem System zu entfernen:

sudo apt autoremove fail2ban --purge

Beispielausgabe:

Geben Sie Y ein, drücken Sie dann die ENTER-TASTE um mit dem Entfernen fortzufahren.

Beachten Sie, dass dadurch auch alle ungenutzten Abhängigkeiten entfernt werden, die ursprünglich mit Fail2ban installiert wurden, um sie vollständig zu entfernen.

Fail2ban-Protokolle überwachen

Viele häufige Fehler sind die Errichtung von Gefängnissen und die Flucht, ohne zu testen oder zu überwachen, was sie tun. Das Überprüfen von Protokollen ist unerlässlich, das fail2ban-Protokoll befindet sich in seinem Standardpfad /var/log/fail2ban.log .

Wenn Sie einen Server haben, der anständigen Datenverkehr empfängt, ist die Verwendung des tail -f Befehls ein ausgezeichneter Befehl, um live zuzusehen, um Probleme zu sehen und ein Auge darauf zu haben, während Sie auf anderen Servern arbeiten unten.

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.


Debian
  1. So installieren Sie Tomcat 8.5 auf Debian 9

  2. So installieren Sie MongoDB unter Debian 9

  3. So installieren Sie Nginx unter Debian 9

  4. So installieren Sie Apache unter Debian 9

  5. So installieren Sie Jenkins unter Debian 9

Installieren Sie Fail2ban auf Debian 11

So installieren und konfigurieren Sie Git unter Debian 11

So installieren Sie Fail2Ban unter Debian 8

So installieren Sie Fail2Ban unter Debian 10

So installieren Sie Go unter Debian 11

So installieren Sie Fail2Ban unter Debian 11