SSHGuard ist ein Open-Source-Daemon, der verwendet wird, um die Sicherheit von ssh sowie anderen Netzwerkprotokollen zu verbessern. Darüber hinaus wird es verwendet, um Brute-Force-Angriffe zu verhindern. Es wird die Systemprotokolle kontinuierlich überwachen und nachverfolgen, was bei der Verfolgung der kontinuierlichen Anmeldeversuche oder böswilligen Aktivitäten hilft. Sobald es eine solche Aktivität erkennt, blockiert es die IP sofort mit Firewall-Backends wie pf, iptables und ipfw. Dann wird die IP nach einem festgelegten Zeitintervall entsperrt. Mehrere Protokollformate wie Rohprotokolldatei, Syslog-ng und Syslog werden von SSHGuard unterstützt und bieten zusätzlichen Schutz für mehrere Dienste wie Postfix, Sendmail, vsftpd usw., einschließlich ssh.
In diesem Tutorial erfahren Sie, wie Sie SSHGuard installieren und das System konfigurieren, um Brute-Force-Angriffe in Ubuntu 20.04 zu verhindern. Beginnen wir mit der Installation.
SSHGuard-Installation
Sie können sshguard aus dem apt-Paketmanager installieren; Sie müssen lediglich den folgenden Installationsbefehl in Ihrem Terminal ausführen. Zuerst müssen wir immer die Paketinformationen vor jeder Paketinstallation mit apt aktualisieren.
$ sudo apt update
$ sudo apt install sshguard
Nach erfolgreicher SSHGuard-Installation können Sie den Status von SSHGuard mit dem Systemctl-Daemon überprüfen. Sie sehen eine Ausgabe ähnlich dem folgenden Beispiel.
$ sudo systemctl status sshguard
SSHGuard auf Ubuntu konfigurieren
Die standardmäßige Sperrzeit für Remote-Hosts beträgt 120 Sekunden, und jeder aufeinanderfolgende fehlgeschlagene Anmeldeversuch erhöht die Sperrzeit um den Faktor 1,5. Sie können die SSHGuard-Datei sshguard.conf konfigurieren, die Sie im folgenden Pfad finden.
$ sudo vim /etc/sshguard/sshguard.conf
Wie Sie im obigen Beispiel sehen können, gibt es viele Direktiven mit ihrem Standardwert. Lassen Sie uns einige Anweisungen hervorheben und wofür sie eigentlich sind.
- Die Direktive namens BACKEND enthält den Pfad des System-Firewall-Backends.
- Die Anweisung mit dem Namen THRESHOLD gibt die Anzahl der Versuche an, nach denen der Benutzer gesperrt wird.
- Die Direktive BLOCKE_TIME bestimmt die Dauer, für die der Angreifer nach aufeinanderfolgenden falschen Anmeldeversuchen gesperrt bleibt.
- Die Anweisung DETECTION_TIME bestimmt die Zeit, für die der Angreifer erkannt/aufgezeichnet wird.
- Die Direktive WHITELIST_FILE enthält den Pfad zur Datei, die die Liste der bekannten Hosts enthält.
Dann lassen Sie uns mit einer System-Firewall trainieren. Um den Brute-Force-Angriff zu blockieren, müssen Sie die Firewall wie folgt konfigurieren.
$ sudo vim /etc/ufw/before.rules
Fügen Sie dann die folgende Codezeile in die geöffnete Datei ein, genau wie im folgenden Beispiel.
:sshguard - [0:0]
-A ufw-before-input -p tcp --dport 22 -j sshguard
Code language: CSS (css)
Schreiben und beenden Sie nun die Datei und starten Sie die Firewall neu.
$ sudo systemctl restart ufw
Sobald alles eingerichtet ist, ist Ihr System bereit, die Brute-Force-Angriffe fortzusetzen.
Blockierte Hosts auf die Whitelist setzen
Die Whitelist ermöglicht es den blockierten Hosts, sich ohne Einschränkung erneut beim System anzumelden. Für die Whitelist gibt der spezifische Host dann die IP des Hosts in der Datei an, die sich am folgenden Ziel befindet.
$ sudo vim /etc/sshguard/whitelist
Nachdem Sie die IP zur Whitelist-Datei hinzugefügt haben, starten Sie den SSHGuard-Daemon und das Firewall-Backend neu, um die Änderungen zu übernehmen.
Schlussfolgerung
In diesem Tutorial habe ich Ihnen gezeigt, wie Sie SSHGuard installieren und die Sicherheitssoftware konfigurieren, um das System in die Lage zu versetzen, Brute-Force-Angriffen standzuhalten und eine zusätzliche Sicherheitsebene hinzuzufügen.
Ein weiterer interessanter Artikel könnte sein:How to Install and Use Ubuntu Linux Screenshot Tools