在少数几个人之间共享数百个密码的最佳实践是什么?这些密码可以保护关键任务数据,只有小型团队才能看到。
在少数几个人之间共享数百个密码的最佳实践是什么?这些密码可以保护关键任务数据,只有小型团队才能看到。
Answers:
我可能会写一个托管在公司Intranet上的基于Web的自定义解决方案。(请访问http://lastpass.com以获得灵感或使用它。共享密码是它的功能之一,尽管它可能不适用于您的卷。)
编辑:当然,最好的解决方案,不要分享。将明文密码存储在任何介质中都是危险的,尤其是在存储密码的目的是共享它们时。几乎有无数种解决方案,每一种都会带来相关的风险。为什么不将它们放在加密的磁盘映像上,将该映像刻录到一张CD上,将该CD放入只有一个武装警卫才能打开的保险箱中,并让授权人员出示带照片的ID才能对其进行解锁?
关键是我们并不真正了解您的情况。为什么要共享数百个关键任务密码?它们是用于后台Intranet,VPN,还是出于某些原因以明文形式保留的客户密码?您是否需要在同一安装中与之共享的所有人员?像加密CD或存储在保险箱中的打印表之类的物理转移是否真的有效?还是您的系统管理员遍布全球,使电子方式共享它们成为唯一的解决方案?
最佳做法是不共享密码。使用sudo之类的工具允许用户从其自己的帐户获取所需的访问权限。如果您有几个用户,则每个用户都应在需要的地方拥有自己的帐户。LDAP(Unix / Linux)和Active Directory是从公共数据库授予对多台服务器的访问权的很好的解决方案。
当需要密码的书面副本时,请将其密封在一个签名并注明日期的信封中。使用时更改密码。更改密码后,请密封一个新信封。
对于确实需要共享的密码,请使用诸如Keepass之类的密码工具之一,该工具可以将其数据库存储在网络上。具有用于多个平台的客户端的工具更好。考虑是否需要多个数据库。请记住,您需要真正信任可以访问此数据的每个人。
我们已经为此目的使用了KeePass。这是一个很棒的小程序,它将所有密码存储在加密的数据库文件中。还有其他安全功能,例如需要密钥文件和主密码才能访问密码。这允许多层安全性(将密钥文件和数据库分开),同时始终使每个人都可以使用所有不同的密码方便使用。例如,您可以从USB驱动器上运行该应用程序和密钥文件,但将数据库存储在网络中的某个位置。这将需要用于网络共享的凭证,主密码以及带有密钥文件的物理USB驱动器。
在少数几个人之间共享数百个密码的最佳实践是什么?
很简单,有两种口味:
你没有,简单明了。如果选择执行此操作,则将密码身份验证推迟到外部可信机构并从那里控制身份验证。
可以,但是这样做的话,您将拥有外部访问控制,这些访问控制的密码或安全性令牌未记录在您使用的系统内部(即,密码记录受另一个可用性有限的密码保护)。这有很多问题。
这些密码可以保护关键任务数据,只有小型团队才能看到。
您应该认真考虑将安全验证服务与目录服务集成在一起以解决该问题。DS / AS组合创建了一个可信任的“机构”,可以充当所有用户和设备的仲裁者。用户帐户的访问可以从身份验证中使用的实际密码中提取出来,从而很容易将密码与访问策略“断开连接”。通过禁用用户帐户来控制密码;因此,如果管理员离开,您只需关闭他们的帐户,他们的访问权限就会消失(因为该人的密码仅基于DS / AS确认该帐户有效的有效性来授予访问权限)。
仅当您处于允许设备/程序将其身份验证请求分流到外部源的环境中时,这才起作用,因此这可能不是您的解决方案。如果您有很大一部分设备/程序可以接受外部身份验证,那么我将继续执行此操作,只要将数百个密码合并为一个可管理的列表(例如十几个)即可。如果您决定走这条路,那么有几种现成的,知名的和经过测试的解决方案。
还有一个问题,您需要多少安全性。您没有指定“关键任务”是指核弹头可能落在城市上,还是“关键任务”是指最新一批的Furbies不会进入城镇。如果有描述风险/威胁评估的内容,那将真的有帮助。
一些东西:
您还需要超越将纸质密码放在保险箱中或加密密码的机械安全措施。继续阅读有关具有成熟安全模型的组织如何保护密钥和安全组合的信息。我不建议您做您想做的事情,但是如果您这样做:
像这样的程序令人头疼,但会激励人们采取更理智的做法。如果您不执行我所描述的操作,请不要费心进行锁定密码的操作,因为总有一天您会遭到破坏。
我知道这是一个老问题,但最近我遇到了一个称为Corporate Vault的基于开源Web的解决方案,这可能对某些人很有趣。我还没有机会尝试一下。
我们使用一个名为Password Safe的程序。它非常好而且非常安全,您可以将数据库设置在网络驱动器上,并将需要访问的每个用户和密码提供给保险箱本身,然后安全地存储所有加密的用户名和密码。
https://pypi.python.org/pypi/django-pstore/对共享密码(以及您可能希望共享的任何其他数据)使用每用户GPG加密。服务器永远不知道任何密码,只保存加密的数据。每个人都使用自己的私钥来解密共享的机密。
该系统包括权限管理:并非每个人都具有完全访问权限。
另一个选项是Azure Key Vault,它可以安全地存储您的秘密,并允许您以编程方式允许对其进行访问,轻松地旋转密码等。没有很好的UI,但是如果您可以使用命令行访问,那就很好了。
很好的问题。我会对其他答案感兴趣。
这是我的工作,但首先我建议尽可能使用预共享密钥。我不知道这在Windows系统中是否可行。
由于密码的数量应该很小(在可能的情况下使用密钥),因此我在没有NIC的系统上使用以gpg加密的纯文本文件。因此(1)您需要物理访问权限,并且(2)密码。
为了清晰而编辑