密码共享的最佳实践和解决scheme

我们有不同的密码,需要被我们公司的一个以上的人知道。 例如,我们的互联网路由器的pipe理员密码,我们的networking主机的密码,以及一些“非IT”的密码,如安全代码。

目前,我们为低价值系统使用“标准密码” 特设系统,并为更重要/潜在的破坏性系统口头共享密码。 我想大多数人会同意这不是一个好的系统。

我们想要的是一个用于存储“共享”密码的软件解决scheme,每个用户只能访问实际需要的密码。 理想情况下,这会提示或执行周期性的密码更改。 它还应该能够指示谁可以访问特定的密码( 例如 ,谁知道服务器XYZ的根密码?)

你能build议任何软件解决scheme存储和共享密码? 有什么特别需要警惕吗?

中小型企业的常见做法是什么?

每当我去一个新的创业公司,我都会遇到这个问题。 我做的第一件事就是用这样一个程序(或其衍生程序之一)制作一些“密码保险箱”:

http://passwordsafe.sourceforge.net/

设置强大的组合,并把它们放在networking共享上。 按责任区划划分中央基础设施,生产服务器,开发/质量保证等。

一旦有足够的动力,并假设我有适当的Windows环境依赖关系,我喜欢移动每个人到这个:

http://www.clickstudios.com.au/passwordstate.html

它具有共享和个人凭证的function。

不要忘记,如果雇员离开/被解雇,需要能够撤销密码。 在大众媒体上已经有几个案例被注意到员工被解雇,并且在他们公司使用密码离开后仍然活跃的“回头”。

这通常是2个部分:

  1. 知道所有需要改变的密码(否则你默认所有的都是单调乏味的)
  2. 使用工具或脚本手动更改它们或使过程自动化。

另一个重要的因素是确保在进行更改时遵循密码策略 – 例如,您如何知道多个帐户没有使用相同的密码,或者没有使用弱密码?

我在一家小型IT商店工作,过去一年我们一直在使用Secret Server来pipe理我们的networking设备和客户需求的密码。

他们提供“安装版本”或在线/托pipe版本。 我们使用托pipe版less于$ 100 /年(5个用户),并可以通过networking浏览器安全地访问这个密码信息。 如果您真的担心安全问题,请将其安装在您自己的服务器上,并且只能通过LAN或VPN进行访问。

另外,我最喜欢的“个人”基于networking的密码pipe理器现在提供了一个“商业版” – PassPack 。

我不确定在这种情况下它与秘密服务器是如何执行的,但是任何一种解决scheme都应该比纸屑,桌面应用程序或记忆脑海中的东西更加通用和安全。 对于“单点故障”问题,这些产品中的任何一个都可以轻松导出到CSV。

我一直在使用LastPass ,并喜欢它。 去年我花了一些时间来研究这个问题,我喜欢LastPass的做法。

  • 所有的信息都存储在他们的网站(和一个本地副本)在一个encryption的包,只有你有密码解密
  • 所有的密码都是可共享和可撤销的,你甚至可以共享它们,而无需访问密码本身(用于networkinglogin)
  • 主要浏览器的插件
  • 很多其他function

我第二次亚当的build议PasswordSafe,在networking文件夹的数据。 我在这方面有两个考虑。 一个是单一的版本,所有需要这些数据的人都能获得当前的数据。

1- PasswordSafe使用标准格式的文件,所以还有其他解决scheme可以读取,包括KeePass。

2-将密码文件放在一个安全的共享,并有一个夜间脚本将其复制到networking上的几个位置。 也许将其复制到另一台服务器上的共享(如果可能,则不在现场),并将其复制到服务器中剩余的USB驱动器中。 您希望文件至less有一个地方没有被存储的密码保护!

3-将安装程序(或程序的可执行版本)存储在与密钥文件相同的位置,以便在需要时快速获取。

4-除非必须作出更改,否则人们只能以READ-ONLY方式打开文件。

5 – 如有必要,您可以创build多个密码文件,一个用于团队中的每个人所需的凭证,另一个用于提供非常敏感的凭据。

build议转移到基于Web的解决scheme。 内部托pipe的解决scheme可以,但它似乎很麻烦。 我也担心这是一个单一的失败点。

我与我的一个客户的员工分担了不less系统的责任。 我们已经同意为最常用的帐户使用密码scheme。 其他密码存储在由客户的IT主pipe维护的(数字,密码)对的基于纸张的列表中。 用户名和主机存储在一个易于访问的数据库中。 密码是在需要知道的基础上发放的。

中小企业的惯例:

我曾经工作的三个地方使用单独的文档来详细说明不同系统的密码。 一个用于路由器和防火墙的文档,另一个用于访问服务器,另一个用于开发人员(例如数据库连接的login细节)。 访问应用程序往往不被logging(我假设,因为对于大多数你login作为自己的pipe理员权限)。

networkingpipe理员只能看到路由器密码文件,并且有权访问此文档的个人在此文件中列出。 他们的雇用条款规定,他们可以访问的login名和密码是私人的,不得与他人分享。 类似于系统pipe理员和开发人员。

现实有时密码被分享,但你可以确定谁需要知道(以及为什么),并改变需要改变的东西。 它在一个拥有50名员工的(软件)公司中运行良好。

对于很less使用的密码,例如服务器上的本地pipe理员帐户,路由器和防火墙密码等,在我的上一份工作中,大约有50个左右的商店,只有系统pipe理员才知道密码。 他们被用信封写在一张纸上。 我相信有三封由老板,系统pipe理员和总编程员签名的信封。 每个人都有一份文件的副本。 在密码被使用的情况下,我们改变了他们并且制作了新的信封。

在我目前的工作中,在一个更大的组织中,我们只有15个系统pipe理员,而几千个用户则有一个基于服务器名称计算密码的方法。 这包括一个已知的前缀和一个在纸面上足够简单的散列方法。 当密码需要改变,因为有人离开或者我们不改变前缀或散列或两者。 这样,我不知道我周围的每台机器或设备的密码,我可以计算出来,如果我需要它出于某种原因。

今天关于Passpack有一个Lifehacker的post,可能值得一看。

我以前也遇到同样的问题 我最终build立了一个系统来处理这个问题。 它将用户名和密码以高度encryption的forms存储在带有Web Interface的数据库中,这将允许您input帐户信息,并设置安全性,以便只有正确的人员或组才能访问数据。

它没有提示什么时候更改密码,因为几十台服务器上的服务使用相同的login名,并且必须提前设置密码更改。

我build立了一个完整的审计function,以便员工每次查看login时都logging下来,以便我们可以将审计日志转储到SOX审计人员的Excel中。

使用GPG和“对称”选项来encryption文本文件,其中包含所有密码。 然后,您只需向其他pipe理员提供一个密码即可。 当pipe理员离开公司时,用新的密码短语重新encryption文本文件。

Centrify一直在为我工作。

哇,好主意! 没有人提到我的首选解决scheme(顺便说一下),所以我会给KeePass留言。 恰好可扩展,使用基于密码,密钥或AD的身份validation。 这项工作对我们来说很好吗?

为了访问服务器:

提供对一个服务器的访问权限,并将其用作跳转框,并pipe理跳转框上的帐户。 任何假定被信任的跳转框都被信任到远程资源。 这样每个人都有他们自己的密码,并且特定帐户的服务器上的密码可以保密。

为了访问其他资源:

只限于必要的人员。 确保pipe理可信用户列表。 每90天更改密码并更新可信用户列表。 提前15天,7天和1天通知人们。 只将密码分发给经理,让他们确定谁需要访问。 使用实用程序logging访问,并定期让用户知道他们是密切监控的系统。 在服务器上的任何有趣的业务应该是已知的可终止的罪行。

我知道这不完全是你想要的答案,但在我的工作地点完全一样,值得信任的工作人员被给予相关密码,密码不在设备之间共享,而且不会被logging下来。 该系统往往工作得很好,因为设备的pipe理通常仅由几名工作人员负责。 我们也有很好的员工保留,因此可以长期build立信任。

您可能需要使用某种密码保险库软件 – 这样您可以授权授权用户访问它,并确保信息不会被留下的笔记泄漏。 一个好的可能甚至不显示密码,只是将其放入剪贴板中以便剪贴。

我们有一个像总统和炸弹这样的系统 – 每个人都知道一半的密码。 这样,你永远不会得到一个单一的stream氓pipe理员离开,并自己做出未经批准的变化的情况。

我在一家IT公司工作,我们有很多客户,通常我们会远程处理这个问题。 我们使用sshlogin进行故障排除。 我们在所有的客户端机器上添加了一台机器的ssh-key,这样如果我不在那里login和排除问题,这对其他人来说是很有帮助的。但是我们用来login客户端的机器macine其高度担保。 如果你想有更好的密码,可以使用数字和额外的字符。

要添加以下ssh密钥:

1.ssh-keygen -t dsa(要获得.ssh / id_dsa.pub上的ssh密钥,

  1. scp .ssh / id_dsa.pub root @ remote:〜/ tmp

  2. 在远程机器上

cat >> /tmp/id_dsa.pub .ssh / authorized_keys2

尝试login以删除macine,从另一个控制台… :)快乐sshhhhhh

拒绝使用需要密码的系统。 任何服务器都必须使用SSH密钥进行身份validation,任何使用OpenID的网站。 在防火墙内运行一个OpenID提供程序。

显然,这种情况意味着你的所有系统都可以通过SSH或HTTP访问,但是对我们来说却很有效。