为小组存储生产密码的最佳实践

Posted

技术标签:

【中文标题】为小组存储生产密码的最佳实践【英文标题】:Best practices for storing production passwords for small groups 【发布时间】:2010-10-17 06:49:38 【问题描述】:

这不是技术问题。小型组织如何保护必须在几个人之间共享的敏感信息的安全,例如生产服务器的 root 密码?并非所有需要访问权限的人都在同一个位置工作。新密码可以通过电话分发,但是在存储密码时应该为团队成员执行哪些规则?

更新:这个问题与正确使用 root 密码无关——这只是一个例子。也许一个更好的例子是 SSL 密码或任何其他必须在执行管理任务的人之间共享的密码。事实是,需要生成和存储 root 密码等,并且通常需要不止一个人访问,有时这些人在不同的位置工作。问题是关于存储协议的。谢谢。

【问题讨论】:

【参考方案1】:

您不应该向任何服务器、生产服务器或其他服务器分发(或使用)root 密码。您不应该共享密码。

人们应该以自己的身份登录(身份验证)使用自己的用户 ID 密码;这是图片的一半。

正确登录后,他们应该被授予适当的权限(图片的授权方面)。您可以将sudo 之类的东西用于一般操作系统目的,以及数据库内部的权限机制等。

这是两个不同的问题。不要越过溪流!

【讨论】:

【参考方案2】:

我个人建议面临类似问题的人使用 keepass 或 roboform 之类的东西来存储密码。这些程序使用个人记住的主密码加密拇指驱动器上的密码,因此他们只需要记住主密码。如果有人丢失了他们的拇指驱动器,他们将有一个时间窗口,他们可以报告被破坏的拇指驱动器,并允许您更改密码。根据主密码的强度,窃取 U 盘的人将需要一段时间才能暴力破解主密码以获取所有其他存储的密码。

此外,请避免超过 3 人共享任何帐户,如果有的话!相反,请考虑为每个人创建一个具有同等访问权限的帐户。如果恶意员工有权访问他们知道共享的帐户,他们可能更容易做恶意事情,因为他们知道您无法追究他们的责任,因为可能是几个人中的任何一个共享该帐户。

这也意味着您不必在每次有人退出时都更改密码。相反,您只需禁用/删除他们的帐户。因此,尽管您有更多帐户要管理,但当有人离开时,您的开销会更少,因为您不必通知所有人密码已更改。

编辑:哦,Roboform 也有一个基于 SSL 的在线密码同步服务。所以你可以让人们通过同步来检索密码。习惯了就好了。

【讨论】:

【参考方案3】:

随着sudo 的出现,我们很少需要再使用root 密码了。在我的老店里,root 密码写在卡片上,密封在信封里,锁在系统管理员区的抽屉里。那些需要知道的人有抽屉的钥匙。

任何打开信封的人都必须更改密码并将新密码放入新的密封信封中。信封不经常打开。

这个系统可能是非常糟糕的专业实践,但在一个人人都认识的小商店里,它运作良好。

【讨论】:

【参考方案4】:

在我以前工作的原型和研发实验室中,有一些“标准”实验室密码,用于 root、控制台、交换机等的管理访问权限等。这些密码简单易记,并且可以与任何需要的人口头分享他们。一般来说,如果您可以实际进入实验室,您就有权拥有这些密码。

在制造工厂中,为客户构建和配置了新系统。客户必须选择所有密码,然后将密码打印在一组附在系统机架上的表格上。根据需要提供远程访问,密码通过电子邮件发送或通过电话提供。一旦系统交付给客户,客户就会立即更改这些密码。

对于 IT 和生产实验室,几乎没有人拥有 root 访问权限。几乎每个人都有 sudo 访问权限,介于没有限制和只能挂载虚拟文件系统的能力之间……取决于人和系统。获得 sudo 访问权限以以 root 身份启动 shell 是非常罕见的。这留下了您以 root 身份运行的所有命令的非常清晰的日志跟踪。多年来,该日志被用于对不止一个人进行焦油和羽毛处理。

多年前,在我担任服务台/支持角色时,每个工具专家都选择了自己的管理密码。这些记录在一个信封中,该信封被锁在机房的保险箱中。如果有人需要管理员访问权限,他们可以打开信封,阅读密码,并在日志中注明他们知道密码,然后将密码重新密封在信封中。由工具所有者决定是否需要更改密码。该系统使用了 5 年多……在一个案例中,实际上帮助该项目通过了一名团队成员的“公共汽车测试”(心脏病发作)。

针对不同类型的系统和实验室的不同标准。这是合理的。我发现当需要对密码进行分片时,最好密码简单、简短并且可以口头交流(亲自或通过电话)。我发现唯一不应该共享的密码是我个人帐户的密码。任何特定于 root/admin/tool 的密码都应该至少在另一个头中备份……如果没有以某种方式记录的话。

【讨论】:

【参考方案5】:

您可以使用 anypasswordpro 之类的程序来共享密码。它已加密并具有访问级别:)

【讨论】:

【参考方案6】:

现实一点。不管你喜不喜欢,小团队中的人都会在便签上写下密码,给他们发 IM,或者想用电子邮件发给他们,尤其是当他们认为没有威胁时。

我发现对小组有用的一项措施是建立混淆协议。

例如,所有通过语音邮件、电子邮件、即时消息或纸质通讯或存储的密码都将具有 1)他们的字符顺序颠倒 2)在每个密码字符之间放置一个随机字符或单词 3) 拼音密码字符。

例如:

密码:VMaccp@ss1

混淆:一个 2 es df es 23 at sd pee fd see dfs see fxz ay df EM sd VEE

关键是要建立某种不知道协议的人几乎不可能理解的编码,这很容易记住。

请记住,这适用于没有生死攸关的小团体。显然,对于较大的团体或那些保护极其敏感的财务数据的团体来说,更繁琐的措施是合适的。

【讨论】:

以上是关于为小组存储生产密码的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

在 git 存储库中处理密码的最佳实践是啥?

加盐密码:最佳实践? [关闭]

Node 中密码存储的密码学最佳实践

存储和更新外部 API 密码的最佳实践

存储 oauth 和本地身份验证方法的最佳实践?

生产环境中的 Elasticsearch 配置和最佳实践