it-swarm.com.de

Liste aller Benutzer, die eine Verbindung über SSH herstellen können

Ich habe vor kurzem angefangen, meine Auth-Logs zu durchsuchen und überraschenderweise Bots aus China gefunden, die versucht haben, sich auf diese Weise zu brutalisieren (habe mich nicht angestrengt). Ich habe alles daran gesetzt, zahlreiche Dinge zu ändern, die Bots niemals überprüfen würden, und es wurde schwieriger, Bruteforce zu betreiben.

Meine Frage ist:

Ich versuche, eine Liste aller Benutzer zu finden, die sich über SSH bei meinem Server anmelden können. Ich weiß, dass/etc/passwd eine Liste aller Benutzer hat, aber ich weiß nicht, ob einer von ihnen (mit Ausnahme von 1) angemeldet werden kann.

Mein Ziel ist es, nur einen Benutzer zu haben, der angemeldet sein kann und der über ein wirklich sicheres Passwort verfügt.

40
tommydrum

Lesen man sshd_config für weitere Details, aber Sie können die AllowUsers Direktive in /etc/ssh/sshd_config, um die Anzahl der Benutzer zu begrenzen, die sich anmelden können.

z.B.

AllowUsers boris

würde bedeuten, dass sich nur der Benutzer boris über ssh anmelden kann.

37
dave4420

Jeder Benutzer mit einer gültigen Shell in /etc/passwd Kann sich möglicherweise anmelden. Wenn Sie die Sicherheit verbessern möchten, richten Sie SSH mit Authentifizierung mit öffentlichem Schlüssel ein (es gibt viele Informationen dazu im Internet), installieren Sie einen öffentlichen Schlüssel in der ~/.ssh/authorized_keys - Datei eines Benutzers und deaktivieren Sie die kennwortbasierte Authentifizierung . Dies verhindert, dass sich jemand außer einem Benutzer anmeldet, und setzt voraus, dass der Benutzer den passenden privaten Schlüssel in seinem Besitz hat. Stellen Sie sicher, dass der private Schlüssel eine anständige Passphrase hat.

Führen Sie SSH an einem anderen Port als 22 (d. H. 3456) aus, um zu verhindern, dass Bots versuchen, einzusteigen. Dies erhöht nicht die Sicherheit, verhindert jedoch, dass Script-Kiddies und Bots Ihre Protokolle bei fehlgeschlagenen Versuchen überladen.

26
Jim Garrison

Jeder Benutzer, dessen Login-Shell-Einstellung in /etc/passwd Eine interaktive Shell ist, kann sich anmelden. Ich glaube nicht, dass es eine absolut zuverlässige Methode gibt, um festzustellen, ob ein Programm eine interaktive Shell ist. Prüfen, ob es in /etc/shells ist, ist wahrscheinlich so gut wie möglich.

Andere Benutzer können sich ebenfalls anmelden, aber das von ihnen ausgeführte Programm sollte ihnen nicht viel Zugriff auf das System ermöglichen. Und Benutzer, die sich überhaupt nicht anmelden dürfen, sollten /etc/false Als Shell haben - dies wird sie nur sofort abmelden.

7
Barmar