系统管理员团队如何安全地共享密码?

Chr*_*nry 83 password-management

在几个人之间共享数百个密码的最佳做法是什么?这些密码保护任务关键数据,并且在小团队之外永远无法看到。

Bil*_*hor 38

最佳做法是不要共享密码。使用诸如 sudo 之类的工具允许用户从他们自己的帐户获得所需的访问权限。如果您有几个用户,每个用户都应该在需要时拥有自己的帐户。LDAP (Unix/Linux) 和 Active Directory 是授予从公共数据库访问多个服务器的良好解决方案。

如果需要密码的书面副本,请将其密封在信封中,并在密封处签名并注明日期。使用时更改密码。更改密码后,将其密封在一个新信封中。

对于真正需要共享的密码,请使用一种密码工具,例如 Keepass,它可以在网络上拥有自己的数据库。具有多平台客户端的工具更好。考虑您是否需要多个数据库。请记住,您需要真正信任有权访问此数据的每个人。

  • 这个。在用户使用共享凭据时撤销其访问权限绝对是一场噩梦。在可能的情况下,通过用户的唯一帐户委派访问权限。在某些情况下,通用密码是不可避免的,但“数百”共享密码却是严重的设计缺陷。 (12认同)
  • 我同意通常不共享密码,但有很多情况是必要的,例如具有单一登录名的网络设备,所有系统管理员使用相同登录名进行订购的供应商站点,以及 SQL sa 用户或本地管理员密码必要的。这就是为什么我认为 KeePass 最适合这一点:它可以在多个平台上运行,具有很高的安全性,并且可以轻松组织数百个密码。 (4认同)
  • 我们对此有一个变体,我们将 root 密码写下来,但锁在一个只有系统团队可以打开的保险箱中。我们的 root 密码本身有 16 个字符长,并且以一种几乎不可能记住的方式生成。是的,那里有一些不安全因素,但如果有人闯入保险箱,我怀疑我们会有更大的问题。 (2认同)
  • 这是我们团队的一个真实用例场景:为基于 Web 的应用程序共享密码,而这些应用程序不支持单个帐户的多次登录。因此,如果团队中不止一个人需要能够访问该帐户,则需要有一种方法来共享该帐户的密码。 (2认同)

msa*_*ord 14

我可能会编写一个托管在公司 Intranet 上的基于 Web 的自定义解决方案。(查看http://lastpass.com以获得灵感或使用它。共享密码是其功能之一,尽管它可能不适用于您的音量。)

编辑:当然,最好的解决方案,不要分享它们。将明文密码存储在任何介质中都是危险的,特别是当存储它们的目的是共享它们时。几乎有无数的解决方案,每一个都带来相关的危险。为什么不将它们放在加密的磁盘映像上,将该映像刻录到一张 CD 上,将 CD 放入只有一名武装警卫才能打开的保险箱,并让授权人员出示带照片的身份证件解锁?

关键是我们真的不知道你的情况。为什么要共享数百个关键任务密码?它们是用于您的后台 Intranet、VPN,还是您出于某种原因以明文形式保存的客户密码?您需要在同一个安装中与所有人员共享它吗?像加密 CD 或存储在保险箱中的打印表这样的物理传输真的有效吗?或者您的系统管理员是否遍布全球,使共享它们的电子方式成为唯一的解决方案?

  • IMO 构建自己的安全/加密系统几乎从来都不是解决问题的正确方法。 (52认同)
  • @Zoredache,这是一堆废话。虽然,我确实认为托管密码的基于网络的解决方案很愚蠢 - 但他确实 msanford 确实说过内联网。不过还是有风险的。所有其他联网解决方案也是如此。 (2认同)
  • @Zoredache,OP 没有构建自定义加密系统,听起来他只需要一个安全的数据库。@sims 我认为精心设计的基于 Web 的解决方案没有任何问题。投票赞成的答案恰恰表明(基于网络!= http;基于网络=在线存储)。诚然,当我第二次阅读这个问题时,我同意共享大量密码的基本模型似乎是不必要的,并且可以找到更好的解决方案。但是 OP 没有提供足够的信息让我做出判断...... (2认同)
  • >@Zoredache,那是一堆废话。< 嗯,西姆斯,面对大多数加密人员,你几乎是一飞冲天。设计加密很难,让加密变得有价值更难。http://www.schneier.com/essay-037.html 有时,当面对您不知道的邪恶(即未经测试、非同行评审,可能有错误,可能有安全漏洞等) (2认同)

Pau*_*oon 11

我们使用KeePass正是为了这个目的。这是一个很棒的小程序,可以将您的所有密码存储在一个加密的数据库文件中。还有其他安全功能,例如需要密钥文件和主密码才能访问密码。这允许多层安全(将密钥文件和数据库分开),同时让每个人都可以方便地使用所有不同的密码。例如,您可以从 USB 驱动器运行应用程序和密钥文件,但将数据库存储在网络上的某处。这将需要网络共享凭据、主密码和带有密钥文件的物理 USB 驱动器。

  • 在网络上保留密码的愚蠢想法。 (2认同)

Ave*_*yne 5

在几个人之间共享数百个密码的最佳做法是什么?

很简单,这有两种口味:

  1. 你没有,简单明了。如果您选择这样做,您会将密码身份验证推迟到外部受信任的机构并从那里控制身份验证。

  2. 您这样做,但这样做时,您拥有外部访问控制,这些控制具有密码或安全令牌,这些密码或安全令牌未记录在您使用的系统内(即密码记录受另一个可用性有限的密码保护)。这有很多问题。

这些密码保护任务关键数据,并且在小团队之外永远无法看到。

您应该认真考虑与目录服务集成的安全身份验证服务来解决该问题。DS/AS 组合创建了一个受信任的“权威”,可以充当所有用户和设备的仲裁者。用户帐户可以将其访问权限从身份验证中使用的实际密码中抽象出来,从而可以轻松地将密码与访问策略“断开连接”。通过停用用户帐户来控制密码;因此,如果管理员离开,您只需关闭他们的帐户,他们的访问权限就会消失(因为该人的密码仅根据确认帐户有效的 DS/AS 的有效性授予访问权限)。

这仅在您处于允许您的设备/程序将其身份验证请求分流到外部来源的环境中时才有效,因此它可能不是您的解决方案。如果您有很大比例的设备/程序可以接受外部身份验证,那么我会继续这样做,如果只是为了将数百个密码合并到一个可管理的列表中,比如十几个。如果您决定走这条路,有几个现成的、众所周知的和经过充分测试的解决方案。

  • 活动目录。 可能是该组中最著名的一个,为您提供 Kerberos 作为身份验证选项,并为基本 DS 提供 LDAP。
  • 桑巴/Winbind。 将其视为“Active Directory Light”,您不会获得 AD 的所有功能,而是基于 NT4 的旧模型(想想 LANMAN 哈希)。这将被 Samba 4 的 AD 集成所取代,并且可能会“消失”。
  • Novell 目录服务。 我对它的了解不足以推荐它,但我知道它仍然存在。许多政府实体仍在运行 NDS,因此如果您在该“部门”中工作,您会对此感兴趣。Novell 最近移植了 NDS 作为 Linux 服务运行,但我不知道它是否仍然是一个活跃的产品(大约 2005 年)。
  • LDAP + Kerberos。 这基本上是“本土”的 Active Directory,减去所有“不错的功能”。然而,它们也是具有稳定、成熟代码库的已知组件,因此这些服务的集成通常是使事情工作所需的“定制”程度。
  • SSH Keys +(在此处插入系统管理程序,可能是傀儡)。 仅当您拥有全面的 SSH 并且所有设备都以这种方式访问​​时才有用。可以根据需要分发和撤销密钥,并且随着 SSH 密钥授予访问权限,密码变得“无关紧要”。使用像 puppet 这样的系统,您可以通过发出大量命令来添加/撤销 SSH 密钥来更新数百台机器。
  • 以上的一些组合。

还有一个问题是您需要多少安全性。您没有说明“关键任务”是否意味着核弹头可能会降落在城市上,或者“关键任务”是否意味着最新一批的 Furbies 不会进入城镇。如果有描述风险/威胁评估的内容,那真的会有所帮助。


归档时间:

查看次数:

46207 次

最近记录:

8 年,10 月 前