So sichern Sie Ihren Linux-Server mit Fail2ban

Die Verbesserung Ihrer Serversicherheit sollte eine Ihrer obersten Prioritäten bei der Verwaltung eines Linux-Servers sein. Wenn Sie Ihre Serverprotokolle überprüfen, finden Sie häufig verschiedene Versuche zur Brute-Force-Anmeldung, zu Web-Floods, zur Exploit-Suche und zu vielen anderen.

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

Lesen Sie auch: So installieren Sie Fail2Ban zum Schutz von SSH unter CentOS / RHEL 8

Dieses Tutorial zeigt Ihnen, wie Sie installieren fail2ban und richten Sie die Grundkonfiguration ein, um Ihr Linux-System vor Brute-Force-Angriffen zu schützen.

Bedarf

Fail2ban ist in Python geschrieben und die einzige Voraussetzung ist, dass Python installiert ist:

  • Für den Fail2ban-Zweig 0.9.x ist Python> = 2.6 oder Python> = 3.2 erforderlich
  • Für den Fail2ban-Zweig 0.8.x ist Python> = 2.4 erforderlich
  • 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 unter CentOS / RHEL

Aktualisieren Sie zuerst Ihre Pakete und aktivieren Sie die Warm Repository und installieren fail2ban wie gezeigt.

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

Installieren Sie Fail2Ban unter Debian / Ubuntu

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

# apt-get update && apt-get upgrade -y
# apt-get install fail2ban

Wenn Sie die E-Mail-Unterstützung (für E-Mail-Benachrichtigungen) aktivieren möchten, können Sie optional sendmail installieren.

# yum install sendmail                   [On CentOS/RHEL]
# apt-get install sendmail-bin sendmail  [On Debian/Ubuntu]

Ermöglichen fail2ban und sendmail Verwenden Sie die folgenden Befehle:

# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl start sendmail
# systemctl enable 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 von überschrieben werden .local Dateien im selben Verzeichnis.

Und so kam es dass der .local Datei muss nicht alle Einstellungen aus dem enthalten .conf Datei, aber nur diejenigen, die Sie überschreiben möchten. Änderungen sollten in der vorgenommen werden .local Dateien, nicht in der .conf. Dadurch wird verhindert, dass Änderungen beim Upgrade des fail2ban-Pakets überschrieben werden.

Für dieses Tutorial kopieren wir das vorhandene fail2ban.conf Datei an fail2ban.local.

# cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

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

  • loglevel – Dies ist der Detaillierungsgrad, der protokolliert werden soll. Mögliche Optionen sind:

    • KRITISCH
    • ERROR
    • WARNUNG
    • BEACHTEN
    • DIE INFO
    • DEBUGGEN
  • logtarget – Protokollieren Sie die Aktionen in einer bestimmten Datei. Der Standardwert ist /var/log/fail2ban.log. Sie können dies jedoch ändern in:

    • STDOUT – Gibt alle Daten aus
    • STDERR – Fehler ausgeben
    • SYSLOG – Nachrichtenbasierte Protokollierung
    • Datei – Ausgabe in eine Datei
  • Steckdose – Verzeichnis, in dem die Socket-Datei abgelegt wird.
  • PID-Datei – Speicherort der PID-Datei.

Konfigurieren Sie Fail2ban jail.local

Eine der wichtigsten Dateien in fail2ban ist jail.conf das definiert deine Gefängnisse. Hier definieren Sie die Dienste, für die fail2ban aktiviert werden soll.

Wie wir bereits erwähnt haben .conf Dateien können während Upgrades geändert werden, daher sollten Sie eine erstellen jail.local Datei, in der Sie Ihre Änderungen anwenden können.

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

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

Falls Sie verwenden CentOS oder Fedoramüssen Sie das ändern Backend im jail.local von “Auto” zu “System”.

Aktivieren Sie das Backend in Fail2ban
Aktivieren Sie das Backend in Fail2ban

Wenn Sie verwenden Ubuntu / DebianEs besteht keine Notwendigkeit, diese Änderung vorzunehmen, obwohl auch sie verwendet werden System.

Die Jail-Datei aktiviert SSH standardmäßig für Debian und Ubuntu, aber nicht an CentOS. Wenn Sie es aktivieren möchten, ändern Sie einfach die folgende Zeile in /etc/fail2ban/jail.local::

[sshd]
enabled = true
Sperr- und Wiederholungszeiten

Sie können den Umstand konfigurieren, nach dem eine IP-Adresse blockiert wird. Zu diesem Zweck, fail2ban Verwendet Bantime, finde Zeit und Maxretry.

  • Bantime – Dies ist die Anzahl der Sekunden, in denen eine IP-Adresse gesperrt bleibt (Standard) 10 Mindest).
  • finde Zeit – Die Zeitspanne zwischen Anmeldeversuchen, bevor der Host gesperrt wird. (Standard 10 Mindest). Mit anderen Worten, wenn fail2ban so eingestellt ist, dass eine IP-Adresse nachher blockiert wird 3 fehlgeschlagene Anmeldeversuche, diese 3 Versuche müssen innerhalb der Suchzeit durchgeführt werden (10 Minuten).
  • Maxretry – Anzahl der Versuche, die unternommen werden müssen, bevor ein Verbot angewendet wird. (Standard 3).
Whitelist IP-Adresse

Natürlich möchten Sie bestimmte IP-Adressen auf die Whitelist setzen. Um solche IP-Adressen zu konfigurieren, öffnen Sie /etc/fail2ban/jail.local mit Ihrem bevorzugten Texteditor und kommentieren Sie die folgende Zeile aus:

ignoreip = 127.0.0.1/8  ::1

Anschließend können Sie die IP-Adressen eingeben, die ignoriert werden sollen. IP-Adressen sollten von Leerzeichen oder Komma getrennt werden.

E-Mail-Benachrichtigungen

Wenn Sie bei dem Ereignis E-Mail-Benachrichtigungen erhalten möchten, müssen Sie die folgenden Einstellungen in konfigurieren /etc/fail2ban/jail.local::

  • destemail – E-Mail-Adresse, an die Sie die Benachrichtigung erhalten.
  • Absender – der Absender, den Sie beim Empfang der Nachricht sehen.
  • Absender – E-Mail-Adresse, von der aus 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 von diesen:

action = %(action_mw)s
action = %(action_mwl)s
  • % (action_mw) s – wird den Host sperren und eine Mail mit einem whois-Bericht senden.
  • % (action_mwl) s – verbietet den Host, stellt 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 im aktivieren jail.local Datei. Die Syntax ist ziemlich einfach:

[jail_to_enable]
. . .
enabled = true

Wo sollten Sie ersetzen jail_to_enable mit dem eigentlichen Gefängnis zum Beispiel “Sshd”. In dem jail.local 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 fehlerhaft ist. Der Filterwert ist tatsächlich ein Verweis auf eine Datei mit dem Dienstnamen gefolgt von .conf. Beispielsweise: /etc/fail2ban/filter.d/sshd.conf.

Die Syntax lautet:

filter = service

Beispielsweise:

filter = sshd

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

Verwenden Sie den fail2ban-Client

Fail2ban wird mit einem Client geliefert, mit dem die aktuelle Konfiguration überprüft und geändert werden kann. Da es viele Optionen bietet, können Sie das Handbuch durchgehen mit:

# man fail2ban-client 

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

# fail2ban-client status

Das Ergebnis sieht ungefähr so ​​aus:

Überprüfen Sie den Fail2ban-Status
Überprüfen Sie den Fail2ban-Status

Für ein einzelnes Gefängnis können Sie Folgendes ausführen:

# fail2ban-client status sshd

In der Abbildung unten sehen Sie, dass ich absichtlich mehrere Anmeldungen fehlgeschlagen habe, damit fail2ban die IP-Adresse blockieren kann, von der aus ich eine Verbindung herstellen wollte:

Überprüfen Sie den Fail2ban-SSH-Status
Überprüfen Sie den Fail2ban-SSH-Status
Fazit

Fail2ban ist ein ausgezeichnetes, gut dokumentiertes Intrusion Prevention-System, das Ihrem Linux-System zusätzliche Sicherheit bietet. Es dauert einige Zeit, bis Sie sich an das Setup und die Syntax gewöhnt haben. Sobald Sie sich jedoch damit vertraut gemacht haben, können Sie die Regeln ändern und erweitern.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *