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

So installieren Sie Fail2ban mit Firewalld auf Rocky Linux 8

Fail2ban ist eine kostenlose Open-Source-Intrusion-Prevention-Softwarelösung, die Server vor Brute-Force-Login-Angriffen schützt. Es überwacht verschiedene Protokolldateien von SSH und anderen Webanwendungen, und wenn eine fehlgeschlagene Authentifizierung erkannt wird und die maximale Anzahl erreicht, blockiert Fail2Ban automatisch die IP-Adresse mithilfe der iptables von Firewalld. Fail2Ban ist einfach, handlich, leicht zu konfigurieren und flexibel.

In dieser Anleitung zeigen wir Ihnen, wie Sie Fail2Ban mit Firewalld auf Rocky Linux 8 installieren.

Voraussetzungen

  • Ein Server, auf dem Rocky Linux 8 auf der Atlantic.Net Cloud Platform ausgeführt wird
  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Schritt 1 – Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Rocky Linux 8 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

dnf update -y

Schritt 2 – Konfigurieren Sie Firewalld

dnf info firewalld

Wenn die installiert ist, erhalten Sie die folgende Ausgabe:

Letzte Metadaten-Ablaufprüfung:vor 0:34:46 Uhr am Mittwoch, 17. November 2021, 09:52:51 Uhr UTC. Installierte PaketeName :firewalldVersion :0.8.2Release :7.el8_4Architecture :noarchSize :1.9 MSource :firewalld-0.8.2 -7.el8_4.src.rpmRepository :@SystemFrom repo :baseosSummary :Ein Firewall-Daemon mit D-Bus-Schnittstelle, der eine dynamische Firewall-URL bereitstellt:http://www.firewalld.orgLicense :GPLv2+Description :firewalld ist ein Firewall-Dienst-Daemon, der Folgendes bereitstellt eine dynamisch anpassbare:Firewall mit einer D-Bus-Schnittstelle.Verfügbare PaketeName:firewalldVersion:0.9.3Release:7.el8Architektur:noarchGröße:501 kQuelle:firewalld-0.9.3-7.el8.src.rpmRepository:baseosZusammenfassung:Ein Firewall-Daemon mit D-Bus-Schnittstelle, die eine dynamische Firewall bereitstelltURL:http://www.firewalld.orgLizenz:GPLv2+Beschreibung:firewalld ist ein Firewall-Dienst-Daemon, der eine dynamische cust bereitstellt omisierbar :Firewall mit D-Bus-Schnittstelle.

Überprüfen Sie als Nächstes, ob Firewalld ausgeführt wird oder nicht.

systemctl status firewalld

Sie sollten sehen, dass der Firewalld-Dienst maskiert ist:

● firewalld.service Geladen:maskiert (Grund:Unit firewalld.service ist maskiert.) Aktiv:inaktiv (tot)

Sie müssen also den Firewalld-Dienst demaskieren. Sie können es mit dem folgenden Befehl demaskieren:

systemctl unmask firewalld

Starten Sie als Nächstes den Firewalld-Dienst und aktivieren Sie ihn so, dass er beim Systemneustart gestartet wird:

systemctl start firewalldsystemctl enable firewalld

Zu diesem Zeitpunkt ist Firewalld auf Ihrem System installiert und wird ausgeführt. Sie können jetzt mit dem nächsten Schritt fortfahren.

Schritt 3 – Fail2Ban installieren

dnf install epel-release -y

Als nächstes installieren Sie das Fail2Ban-Paket mit dem folgenden Befehl:

dnf install fail2ban fail2ban-firewalld -y

Sobald Fail2Ban installiert ist, starten und aktivieren Sie den Fail2Ban-Dienst mit dem folgenden Befehl:

systemctl start fail2bansystemctl enable fail2ban

Sie können die Fail2Ban-Version mit dem folgenden Befehl überprüfen:

fail2ban-client --version

Beispielausgabe:

Fail2Ban v0.11.2

Schritt 4 – Fail2Ban konfigurieren

Benennen Sie zuerst die Firewalld-Konfigurationsdatei für Fail2Ban mit dem folgenden Befehl um:

mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

Kopieren Sie als Nächstes die Standardkonfigurationsdatei von Fail2Ban:

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

Bearbeiten Sie als Nächstes die Datei jail.local:

nano /etc/fail2ban/jail.local

Suchen Sie die folgenden Zeilen:

banaction =iptables-multiportbanaction_allports =iptables-allports

Und ersetzen Sie sie durch die folgenden Zeilen:

banaction =firewallcmd-rich-rules[actiontype=]banaction_allports =firewallcmd-rich-rules[actiontype=]

Speichern und schließen Sie die Datei und starten Sie dann Fail2Ban neu, um die Änderungen zu übernehmen:

systemctl restart fail2ban

An diesem Punkt ist Fail2Ban so konfiguriert, dass es mit Firewalld funktioniert.

Schritt 5 – SSH-Dienst mit Fail2Ban sichern

Um den SSHD-Dienst zu schützen, bearbeiten Sie die Datei jail.local:

nano /etc/fail2ban/jail.local

Suchen Sie den Abschnitt [sshd] und aktivieren Sie ihn, indem Sie die folgenden Zeilen hinzufügen:

[sshd]enabled =trueport =sshlogpath =%(sshd_log)sbackend =%(sshd_backend)sbantime =10mfindtime =10mmaxretry =5

Speichern und schließen Sie die Datei und starten Sie dann Fail2Ban neu, um die Änderungen zu übernehmen:

systemctl restart fail2ban

Sie können jetzt den Status von Fail2Ban mit dem folgenden Befehl überprüfen:

Systemctl-Status fail2ban

Sie erhalten die folgende Ausgabe:

● fail2ban.service - Fail2Ban-Dienst geladen:geladen (/usr/lib/systemd/system/fail2ban.service; deaktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Mi 2021-11-17 10:34 :49 UTC; vor 2s Dokumente:man:fail2ban(1) Prozess:21154 ExecStop=/usr/bin/fail2ban-client stop (code=exited, status=0/SUCCESS) Prozess:21185 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS) Main PID:21186 (fail2ban-server) Tasks:5 (limit:11411) Memory:14.6M CGroup:/system.slice/fail2ban.service └─21186 /usr/bin/ python3.6 -s /usr/bin/fail2ban-server -xf startNov 17 10:34:49 rockylinux systemd[1]:Fail2Ban Service starten...17.Nov 10:34:49 rockylinux systemd[1]:Fail2Ban Service gestartet 17. November 10:34:49 rockylinux fail2ban-server[21186]:Server bereit

Schritt 6 – Überprüfen Sie die Fail2Ban-Firewall

An diesem Punkt ist Fail2Ban so konfiguriert, dass es den SSH-Dienst schützt. Jetzt ist es an der Zeit zu prüfen, ob Fail2Ban funktioniert.

Überprüfen Sie zunächst die Jail-Konfiguration mit dem folgenden Befehl:

fail2ban-Client-Status

Sie sollten die folgende Ausgabe sehen:

Status|- Jail-Nummer:1`- Jail-Liste:sshd

Gehen Sie jetzt zum Remote-Computer und versuchen Sie, sich mit einem falschen Passwort mit dem SSH-Server zu verbinden. Nach Erreichen der maximalen Anzahl von Wiederholungen (5 Mal) wird Ihre IP-Adresse von Fail2Ban blockiert.

Überprüfen Sie nun die von Fail2Ban blockierte IP-Adresse mit dem folgenden Befehl:

fail2ban-client status sshd

Sie sollten die folgende Ausgabe erhalten:

Status für das Jail:sshd|- Filter| |- Aktuell fehlgeschlagen:1| |- Insgesamt fehlgeschlagen:6| `- Journal-Übereinstimmungen:_SYSTEMD_UNIT=sshd.service + _COMM=sshd`- Aktionen |- Derzeit gesperrt:1 |- Gesamt gesperrt:1 `- Gesperrte IP-Liste:27.61.171.115

Sie können die von Firewalld hinzugefügten Regeln mit dem folgenden Befehl überprüfen:

firewall-cmd --list-rich-rules

Sie erhalten die folgende Ausgabe:

rule family="ipv4" source address="27.61.171.115" port port="ssh" protocol="tcp" lehnen Sie type="icmp-port-unreachable" ab

Weitere Informationen finden Sie auch in den Fail2Ban-Protokollen:

tail -f /var/log/fail2ban.log

Beispielausgabe:

2021-11-17 10:37:21,837 fail2ban.filter [21186]:INFO [sshd] Found 27.61.171.115 - 2021-11-17 10:37:212021-11-17 10:37:21,859 fail2ban. Aktionen [21186]:NOTICE [sshd] Ban 27.61.171.1152021-11-17 10:37:27,220 fail2ban.filter [21186]:INFO [sshd] Found 27.61.171.115 - 2021-11-17 10:37:27 

Schlussfolgerung

Herzliche Glückwünsche! Sie haben Fail2Ban erfolgreich mit Firewalld installiert. Sie können jetzt Fail2Ban auf Ihrem Server implementieren, um ihn vor Brute-Force-Login-Angriffen zu schützen. Probieren Sie es auf Ihrem VPS-Hosting-Konto von Atlantic.Net aus!


Linux
  1. So installieren und konfigurieren Sie Fail2ban unter Alma Linux 8

  2. So installieren Sie ModSecurity mit Nginx unter Rocky Linux 8

  3. So installieren Sie Gulp.js unter Rocky Linux 8

  4. So installieren Sie Apache Kafka unter Rocky Linux 8

  5. So installieren Sie Python 3.10 auf Rocky Linux 8

So installieren Sie Sails.js Framework mit Nginx unter Rocky Linux 8

So installieren Sie Memcached auf Rocky Linux 8

So installieren Sie phpBB mit LEMP auf Rocky Linux 8

So installieren Sie Anaconda Python unter Rocky Linux 8

So installieren Sie Jenkins unter Rocky Linux 8

So installieren Sie Fail2ban unter Rocky Linux 8