Liste aller Benutzer, die sich über SSH verbinden können
Ich habe vor kurzem angefangen, an meinem auth-logs und überraschenderweise gefunden, die bots aus china, die versuchen, um bruteforce auf dem Weg in das (nicht versuchen, hart). Ich ging um die Veränderung zahlreiche Dinge, die bots würden das nie überprüfen, und erschwert bruteforce.
Meine Frage ist:
Ich versuche zu finden, eine Liste aller Benutzer, die sich anmelden können, um meinen server über SSH. Ich weiß, dass /etc/passwd enthält eine Liste aller Benutzer, aber ich weiß nicht, ob einer von Ihnen (außer für 1) können angemeldet werden.
Mein Ziel ist nur 1 Benutzer protokolliert werden können, und dass, die user haben ein echt starkes Passwort.
InformationsquelleAutor der Frage tommydrum | 2013-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Sie
man sshd_config
für mehr details, aber Sie können dieAllowUsers
Richtlinie in/etc/ssh/sshd_config
zur Begrenzung der Benutzer, die sich einloggen können.z.B.
würde bedeuten, dass nur die
boris
konnten Benutzer-login via ssh.InformationsquelleAutor der Antwort dave4420
Jeder Nutzer mit einer gültigen shell in
/etc/passwd
können potenziell login. Wenn Sie möchten, um die Sicherheit zu verbessern, einrichten von SSH mit public-key-Authentifizierung (es gibt viele Infos im web auf, dies zu tun), installieren Sie einen öffentlichen Schlüssel eines Benutzers~/.ssh/authorized_keys
Datei, und deaktivieren Sie die Passwort-basierte Authentifizierung. Dies wird verhindern, dass jemand außer dass ein Benutzer sich anmelden, und erfordert, dass der Benutzer im Besitz des passenden privaten Schlüssel. Stellen Sie sicher, dass der private Schlüssel hat eine gute passphrase.Um zu verhindern, dass die bots aus den versuchen zu erhalten, führen Sie SSH auf einem anderen port als 22 (d.h. 3456). Dies verbessert nicht die Sicherheit, sondern verhindert, dass Skript-kiddies und bots von überladen bis Sie Ihre Protokolle mit fehlgeschlagenen versuche.
InformationsquelleAutor der Antwort Jim Garrison
Jeder Benutzer, dessen login-shell festlegen im
/etc/passwd
ist eine interaktive shell einloggen können. Ich glaube nicht, dass es ein absolut zuverlässiger Weg, zu sagen, wenn ein Programm eine interaktive shell; überprüfung, ob Sie in/etc/shells
ist wohl so gut wie Sie bekommen können.Andere Benutzer können sich auch einloggen, aber das Programm, das Sie ausführen sollten nicht zulassen, dass Sie zu viel Zugriff auf das system. Und Benutzer, die nicht zulässig sind zur Anmeldung nötig haben
/etc/false
als Ihre shell -- das Protokoll sofort aus.InformationsquelleAutor der Antwort Barmar