2013-07-31 62 views
-2

具有通常经理和员工账户的客户的项目。管理者密码管理的最佳做法是什么?他们是否应该能够看到每个人的密码?他们不应该?更改密码等管理员密码管理的好习惯?

感谢

+0

[security.se]可能是一个更好的地方。我会说管理者应该:不能看到密码,但他们应该有能力来更改密码。 – Shaz

+0

密码应该以base64编码的单向散列存储,而不是以纯文本形式存储。没有人应该能够查看密码,只能改变它。 – Amy

+5

这个问题似乎是无关紧要的,因为它不是关于编程的*** ...... –

回答

1

如果没有其他原因,能够看到别人的密码是非常糟糕的做法,因为实际上每个人都使用相同的密码进行不同的服务/站点/登录。所以这在我看来是一个很大的问题。

更重要的是,您应该始终在数据库中保持密码加密。加密密码(SHA,MD5,crypt或其他形式的散列)的通常方式不是双向的,所以一旦密码被输入并加密,它就不能被解密。当用户再次输入密码时,应用程序会执行什么操作,密码用户键入的内容,并将生成的哈希与存储在数据库中的哈希进行比较。这样可以防止任何用户看到纯文本密码,并且如果您有数据泄漏,只要您需要“安全”密码,就不会有太大用处。

密码应该有一个最小允许的大小,通常是8个或更多的字符(使得发现它们更难),并且最好由小写,大写,数字和特殊字符组成。密码越长越好。密码短语比拥有大量不同案例,数字和特殊字符的小密码更安全,因为它们需要更长的时间才能完成强力操作。

至于能够改变他人的密码,这是可取的,是的,因为用户一直放弃他们的密码,你需要一种方法来重置他们,或改变他们。如果需要,也可以是禁用用户帐户的快速肮脏方法。

定期更改密码可以长期提高安全性,因为可能被压缩的密码在更改时将不可用,但它们会带来更多忘记密码和用户抱怨的负担。

千万不要通过电子邮件发送密码,并且密码恢复功能也是安全等级中较低的一项,但安全性总是与实际使用一起保持平衡。

临时更改首次登录密码也很有趣,因为它会降低对支持的使用并阻止用户转到管理员或通过电子邮件(permnanent密码)发送密码。

对于临时密码总是使用好的随机密码,并且从不使用user1234或surname123或任何公共信息的组合,因为它非常容易获得并且可以被任何知道形成规则的人使用。

+0

很好的答案。所以基本上,只让经理更改密码,重置密码或禁用用户帐户? –

+1

澄清:哈希不是加密。 MD5,SHA等,不要执行任何加密。你不把一个密码与一个散列进行比较(你可以,但它基本没有意义),你可以将一个散列与一个散列进行比较。除此之外,优秀的答案! –

1

你永远不应该让管理者看到晚辈密码。当有初级的人想要更改密码时,应该询问旧密码和新密码。

+2

不仅看到,密码不应该存储在所有。只有他们的哈希值。不应检索密码,只能更改密码。 – Vadim