考虑一家公司,其交付的计算机网络是其交付的一部分。它为数百个不同的客户提供这种服务。所有电脑都需要有安全密码。这至少意味着:
- 密码应符合基本密码规则(大写、数字、特殊字符等)
- 不同的客户不应使用相同的密码。
- 密码不应轻易被猜到。
- 如果可能,网络中的不同电脑不应使用相同的密码(但这样做可能是可以接受的)。
- 由于在交付过程中还需要维护这些系统,因此运算符(operator)需要能够轻松检索特定系统的密码,而不会造成任何安全问题(例如在电子邮件中转发密码等)。
以下是我对此类设置的疑问:
- 是否建议创建一个密码方案,以便运算符(operator)无需查找即可“计算”密码? [问题是,一旦该方案被泄露,所有系统都会出现安全问题。]
- 为了保证安全,应该如何存储/检索密码? [是否有可以通过网络界面访问安全数据库的程序?]
我找到了WebKeePass在我的调查期间(看起来很有希望)。另一option是打印密码并将其保存在地下室废弃厕所的上锁文件柜中,门上贴有“小心豹子”的牌子?但我相信这对运算符(operator)来说并不方便。我想知道还有什么其他选择......
更新:“网络”界面不必向公众开放(即只能在 VPN 内访问)。
最佳答案
由于用户无法选择密码,因此密码应随机生成。如果密码是用某种算法生成的,正如你所说,一旦破解了该算法,所有的密码都可以被破解。
如果您必须存储可检索的密码,您仍然应该对它们进行加密和加盐。请参阅 adobe 最近的问题,其中 150 million of adobe's encrypted passwords were leaked 。无盐密码的问题在于,即使我无法破解加密,我仍然可以看到与我具有相同密码的每个人。
管理员检索
对于仅限管理员检索的密码,您可以使用密码保管库系统,其中工作人员输入一个密码即可解锁对其他存储密码的访问权限。理想情况下,您应该拥有一个可以选择并在屏幕上显示单个密码的系统。它应该对密码、日志访问进行加密,并由管理员控制。
这可能是一个基于 Web 的系统,但托管在 Intranet 内部,可能通过 VPN 访问。 RDP 或类似的东西也可能是可行的,甚至可能使用双因素身份验证。
遗憾的是,我们不推荐 StackOverflow 上的产品。
最终用户检索
我们过去设计了一个系统,您可以通过 HTTPS 安全网站恢复密码。您只需输入您的用户名,系统就会将随机的一次性检索代码发送到记录的电子邮件地址。
虽然我们无法控制其电子邮件帐户的安全级别,但我们至少假设只有用户知道访问电子邮件帐户的密码。这会强制用户以某种形式重新进行身份验证,以便检索其密码。
然后,他们将检索代码输入到网络表单中,并显示他们的密码。同样,该网站受 HTTPS 保护。此外,用户在交易过程中必须保持网页打开(安全 session ),并且IP地址在交易过程中不得更改。
关于security - 针对不同客户的全公司密码方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20193904/