Wie man erfolglose SSH-Anmeldungen unter Linux auflistet

„Es gibt kein Weiß oder Schwarz, es gibt nur Grautöne. Wir können nicht sagen, ob es gut oder schlecht ist.“

Und manchmal müssen wir in den Grautönen graben und nach Problemen suchen, bevor sie auftreten. Eine dieser Überprüfungen könnte eine Suche nach fehlgeschlagenen SSH-Anmeldeversuchen sein. Glücklicherweise verfügt Ubuntu über eine Lösung, die einfach genug ist, aber leistungsfähig genug, um die meisten Fälle zu erkennen, in denen jemand schwache Passwörter und Brute-Force-Angriffe zulässt.

Jeder Versuch, sich am SSH-Server anzumelden, wird vom rsyslog-Daemon in einer Datei namens auth.log aufgezeichnet, die sich unter /var/log/auth.log befindet.

Administratoren können die Logs durchsehen, um zu sehen, ob es seltsamen eingehenden Datenverkehr gibt. Eine Protokolldatei enthält viele Informationen im Klartext, aber es ist nicht einfach, alle Ausgaben zu lesen. Wir müssen lernen, wie man grep benutzt, um die Logdatei zu durchsuchen, und in diesem Beispiel werden wir uns auf fehlgeschlagene Versuche konzentrieren.

Installieren von OpenSSH

OpenSSH ist ein Dienst, der einen sicheren Fernzugriff auf Systeme in Form eines Anwendungsschichtprotokolls ermöglicht und auch das Befehlszeilenprogramm scp enthält. Melde dich als Root-Benutzer an oder wechsle zu einem Benutzer mit sudo-Rechten und installiere dann OpenSSH mit dem folgenden Befehl:

sudo apt-get update
sudo apt-get install openssh-server -y

Dieser Befehl sollte OpenSSH und seine Abhängigkeiten installieren. Du solltest sehen, dass noch weitere Pakete installiert werden, da OpenSSH viele davon benötigt, um richtig zu funktionieren.

Installieren von OpenSSH

Nach der Installation kannst du ssh aktivieren, indem du den folgenden Befehl in ein Terminalfenster eingibst:

sudo systemctl enable ssh

Du solltest eine ähnliche Ausgabe wie in der Abbildung unten in deinem Terminalfenster sehen, wenn der Befehl erfolgreich war:

ssh aktivieren

Die folgenden Befehle können verwendet werden, um SSH auf Ubuntu-Rechnern zu stoppen, falls du es deaktivieren möchtest:

sudo systemctl stop ssh

Er kann wieder gestartet werden, indem du ihn ausführst:

sudo systemctl start ssh

Um zu überprüfen, ob der SSH-Server läuft, kannst du folgenden Befehl verwenden:

sudo systemctl status ssh

Du solltest eine ähnliche Ausgabe in deinem Terminal sehen:

ssh-Status

Im obigen Screenshot kannst du sehen, dass der SSH-Server bereits läuft und aktiviert ist, d.h. er wird beim Booten gestartet.

So findest du alle fehlgeschlagenen SSH-Anmeldeversuche

Ein fehlgeschlagener Anmeldeversuch kann verschiedene Ursachen haben und nicht nur ein automatischer Anmeldeversuch. Ein fehlgeschlagener Anmeldeversuch kann auftreten, wenn:

  • Ein Benutzer hat sein Passwort falsch eingegeben.
  • Er versucht, sich mit einem falschen Passwort anzumelden.
  • Der Server wird mit einem Brute-Force-Angriff angegriffen und Hacker versuchen, das Passwort mithilfe automatisierter Skripte zu erraten.

Der einfachste Weg, alle fehlgeschlagenen SSH-Anmeldeversuche aufzulisten, ist der folgende Befehl:

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

Du solltest eine ähnliche Ausgabe in deinem Terminal sehen:

Fehlgeschlagene SSH-Anmeldeversuche

Die folgenden Befehle können verwendet werden, um fehlgeschlagene SSH-Anmeldungen in CentOS oder RHEL in einer leicht abgewandelten Version des obigen Befehls anzuzeigen:

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

Alternativ können wir die Logs auch mit dem Systemd-Daemon und dem Befehl journalctl anzeigen:

journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"

Um eine Liste aller IP-Adressen anzuzeigen, die für fehlgeschlagene SSH-Anmeldeversuche verantwortlich sind, mit der Anzahl der Versuche daneben, kannst du diesen Befehl verwenden:

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

Es ist unvermeidlich, dass von Zeit zu Zeit ein fehlgeschlagener Anmeldeversuch auftritt. Dennoch ist es wichtig, die fehlgeschlagenen Logins auf deinem Server zu identifizieren. Es ist wichtig, die IP-Adressen zu identifizieren, die deinen SSH-Server häufig angreifen, und die notwendigen Maßnahmen zu ergreifen.

Fazit

In diesem Leitfaden haben wir beschrieben, wie man fehlgeschlagene SSH-Anmeldeversuche auf einem Linux-Rechner findet. Wir haben auch einen anderen Ansatz kennengelernt, bei dem der Befehl journalctl verwendet wird. Wir hoffen, dass du diesen Artikel hilfreich fandest. Wenn du Fragen hast, kannst du uns gerne in den Kommentaren dein Feedback geben.

Das könnte dich auch interessieren …