在几个人之间共享数百个密码的最佳实践是什么? 这些密码可以保护任务关键型数据,而且除了小型团队之外永远无法看到。
我可能会写一个企业内部网上托pipe的基于Web的自定义解决scheme。 (看看http://lastpass.com的灵感,或者使用它。共享密码是它的一个特点,尽pipe它可能不适合你的音量。)
编辑 :当然,最好的解决scheme,不要分享他们。 在任何媒体中存储明文密码都是危险的,特别是当存储它们的目的是分享它们时。 有几乎无数的解决scheme,每个都带来相关的危险。 为什么不把它们放在encryption的磁盘映像上,将该映像刻录到单张CD上,将CD放入一个只有一名武装警卫才能打开的保险箱中,并且授权人员将照片ID解锁?
关键是我们并不真正了解你的情况。 你为什么要分享数以百计的关键任务密码? 他们是为你的后台Intranet,VPN,还是他们的客户密码,由于某种原因你保持明文? 是否需要在同一个安装中共享这些人? 物理转移像一个encryption的CD或打印的表格存储在保险箱中实际上是否工作? 或者,您的系统pipe理员是否在全球范围内传播,使电子手段分享他们唯一的解决scheme?
最佳做法是不要共享密码。 使用像sudo这样的工具来允许用户从他们自己的帐户获得他们需要的访问权限。 如果你有几个用户,每个用户都需要自己的账户。 LDAP(Unix / Linux)和Active Directory是从一个公共数据库授予对多个服务器的访问权限的一个很好的解决scheme。
当需要提供密码的书面副本时,请在封条上签名并注明date的信封上。 使用时更改密码。 当密码更改密封一个新的信封。
对于真正需要共享的密码,请使用Keepass之类的密码工具,这些密码工具可以将其数据库放在networking上。 与多个平台的客户端工具是更好的。 考虑一下你需要多个数据库。 记住,你需要真正相信每个有权访问这些数据的人。
我们已经和KeePass一起为了这个确切的目的。 这是一个很好的小程序,它将所有的密码存储在一个encryption的数据库文件中。 还有其他安全function,例如需要一个密钥文件和主密码才能访问密码。 这允许多层安全(将密钥文件和数据库分开),同时保证每个人都可以方便地使用所有不同的密码。 例如,您可以将应用程序和密钥文件从USB驱动器上运行,但将数据库存储在您的networking上。 这将需要证书的networking共享,主密码,以及与密钥文件的物理USB驱动器。
在几个人之间共享数百个密码的最佳实践是什么?
很简单,这有两种口味:
你没有,简单而简单。 如果您select这样做,则将密码authentication推迟到外部受信任的权威机构,并从那里控制authentication。
你这样做,但这样做,你有外部访问控制有密码或安全令牌没有logging在您使用的系统(即密码的logging是由另一个有限的可用性的密码保护)logging。 这有很多问题。
这些密码可以保护任务关键型数据,而且除了小型团队之外永远无法看到。
您应该认真考虑与目录服务集成的安全身份validation服务来解决问题。 DS / AS组合创build一个可信任的“权威”,可以充当所有用户和设备的仲裁者。 用户帐户可以将其访问权限从authentication中使用的实际密码中提取出来,这样可以很容易地将密码与访问策略“断开”。 密码的控制是通过停用用户的账户来实现的。 所以如果一个pipe理员离开,你只需closures他们的账户,他们的访问权限就会消失(因为那个人的密码只能根据DS / AS的有效性授予访问权限,确认该账户有效)。
只有当您处于允许您的设备/程序将身份validation请求分stream到外部源的环境中时,这才会起作用,因此它可能不是您的解决scheme 。 如果你有相当比例的设备/程序可以接受外部身份validation,那么我会继续这样做,如果只是把几百个密码整合到一个可pipe理的列表中,比如一打。 如果你决定走这条路,那么有几个现成的,众所周知的,经过充分testing的解决scheme。
还有一个问题,你需要多less安全。 你没有具体说明,“任务关键”是否意味着核弹头可能会降落在城市,或者“关键任务”是否意味着最新的Furbies货物不会进入城市。 如果有什么描述风险/威胁评估的话,这将会非常有帮助。
我知道这是一个古老的问题,但我最近刚刚遇到一个名为Corporate Vault的开源Web解决scheme,可能会对一些人感兴趣。 我还没有机会尝试。
我们使用一个名为Password Safe的程序。 它非常好,非常安全,您可以将数据库设置在networking驱动器上,并将需要访问的所有人和密码发送给安全自身,然后将所有用户名和密码存储在安全的地方。
一些东西:
您还需要超越将纸质密码放入安全或encryption密码的机械安全措施。 阅读具有成熟安全模型的组织如何保护密钥和安全组合。 我不推荐做你想做的事,但是如果你这样做:
像这样的程序是一个痛苦的脖子,但将作为一个激励人们采取更理智的做法。 如果你没有像我描述的那样做什么,不要去打扰密码的动作,因为总有一天你会被攻破。
https://pypi.python.org/pypi/django-pstore/使用每个用户的GPGencryption来共享密码(以及您可能希望共享的任何其他数据)。 服务器从来不知道任何密码,它只保存encryption的数据。 每个人都使用自己的私钥解密共享密钥。
系统包括权限pipe理:不是每个人都可以完全访问。
我们使用https://passwork.me作为自我托pipe的解决scheme。 但是,您也可以将密码存储在云中。
SPB钱包是一个很好的,我们曾经使用PW安全的鬼,但SPB钱包让你同步到networking共享,并同步到您的iPhone,如果你得到的应用程序。 它也有一个内置的密码生成器,你可以从简单的密码生成它们,以非常复杂的密码。 您也可以复制密码,而密码仍然显示出来,所以如果有人正在看,你可以复制它并粘贴,没有任何人看到密码。 PC应用程序在指定时间内没有活动时自动locking。
另一个select是Azure Key Vault ,它可以安全地存储你的秘密,并允许你以编程方式访问它们,轻松地旋转你的密码等等。没有好的用户界面,但是如果你对命令行访问很好,这很好。
我们的最佳做法是尽可能less地分享密码。
因此,我们举个例子: – 在根目录下使用my.cnf作为数据库的密码 – 使用ssh键login到服务器,并且只有一个root密码只能通过控制台(因此你必须有物理/ bmc访问权限) – 尽可能使用ldap(ssh,bmc,switches,redmine,….)
但是,在很less的情况下,我们无法使用这种方法(例如root密码)。 然后我们在我们的共享存储上使用keepass ,但是我们只保留那里需要的10个密码。
很好的问题。 我会对其他答案感兴趣。
这是我做的,但首先我build议尽可能使用预共享密钥。 我不知道Windows系统是否可以这样做。
由于密码的数量应该很小(在可能的情况下您正在使用密钥),因此我使用在没有NIC的系统上使用gpgencryption的纯文本文件。 所以(1)你需要物理访问和(2)密码。
编辑清晰