允许管理员用户以其他用户身份登录


11

您是否认为实施允许管理员用户绕过密码以其他用户身份登录的一种好习惯?这可以通过主密码或用户管理内的功能“以该用户身份登录”来实现。

例如,管理员正在要求一种这样的功能,以便能够尝试重现所报告的问题或检查授予是否正常。


9
通常,在安全工程中,允许人们以共享帐户(或其他人的帐户)身份登录(即使他们的权限相同)也不是一个好主意。认证应与授权分开进行。如果任务是在单独的用户帐户下完成的,则由他们负责
xmm0

1
+1到Mehrdad Afshari。每当我听到有人这样谈论管理员时,我都会感到畏缩。
Dan McGrath'2

2
@Mehrdad Afshari和@Dan McG都是不错的选择,但是当管理员在日常情况下需要访问用户帐户时,您打算怎么做?要求用户输入其凭据?通常,要验证或重现问题,您需要检查特定用户的设置,尤其是当帐户与复杂权限以及其他设置(其中立帐户无法以1:1重现)相关联时。
Pekka

4
您以错误的方式看待它。如果管理员需要检查用户设置,我们需要开发更好的工具来从用户那里获取此诊断信息。例如:如果Windows上的应用程序崩溃,您是要让Redmond RDP中的某些MS管理员进入您的用户帐户来签出内容,还是要一种高度自动化的方法来向其发送所需信息(由用户自行决定) ?
丹·麦克格拉斯

2
@丹:客户可能不愿意为此付费。

Answers:


15

一点都不。这违反了职责分工。

这也导致依赖日志显示用户操作的麻烦。

如果您确实需要检查类似的事情,管理员还应该拥有一个与用户一样设置的虚拟测试帐户。这样,他们可以先确认授予等,然后才能在测试用户上正常工作。

顺便说一句,管理员用户不应该总是被赋予用户所有的权限。例如,用户可能有正当理由查看系统中的信用卡号。管理员不应该;这些数据不是他们工作的一部分。再一次,这归结为职责分工。

通过最小化不适当权利的授予来最大程度地减少曝光。这也应包括管理员...


2
尽管您有有效的观点,但我认为答案并不十分明确-在某些情况下,这最佳解决方案。
sleske 2013年

11

从安全和干净的编程原则的角度来看,这不是一个好主意。但是对于管理员来说,这在日常工作中可能会带来极大的便利,这就是为什么如果实施得当,我会为您提供帮助。

对我来说,好的实现必须满足以下要求:

  • 系统以相关用户身份登录,但如果您以admin身份登录,则绕过密码身份验证。

  • 系统通过标志知道它不是用户x,而是以用户x登录的管理员。任何日志记录工具都会反映出差异。

  • 无法从用户登录“恢复”回到管理员级别。

实际上,这可以提高安全性,因为管理员不必查找并使用用户的凭据,实际上,由于OP提到的原因,通常是这种情况:必须检查,测试用户的帐户等... 。


8

与往常一样,这取决于。没有简单的答案,并且在实践中都使用了这两种系统(例如,Windows:Admin不能以用户身份登录而不重置密码,而Linux:Admin可以以本地用户身份使用su)。

显然,没有让管理员身份登录其他用户是更安全的选择,所以你必须决定是否额外的舒适性(能只出现某个用户调试问题)大于风险。如果您决定实施此选项,请确保进行严格的日志记录,以使管理员(或拥有管理员密码的人)无法隐藏其踪迹。

或者,您可以使用Windows使用的模式:管理员不能以其他用户身份登录,但是管理员可以重置用户密码。这样,管理员可以获得访问权限,但用户将始终知道有人访问了他的帐户。


Nitpick:sudo不会以本地用户身份登录,而只是以该用户身份运行一个进程(la Window的“以用户身份运行”)。要以本地用户身份登录,请使用su。否则,我同意。
sleske

@sleske:当然,感谢您发现这一点。固定。

@sleske:不一定要看sudo -i
liori 2011年

“登录外壳”的概念与sh可执行文件的行为方式有关,而与授予权限无关。su - usersudo -u user sh授予相同的访问权限;区别在于sh运行不同的启动脚本。
jpaugh

3

嗯,phpBB3为管理员提供了“测试用户权限”功能,这真的很有帮助。而且,它并不能真正让您干扰该用户帐户,而只能根据他们的权限获得他们所拥有的体验。

但是,正如其他人所述,实际上以其他人身份登录会带来许多问题。


1

是的,这样的功能可能会出现问题,但有时没有其他方法,因此可能有必要。

一些例子:

  • 在Unix / Linux上,存在此功能(su - <username>,其结果与该用户登录时的结果相同,但无需root用户密码)
  • 我正在处理的应用程序也具有此功能,这对于调试用户个人设置(我们的应用程序具有许多功能)中的问题至关重要

如前所述,如果复杂的设置取决于登录的用户(应用程序中的环境变量,路径,个人设置),则通常没有其他实用的方法可以调试用户的问题。

至于记录/审核:当然应该记录此功能的使用。除此之外,您还必须信任您的管理员不要滥用它。但这通常对管理员有效。

如果您需要进一步限制管理员,则需要某种MAC(强制性访问控制)系统,并带有“ true”管理员。这是可能的,但要复杂得多,所以这是一个折衷。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.