Website-Suche

So finden Sie alle fehlgeschlagenen SSH-Anmeldeversuche unter Linux


Jeder Versuch, sich beim SSH-Server anzumelden, wird vom rsyslog-Daemon unter Linux verfolgt und in einer Protokolldatei aufgezeichnet. Der grundlegendste Mechanismus zum Auflisten aller fehlgeschlagenen SSH-Anmeldeversuche unter Linux ist eine Kombination aus dem Anzeigen und Filtern der Protokolldateien mithilfe des Befehls cat oder des Befehls grep.

Um eine Liste der fehlgeschlagenen SSH-Anmeldungen unter Linux anzuzeigen, führen Sie einige der in diesem Handbuch vorgestellten Befehle aus. Stellen Sie sicher, dass diese Befehle mit Root-Rechten ausgeführt werden.

Der einfachste Befehl zum Auflisten aller fehlgeschlagenen SSH-Anmeldungen ist der unten gezeigte.

grep "Failed password" /var/log/auth.log

Das gleiche Ergebnis kann auch durch den Befehl cat erreicht werden.

cat /var/log/auth.log | grep "Failed password"

Um zusätzliche Informationen zu den fehlgeschlagenen SSH-Anmeldungen anzuzeigen, geben Sie den Befehl wie im folgenden Beispiel gezeigt ein.

egrep "Failed|Failure" /var/log/auth.log

In CentOS oder RHEL werden die fehlgeschlagenen SSH-Sitzungen in der Datei /var/log/secure aufgezeichnet. Geben Sie den obigen Befehl für diese Protokolldatei aus, um fehlgeschlagene SSH-Anmeldungen zu identifizieren.

egrep "Failed|Failure" /var/log/secure

Eine leicht modifizierte Version des obigen Befehls zur Anzeige fehlgeschlagener SSH-Anmeldungen in CentOS oder RHEL lautet wie folgt.

grep "Failed" /var/log/secure
grep "authentication failure" /var/log/secure

Geben Sie den folgenden Befehl ein, um eine Liste aller IP-Adressen anzuzeigen, die versucht haben, sich beim SSH-Server anzumelden, und dabei die Anzahl der fehlgeschlagenen Versuche für jede IP-Adresse angegeben hat.

grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

Auf neueren Linux-Distributionen können Sie die vom Systemd-Daemon verwaltete Laufzeitprotokolldatei über den Befehl journalctl abfragen. Um alle fehlgeschlagenen SSH-Anmeldeversuche anzuzeigen, sollten Sie das Ergebnis über den grep-Filter weiterleiten, wie in den folgenden Befehlsbeispielen dargestellt.

journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"
journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure"  #In RHEL, CentOS 

Ersetzen Sie in CentOS oder RHEL die SSH-Daemon-Einheit durch sshd.service, wie in den folgenden Befehlsbeispielen gezeigt.

journalctl _SYSTEMD_UNIT=sshd.service | grep "failure"
journalctl _SYSTEMD_UNIT=sshd.service | grep "Failed"

Nachdem Sie die IP-Adressen identifiziert haben, die Ihren SSH-Server häufig erreichen, um sich mit verdächtigen Benutzerkonten oder ungültigen Benutzerkonten am System anzumelden, sollten Sie die Firewallregeln Ihres Systems aktualisieren, um die fehlgeschlagenen SSH-Versuche an IP-Adressen zu blockieren, oder eine spezielle Lösung verwenden Software wie fail2ban zur Bewältigung dieser Angriffe.