Halten Sie es für eine gute Praxis, eine Möglichkeit zu implementieren, die es einem Administrator ermöglicht, sich unter Umgehung des Kennworts als anderer Benutzer anzumelden? Dies kann durch ein Hauptkennwort oder eine Funktion innerhalb der Benutzerverwaltung "Als dieser Benutzer anmelden" implementiert werden.
Administratoren fordern eine solche Funktion an, um beispielsweise versuchen zu können, ein gemeldetes Problem zu reproduzieren oder um zu überprüfen, ob Zuschüsse in Ordnung sind.
security
problem-solving
Dan McGrath
quelle
quelle
Antworten:
Nein überhaupt nicht. Dies verstößt gegen die Aufgabentrennung.
Es verursacht auch Chaos, wenn man sich auf Protokolle verlässt, um Benutzeraktionen anzuzeigen.
Wenn Sie solche Dinge wirklich überprüfen müssen, sollte der Administrator auch über Dummy-Testkonten verfügen, die wie die Benutzer eingerichtet sind. Auf diese Weise können sie bestätigen, dass Zuschüsse usw. zuerst für den Testbenutzer korrekt funktionieren.
Abgesehen davon sollten Administratoren nicht immer alle Rechte erhalten, die ein Benutzer hat. Beispielsweise kann ein Benutzer gültige Gründe haben, Kreditkartennummern in einem System anzuzeigen. Ein Administrator sollte nicht; Diese Daten sind nicht Teil ihrer Arbeit. Dies ist wiederum auf die Aufgabentrennung zurückzuführen.
Minimieren Sie Ihre Gefährdung, indem Sie die Gewährung unangemessener Rechte minimieren. Dies sollte auch Administratoren einschließen ...
quelle
Unter dem Gesichtspunkt der Sicherheit und sauberen Programmierprinzipien ist dies keine gute Idee. Aber es kann für den Administrator eine enorme Bequemlichkeit in der täglichen Arbeit sein, weshalb ich dafür bin, wenn es gut implementiert ist.
Für mich müsste eine gute Implementierung die folgenden Anforderungen erfüllen:
Das System meldet Sie als den betreffenden Benutzer an, umgeht jedoch die Kennwortauthentifizierung, wenn Sie als Administrator angemeldet sind.
Das System erkennt durch ein Flag, dass dies nicht Benutzer x ist, sondern ein Administrator, der als Benutzer x angemeldet ist. Jede Protokollierungsfunktion würde den Unterschied widerspiegeln.
Es gibt keine Möglichkeit, von der Benutzeranmeldung zurück zur Administratorebene "auszubrechen".
Dies kann die Sicherheit tatsächlich verbessern, da der Administrator nicht nach den Anmeldeinformationen der Benutzer suchen und diese verwenden muss, was in der Realität häufig aus den im OP genannten Gründen der Fall ist: Auf dem Konto des Benutzers muss etwas überprüft, getestet usw. werden .
quelle
Wie immer ... kommt es darauf an. Es gibt keine einfache Antwort und beide Systeme werden in der Praxis verwendet (z. B. Windows: Der Administrator kann sich nicht als Benutzer anmelden, ohne das Kennwort zurückzusetzen, im Vergleich zu Linux: Der Administrator kann sich als lokaler Benutzer mit anmelden
su
).Es ist klar, dass es die sicherere Option ist, dem Administrator nicht zu erlauben, sich als anderer Benutzer anzumelden. Sie müssen also entscheiden, ob der zusätzliche Komfort (das Debuggen von Problemen, die nur für einen bestimmten Benutzer auftreten) das Risiko überwiegt. Wenn Sie sich für die Implementierung einer solchen Option entscheiden, stellen Sie sicher, dass eine strenge Protokollierung erfolgt, damit ein Administrator (oder jemand, der ein Administratorkennwort erhalten hat) seine Spuren nicht verbergen kann.
Alternativ können Sie das von Windows verwendete Muster verwenden: Ein Administrator kann sich nicht als anderer Benutzer anmelden, aber ein Administrator kann das Kennwort eines Benutzers zurücksetzen. Auf diese Weise kann ein Administrator Zugriff erhalten, aber der Benutzer weiß immer , dass jemand auf sein Konto zugegriffen hat.
quelle
sudo
sich nicht als lokaler Benutzer an, sondern führen Sie nur einen Prozess als Benutzer aus (a la Window's "Als Benutzer ausführen "). Verwenden Sie, um sich als lokaler Benutzer anzumeldensu
. Ansonsten stimme ich zu.sudo -i
.sh
ausführbaren Datei zu tun als mit den erteilten Berechtigungen.su - user
undsudo -u user sh
den gleichen Zugang gewähren; Der Unterschied besteht darin, dasssh
verschiedene Startskripte ausgeführt werden.Nun, phpBB3 verfügt über eine Funktion zum Testen der Benutzerberechtigungen für Administratoren, die sehr hilfreich ist. Außerdem können Sie das Benutzerkonto nicht wirklich stören, sondern nur die Erfahrung erhalten, die sie basierend auf ihren Berechtigungen gemacht haben.
Das Anmelden als jemand anderes bringt jedoch eine Reihe von Problemen mit sich, wie andere bereits erwähnt haben.
quelle
Ja, eine solche Funktionalität kann problematisch sein, aber manchmal gibt es keinen anderen Weg, so dass es notwendig sein könnte.
Einige Beispiele:
su - <username>
die das gleiche Ergebnis wie die Anmeldung dieses Benutzers liefert, jedoch kein Kennwort für root erfordert).Wie bereits erwähnt, gibt es häufig keine andere praktische Möglichkeit, das Problem eines Benutzers zu beheben, wenn komplexe Einstellungen vom angemeldeten Benutzer abhängen (Umgebungsvariablen, Pfade, persönliche Einstellungen in einer Anwendung).
Protokollierung / Überwachung: Die Verwendung dieser Funktionalität sollte natürlich protokolliert werden. Ansonsten müssen Sie Ihrem Administrator vertrauen, um ihn nicht zu missbrauchen. Dies gilt jedoch generell für Administratoren.
Wenn Sie Ihre Administratoren stärker einschränken müssen, benötigen Sie eine Art MAC-System (obligatorische Zugriffskontrolle) ohne "echten" Administrator. Das ist möglich, aber viel komplizierter, also ist es ein Kompromiss.
quelle