在 Ubuntu 上进行 RSA 密钥管理的最佳方法是什么?

在 Ubuntu 上进行 RSA 密钥管理的最佳方法是什么?

我们有 20 台服务器,我们正在转向 RSA 身份验证。当然,一些开发人员、IT 人员、一些高管等,他们都发送了他们的密钥,谁知道他们把密钥存放在哪里,谁知道他们是否设置了密码等等。然后在服务器上,我们不知道哪些用户拥有哪些密钥,最后当有人丢失密钥时,我们需要手动更换它们,等等等等……

我确信一定有更好的方法。

除了商业产品之外,我没有找到简单的密钥管理解决方案。

有哪些推荐的方法可以实现这一点?

答案1

我们使用 Puppet 管理所有密钥。每个密钥都有一条注释,用于通过姓名识别员工,当有人丢失密钥、离职或其他情况时,我们只需更新清单,Puppet 就会负责清除旧密钥并添加新密钥。

答案2

我非常理解你。当我为开发人员实施 RSA 身份验证以访问我们的服务器时,我的日子过得非常糟糕。事实上,大多数普通用户仍然因为我的“密码太神秘”而讨厌我。我无法立即解决这个问题,但也许一些关于安全的常规说明会带来一些结果,用户也会明白为什么需要这样做。

您无法在用户的计算机上执行很多操作。实际上,如果您在办公室计算机上拥有管理权限,您将能够对默认 SSH 密钥路径执行一些检查,检查正在运行的 ssh 代理、密钥密码,阅读.ssh/config以收集其他信息。但如果密钥存储在其他地方,您将无法执行很多操作。

有人告诉过你,在这种情况下你应该信任但要检查。这主要意味着你有时可以检查用户如何访问服务器,并咨询他为什么需要使用密码来保护私钥等。

至于服务器部分,我将所有用户的公钥存储在 LDAP 数据库中,并使用修补的 SSH 服务器从 LDAP 获取公钥。该补丁称为 LPK,无需与 LDAP PAM 身份验证/授权一起配置。它的主页是http://code.google.com/p/openssh-lpk/。我刚刚用这个补丁重建了 debian 包(有时会对其进行一些修改以使其更适合),并将其存储到我们公司具有高优先级的本地存储库中。LDAP 可用于存储多个用户的密钥,如果某个密钥被泄露或丢失,我只需从 LDAP 服务器中删除其公共部分即可。

相关内容