
Unter SLES 11 SP 2 habe ich mit Webmin herausgefunden, dass viele Standardbenutzer über die /bin/bash
Einstellung verfügen, die ihnen prinzipiell die Ausführung in einer SSH-Shell ermöglicht.
Ich betrachte es als mögliches Sicherheitsrisiko.
Meine Frage:
Kann ich für alle Benutzer in der folgenden Liste die Shell-Einstellung sicher ändern, bin/false
um jegliche SSH-Verbindung zu deaktivieren?
Antwort1
Beachten Sie, dass das Setzen der Login-Shell eines Benutzers auf /bin/false
(oder /bin/true
oder/sbin/nologin
was den sehr geringen Vorteil hat, eine benutzerdefinierte Nachricht anzuzeigen) unterbricht su
diesen Benutzer. Einige Systemskripte verwenden möglicherweise su
.
Das Einstellen der Shell eines Benutzers auf ein Programm, das nichts tut, ist ein Sicherheitsvorteil, aber nur, wenn sich der Benutzer aufgrund einer Fehlkonfiguration andernfalls anmelden könnte. Ein Systembenutzersollenkeine Möglichkeit zur Authentifizierung haben, in diesem Fall spielt die Shell-Einstellung keine Rolle. Es ist also eine gute Idee, aber nur, wenn dadurch nichts kaputt geht.
Sie können den SSH-Zugriff für einige Benutzer auch auf andere Weise deaktivieren: durch Hinzufügen einer DenyUsers
Direktive in /etc/sshd_config
. Dies verhindert, dass sich diese Benutzer über SSH anmelden, verhindert jedoch nicht die Anmeldung über einen anderen Dienst, wennDasDer Dienst ist falsch konfiguriert.
Eine weitere Möglichkeit, die Anmeldung bei einem Konto zu blockieren, besteht darin,PAM. Der Vorteil dieser Methode ist, dass Sie für jeden Dienst unterschiedliche Einstellungen vornehmen können, z. B. zulassen su
(was für root nur funktioniert, wenn das Konto kein Passwort hat) und alles andere deaktivieren. Sie können denpam_access
Modulum bestimmte Benutzer abzulehnen.
Antwort2
Anstatt diese Konto-Shells in zu ändern /bin/false
, würde ich empfehlen, sie in /sbin/nologin
oder den Pfad nologin
auf SLES 11 zu ändern.