So verwenden Sie Fail2ban, um Ihren Linux -Server zu sichern

So verwenden Sie Fail2ban, um Ihren Linux -Server zu sichern

Die Verbesserung Ihrer Serversicherheit sollte eine Ihrer obersten Prioritäten sein, wenn es um die Verwaltung eines Linux -Servers geht. Wenn Sie Ihre Serverprotokolle überprüfen, können Sie häufig unterschiedliche Versuche zur Anmeldung von Brute Force, Web -Überschwemmungen, Exploit -Suche und viele andere finden.

Mit einer Intrusion Prevention Software wie z fail2ban, Sie können Ihre Serverprotokolle untersuchen und zusätzliche Iptables -Regeln hinzufügen, um problematische IP -Adressen zu blockieren.

Lesen Sie auch: So installieren Sie Fail2ban, um SSH auf CentOS/RHEL 8 zu schützen

In diesem Tutorial werden Ihnen angezeigt, wie Sie installiert werden fail2ban und richten Sie die grundlegende Konfiguration ein, um Ihr Linux-System vor Brute-Force-Angriffen zu schützen.

Anforderungen

Fail2ban ist in Python geschrieben und die einzige Anforderung besteht darin, Python installiert zu haben:

  • Fail2ban Branch 0.9.X benötigt Python> = 2.6 oder python> = 3.2
  • Fail2ban Branch 0.8.X benötigt Python> = 2.4
  • Root -Zugriff auf Ihr System
  • Optional iptables oder showewall und sendmail

So installieren Sie Fail2ban in Linux -Systemen

Installation von fail2ban ist relativ einfach:

Installieren Sie Fail2ban auf CentOS/Rhel

Aktualisieren Sie zunächst Ihre Pakete, aktivieren Sie die Epel Repository und installieren fail2ban wie gezeigt.

# yum update # yum install epel-release # yum install fail2ban 

Installieren Sie Fail2ban auf Debian/Ubuntu

Aktualisieren Sie zuerst Ihre Pakete und installieren Sie sich fail2ban wie gezeigt.

# APT-GET UPDATE && APT-Get Upgrade -y # APT-Get Install fail2ban 

Wenn Sie den E -Mail -Support aktivieren möchten (für Mail -Benachrichtigungen), können Sie sendmail installieren.

# yum install sendmail [on CentOS/Rhel] # APT-GET-Installieren Sie Sendmail-bins sendmail [on Debian/Ubuntu] 

Ermöglichen fail2ban Und Sendmail Verwenden Sie die folgenden Befehle:

# Systemctl start fail2ban # systemctl aktivieren fail2ban # systemctl starten sendmail # systemCTL aktivieren sendmail 

So konfigurieren Sie Fail2ban in Linux -Systemen

Standardmäßig, fail2ban verwendet die .Conf Dateien in /etc/fail2ban/ die zuerst gelesen werden. Diese können jedoch durch außer Kraft gesetzt werden durch .lokal Dateien, die sich im selben Verzeichnis befinden.

Und so kam es dass der .lokal Die Datei muss nicht alle Einstellungen aus dem enthalten .Conf Datei, aber nur diejenigen, die Sie überschreiben möchten. Änderungen sollten in der vorgenommen werden .lokal Dateien, nicht in der .Conf. Dies verhindert Überschreiben von Änderungen beim Upgrade des Fail2ban -Pakets.

Für die Zwecke dieses Tutorials werden wir die vorhandenen kopieren fail2ban.Conf Datei an fail2ban.lokal.

# CP/etc/fail2ban/fail2ban.conf/etc/fail2ban/fail2ban.lokal 

Jetzt können Sie die Änderungen in der vornehmen .lokal Datei mit Ihrem bevorzugten Texteditor verwenden. Die Werte, die Sie bearbeiten können, sind:

  • Loglevel - Dies ist das Detailniveau, das protokolliert werden muss. Mögliche Optionen sind:
    • KRITISCH
    • FEHLER
    • WARNUNG
    • NOTIZ
    • DIE INFO
    • DEBUGGEN
  • logTarget - Protokollieren Sie die Aktionen in einer bestimmten Datei. Der Standardwert ist /var/log/fail2ban.Protokoll. Sie können dies jedoch ändern in:
    • Stdout - Daten ausgeben
    • Stderr - Ausgabe aller Fehler ausgeben
    • Syslog - Nachrichtenbasierte Protokollierung
    • Datei - Ausgabe zu einer Datei
  • Steckdose - Verzeichnis, in der Socket -Datei platziert wird.
  • Pidfile - Standort der Pidfile.

Konfigurieren Sie Fail2ban -Gefängnis.lokal

Eine der wichtigsten Dateien in fail2ban ist Gefängnis.Conf Das definiert Ihre Gefängnisse. Hier definieren Sie die Dienste, für die Fail2ban aktiviert sein sollte.

Wie wir bereits erwähnt haben .Conf Dateien können während Upgrades geändert werden, daher sollten Sie a erstellen Gefängnis.lokal Datei, wo Sie Ihre Änderungen anwenden können.

Eine andere Möglichkeit, dies zu tun, besteht darin, einfach die zu kopieren .Conf Datei mit:

# CP/etc/fail2ban/Gefängnis.conf/etc/fail2ban/jail.lokal 

Falls Sie verwenden Centos oder Fedora, Sie müssen die ändern Backend In Gefängnis.lokal aus "Auto" Zu "Systemd".

Backend in fail2ban aktivieren

Wenn Sie verwenden Ubuntu/Debian, Es besteht keine Notwendigkeit, diese Änderung vorzunehmen, auch wenn sie auch verwenden systemd.

Die Gefängnisdatei aktiviert SSH standardmäßig für Debian Und Ubuntu, aber nicht auf Centos. Wenn Sie es aktivieren möchten, ändern Sie einfach die folgende Zeile in /etc/fail2ban/jail.lokal:

[sshd] enabled = true 
Ban- und Wiederholungszeiten

Sie können die Umstände konfigurieren, nach denen eine IP -Adresse blockiert ist. Zu diesem Zweck, fail2ban Verwendet Bantime, finde Zeit Und Maxretry.

  • Bantime - Dies ist die Anzahl der Sekunden, die eine IP -Adresse verboten bleibt (Standardeinstellung 10 Mindest).
  • finde Zeit - Die Zeitspanne zwischen Anmeldeversuchen, bevor der Host verboten ist. (Standard 10 Mindest). Mit anderen Worten, wenn fail2ban so eingestellt ist, dass eine IP -Adresse danach blockiert wird 3 Fehlgeschlagene Anmeldeversuche, diese 3 Versuche müssen innerhalb der FindTime -Zeit durchgeführt werden (10 mins).
  • Maxretry - Anzahl der Versuche, vor dem Antrag eines Verbots unternommen zu werden. (Standard 3).
Whitelist IP -Adresse

Natürlich möchten Sie bestimmte IP -Adressen Whitelist möchten. So konfigurieren Sie solche IP -Adressen offen /etc/fail2ban/jail.lokal Mit Ihrem bevorzugten Texteditor und der folgenden Zeile:

Ignoreip = 127.0.0.1/8 :: 1 

Dann können Sie die IP -Adressen einsetzen, die Sie ignorieren möchten. IP -Adressen sollten von Raum oder Komma getrennt sein.

E-Mail-Benachrichtigungen

Wenn Sie E -Mail -Warnungen über das Ereignis erhalten möchten, müssen Sie die folgenden Einstellungen in konfigurieren /etc/fail2ban/jail.lokal:

  • Destemail - Mailadresse, wo Sie die Benachrichtigung erhalten.
  • Absender - Der Absender, den Sie beim Empfangen der Nachricht sehen werden.
  • Absender - E -Mail -Adresse, von der Fail2ban die E -Mails sendet.

Der Standard MTA (Mail Transfer Agent) ist eingestellt auf Sendmail.

Um E -Mail -Benachrichtigungen zu erhalten, müssen Sie auch die ändern "Aktion" Einstellung von:

Action = %(action_) s 

Zu einem davon:

action = %(action_mw) s action = %(action_mwl) s 
  • %(action_mw) s - verbietet den Host und senden eine Post mit einem WHOIS -Bericht.
  • %(action_mwl) s - Verboten Sie den Host, stellen WHOIS -Informationen und alle relevanten Informationen aus der Protokolldatei bereit.

Zusätzliche Fail2ban -Gefängniskonfiguration

Bisher haben wir uns die grundlegenden Konfigurationsoptionen angesehen. Wenn Sie ein Gefängnis konfigurieren möchten, müssen Sie es in der Aktivierung aktivieren Gefängnis.lokal Datei. Die Syntax ist ziemlich einfach:

[JAIL_TO_ENABLE]… enabled = true 

Wo Sie ersetzen sollten JAIL_TO_ENABLE Zum Beispiel mit dem eigentlichen Gefängnis, "SSHD". Im Gefängnis.lokal Datei werden die folgenden Werte für den SSH -Dienst vordefiniert:

[sshd] port = ssh logpath = %(SSHD_Log) s 

Sie können den Filter aktivieren, um festzustellen, ob eine Zeile im Protokoll fehlgeschlagen ist. Der Filterwert ist tatsächlich ein Verweis auf eine Datei mit dem folgenden Dienstnamen, gefolgt von .Conf. Zum Beispiel: /etc/fail2ban/filter.D/SSHD.Conf.

Die Syntax ist:

filter = service 

Zum Beispiel:

filter = sshd 

Sie können die vorhandenen Filter im folgenden Verzeichnis überprüfen: /etc/fail2ban/filter.D/.

Verwenden Sie Fail2ban-Client

Fail2ban wird mit einem Client geliefert, der zum Überprüfen und Ändern der aktuellen Konfiguration verwendet werden kann. Da es viele Optionen bietet, können Sie sein Handbuch mit:

# Man fail2ban-Client 

Hier sehen Sie einige der grundlegenden Befehle, die Sie verwenden können. Den aktuellen Status von zu überprüfen fail2ban Oder für ein bestimmtes Gefängnis können Sie verwenden:

# Fail2ban-Client Status 

Das Ergebnis wird folgendermaßen ähnlich aussehen:

Überprüfen Sie den Status von Fail2ban

Für das einzelne Gefängnis können Sie rennen:

# Fail2ban-Client Status SSHD 

Im folgenden Screenshot werden Sie feststellen, dass ich absichtlich mehrere Anmeldungen fehlgeschlagen habe, sodass Fail2ban die IP -Adresse blockieren kann, aus der ich versucht habe, eine Verbindung herzustellen:

Überprüfen Sie den Status des Fail2ban SSH
Abschluss

Fail2ban ist ein ausgezeichnetes, gut dokumentiertes Intrusion Prevention System, das Ihrem Linux-System zusätzliche Sicherheit bietet. Es ist einige Zeit erforderlich, um sich an seine Setup und Syntax zu gewöhnen. Sobald Sie sich damit vertraut machen, können Sie sich gerne ändern und seine Regeln erweitern.