共享密码的最佳做法和解决方案


62

我们公司中有多个人需要知道的各种密码。例如,我们的互联网路由器的管理员密码,我们的Web主机的密码以及一些“非IT”密码(​​例如安全密码)。

当前,对于低价值的系统,我们使用“标准密码”的临时系统,对于更重要/潜在破坏性的系统,使用口头共享密码。我认为大多数人都会同意这不是一个好的系统。

我们想要的是一种用于存储“共享”密码的软件解决方案,每个访问仅限于实际需要它的人员。理想情况下,这将提示或强制定期更改密码。它还应该能够指示谁有权访问特定密码(例如,谁知道服务器XYZ的根密码?)

您可以建议任何用于存储和共享密码的软件解决方案吗? 有什么需要特别注意的吗?

中小型公司对此有何惯例?


检查出一些问题的答案从我的相似,尽管措辞不当,问题:serverfault.com/questions/3696/...
boflynn

“您能建议任何用于存储和共享密码的软件解决方案吗?” 属于Software Recommendations Stack Exchange
Cristian Ciupitu

Answers:


26

每当我去一家新公司时,我都会遇到这个问题。我要做的第一件事是使用类似这样的程序(或其衍生产品之一)制作几个“密码保险箱”:

http://passwordsafe.sourceforge.net/

设置强大的组合,然后将它们放在网络共享上。按职责范围进行细分...中央基础架构,生产服务器,开发/质量保证等。

一旦有足够的动力,并假设我具有适当的Windows环境依赖项,我想将所有人转移到此:

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

它具有共享和个人凭据的功能。


是否存在可以读取密码安全文件的linux或mac程序?对于人们使用各种操作系统的环境,有一个好的解决方案会很好。到目前为止,我发现最好的是gpg加密的文本文件。
马克


我签出了Passwordstate,但与其他付费解决方案相比似乎非常有限。一方面,密码查询不可审核。但是,它应该在下一版本中可用。
谢尔盖(Sergei)'2009年

看起来Passwordstate现在具有合理的审核功能。clickstudios.com.au/about/compliance-reporting.html
Nic

13

不被遗忘的是,如果员工离职/被解雇,则必须能够撤消密码。在流行的媒体中,有几起案例称员工被解雇并使用离开后仍然有效的密码“回到”公司。

通常分为两部分:

  1. 了解所有需要更改的密码(否则,您默认使用所有乏味的密码)
  2. 手动更改它们或使用工具或脚本自动执行过程。

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


14
只是作为观察,我会将此作为评论,而不是作为答案,因为它不能解决问题。仍然是一个好点。
Gara Marfia)

11

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

他们提供“安装版本”或在线/托管版本。我们使用托管版本的费用每年不到$ 100(5个用户),并且可以在任何地方通过网络浏览器安全地访问此密码信息。如果您真的担心安全性,请将其安装在自己的服务器上,并且只能通过LAN或VPN进行访问。

此外,我最喜欢的基于Web的“个人”密码管理器现在提供了“企业版” -PassPack

我不知道它如何执行此方案与密钥服务器,但任何一个解决方案应该是比纸张,桌面应用程序或(废料更加灵活和安全的喘气),记住在你的头上的东西。对于“单点故障”的关注,这两种产品都可以轻松导出到CSV。




Secret Server看起来很整洁,但并不便宜!
Toto

4

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

  • 所有信息都以加密捆绑存储在其站点(和本地副本)上,只有您才能解密
  • 所有密码都是可共享和可撤销的,您甚至可以共享它们而无需访问密码本身(用于Web登录)
  • 适用于主要浏览器的插件
  • 许多其他功能

3

我将Adam的PasswordSafe建议与网络文件夹中的数据放在第二位。我在这方面有两个考虑。一种是使用单一版本,以便所有需要数据的人都可以获取当前数据。

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

2-将密码文件放在安全共享上,并有一个每晚执行的脚本将其复制到网络上的几个位置。也许将其复制到另一台服务器上的共享中(如果可能,请复制到其他服务器上)并复制到服务器中剩余的USB驱动器中。您希望文件至少在一个不受文件存储密码保护的地方!

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

4-让人们以只读方式打开文件,除非他们必须进行更改。

5-如果需要,您可以创建多个密码文件,一个用于创建团队中每个人所需的凭据,一个用于创建真正敏感的凭据。

建议转向基于Web的解决方案。内部托管的解决方案可以,但是似乎很麻烦。我还担心这是一个单一的故障点。


2

我与一位客户的员工共同负责许多系统。我们已经同意对最常用的帐户使用密码方案。其他密码存储在由客户的IT主管维护的基于纸质的(数字,密码)对列表中。用户名和主机存储在易于访问的数据库中。密码是在需要知道的基础上分发的。


2

中小型公司的常见做法:

我曾在三个地方使用过单独的文档来详细说明不同系统的密码。一个用于路由器和防火墙的文档,另一个用于访问服务器的文档,一个用于开发人员的文档(例如,数据库连接的登录详细信息)。倾向于不记录对应用程序的访问(我想是因为大多数情况下,您使用管理员权限登录为自己)。

网络管理员只能看到路由器密码文档,并且此文件中列出了有权访问此文档的个人。他们的雇用条款规定,他们可以访问的登录名和密码是私有的,不得与他人共享。对于系统管理员和开发人员而言类似。

现实有时是密码被共享,但是您可以确定谁需要知道(以及为什么)并更改需要更改的内容。它在拥有50名员工的(软件)公司中运作良好。


2

对于很少使用的密码(例如服务器上的本地管理员帐户,路由器和防火墙密码等),在我上一次工作(一家约50家左右的商店)时,只有sysadmin才知道这些密码。他们被写在信封里的纸上。我相信有三个信封是由老板,SysAdmin和Head Programmer密封并签名的。每个人都有文件的副本。在使用密码的情况下,我们更改了密码并制作了新的信封。

在我目前的工作中,在一个更大的组织中,我们仅拥有15名sysadmin,而数千名用户拥有一种根据服务器名称计算密码的方法。这包括一个已知的前缀和一个哈希方法,该方法很容易在纸上完成。当由于某人离开而需要更改密码时,我们将更改前缀或哈希值,或同时更改二者。这样,虽然我不知道周围每台机器或设备的密码,但是由于某种原因我可以计算出该密码。


简洁的主意,能否请您举例说明这种易于计算的哈希方法?
Aleksandar

您可以使用ROT aka cesar密码,但可以使用1到26之间的一个随机选择的数字作为偏移量。例如,如果您的服务器名为fileserver2,前缀为Le84D,偏移量为18,则密码为Le84Dxadwkwjnwj20
Laura Thomas


1

我以前也遇到过同样的问题。我最终建立了一个系统来自己处理。它使用Web界面将用户名和密码以高度加密的形式存储在具有Web界面的数据库中,该界面允许您输入帐户信息,并设置其安全性,以便只有正确的人员或组才能访问数据。

它没有提示何时更改密码,因为数十台服务器上的服务使用相同的登录名,并且必须提前设置好密码更改。

我使用完整的审核功能来构建它,以便每次员工查看登录时都会记录该登录,以便我们可以将审核日志转储到Excel中以供SOX审核员使用。


1

将GPG与“对称”选项一起使用可加密其中包含所有密码的文本文件。然后,您需要做的就是向其他管理员提供一个密码短语。管理员离开公司后,只需使用新的密码重新加密文本文件即可。


...并更改其中包含的所有密码,对吗?
Ingmar Hupp


1

哇,好线程!没有人提到我的首选解决方案(除非通过),所以我将大声疾呼KeePass。具有基于密码,密钥或基于AD的身份验证,可以很好地扩展。对我们来说做得好吗?


1
KeePassX适用于跨平台版本(keepassx.org
Ingmar Hupp

1

对于访问服务器:

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

访问其他资源:

将访问权限限制为仅基本人员。确保管理受信任的用户列表。每90天更改一次密码,并更新受信任的用户列表。请提前15天,7天和1天通知人们即将进行的更改。仅将密码分发给管理员,并允许他们确定谁需要访问权限。使用实用程序记录访问权限,并定期让用户知道他们是受到密切监视的系统。服务器上任何有趣的事情都应该是众所周知的可冒犯的罪行。


0

我知道这不是您想要的答案,但是在我的工作场所,答案是完全一样的,可信赖的员工将获得相关的密码,这些密码不会在设备之间共享,也不会被写下来。该系统往往运行良好,因为设备的管理通常仅由几名员工负责。我们还拥有很好的员工留任率,因此可以在很长一段时间内建立信任。


0

您可能要使用某种密码库软件-这样,您可以为授权用户提供自己的访问权限,并确保信息不会因人们留下便条而泄漏。一个好的密码可能甚至不显示密码,只是将其放入剪贴板以进行剪切粘贴。


0

我们有一个像总统和炸弹这样的系统-两个人每个都知道一半的密码。这样一来,您就永远不会遇到一个流氓管理员突然离开而自行进行未经批准的更改的情况。


有趣的...但是对于公司信用卡的PIN不太实用;-)
Stewart

这很有趣。在很多情况下,我的同事(与另一半的工作人员)和我一起租借……但我确实喜欢这个主意。
cop1152 2009年

1
现在,您已经将单点故障变成了双点故障。这使密码丢失的几率翻倍。另外,这是完全不切实际的-如果我只知道每个管理员密码的一半,我将无法完成任何工作。
亚伦·布朗

我确实希望您不要表示​​您使用通用管理员帐户...没有审核记录。
Maximus Minimus 2009年

0

我在一家IT公司工作,我们有很多客户,通常我们会远程解决问题。我们使用ssh登录进行故障排除。我们在所有客户端计算机上添加了一个计算机ssh-key,以便在我不在的时候帮助其他计算机登录和解决问题。安全的。如果您想拥有好的密码,最好使用数字和额外的字符。

要添加ssh键,请执行以下操作:

1. ssh-keygen -t dsa(要在.ssh / id_dsa.pub上获取ssh密钥

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

  2. 在远程机器上

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

尝试从另一个控制台登录以删除Macine ... :) happy sshhhhhh


-1

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

显然,这种情况意味着您的所有系统都可以通过SSH或HTTP访问,但是对我们有用。


我看不到路由器,安全代码,信用卡PIN等的工作原理。–
Stewart

“拒绝使用需要密码的系统”-像PTB这样的东西,所以“拒绝”并不总是有效……
谢尔盖(Sergei)2009年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.