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 einfachste Mechanismus, um alle fehlgeschlagenen SSH-Anmeldeversuche unter Linux aufzulisten, ist eine Kombination aus dem Anzeigen und Filtern der Protokolldateien mit Hilfe des Befehls cat oder grep.
Um eine Liste der fehlgeschlagenen SSH-Anmeldungen unter Linux anzuzeigen, geben Sie einige der in dieser Anleitung vorgestellten Befehle ein. 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 die Ausgabe des Befehls cat erzielt werden.
# cat /var/log/auth.log | grep "Failed password"
Um zusätzliche Informationen zu den fehlgeschlagenen SSH-Anmeldungen anzuzeigen, geben Sie den Befehl ein, wie im folgenden Beispiel gezeigt.
# 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 ein, um fehlgeschlagene SSH-Anmeldungen zu identifizieren.
# egrep "Failed|Failure" /var/log/secure
Eine leicht modifizierte Version des obigen Befehls zum Anzeigen 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 die fehlgeschlagen sind, zusammen mit der Anzahl der fehlgeschlagenen Versuche jeder IP-Adresse.
# 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 mit dem 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-Unit 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 häufig auf Ihren SSH-Server zugreifen, um sich mit verdächtigen oder ungültigen Benutzerkonten beim System anzumelden, sollten Sie die Firewall-Regeln Ihres Systems aktualisieren, um die IP-Adressen der fehlgeschlagenen SSH-Versuche zu blockieren, oder eine spezielle Software wie fail2ban verwenden, um diese Angriffe zu verwalten.





