如何在多服务器环境中管理凭据

如何在多服务器环境中管理凭据

我有一些软件是使用自己的加密文件来存储密码的(比如ftp、web等用密码登录外部系统,没有办法使用证书)。

在每台服务器上我都有该软件的几个实例,每个实例都有自己的密码文件。

目前,服务器的数量在不断增长,管理所有实例上的所有密码变得越来越困难。

不幸的是,一些服务器处于隔离网络中,它们无法访问某些集中式存储,但反之亦然。

我的第一个想法是创建一个 git 存储库,用 gpg 加密每个密码并将其存储在那里,然后在部署系统内交付,但安全团队对这个想法并不满意,因为即使在加密视图中将密码存储在存储库中也是不安全的(他们的话)。

我什么也想不到。有没有办法以最小的努力实现安全可靠的密码存储,并管理所有最新的密码?

附言:如果这很重要的话,我到处都戴着红帽子。

答案1

你可以看看免费IPA它利用 LDAP 和 kerberos 来验证用户身份。这是一个相当完整和庞大的系统,但它确实有效。

以下是一些维基百科写道:

FreeIPA 是 Red Hat 赞助的开源项目,旨在提供易于管理的身份、策略和审计 (IPA) 套件,主要针对 Linux 和 Unix 计算机网络。FreeIPA 可与 Novell 的身份管理器或 Microsoft 的 Active Directory 进行比较,因为它们的目标和机制相似。

答案2

虽然这可能有点不切实际,但也许你可以折中一下。在最大的网络或主副本(可能是更新最多的副本)上,将文件放在共享存储上。这至少可以解决你的一个网络域问题。

听起来你可以推送到网络但不能交叉安装(???)。这有点奇怪,我期望网络在物理上是不同的,除非你指的是某种软件部署。如果你有防火墙解决方案,你可以设置由客户端主机安装的中央存储,并确保这是它可以通过导出规则访问的唯一卷。

否则,运行复制计划。根据交叉同步涉及的手动工作量,也许您应该设置某种复制。让您的用户知道,主系统上的密码只会偶尔更改,然后覆盖其他系统。

答案3

如果你需要同时在多个节点上拥有某些东西,可以从所有节点写入,也可以从所有节点读取,并且无需访问中央存储系统,那么你应该看看 ceph (http://ceph.com/)。Ceph 是一个分布式对象存储,它为您无法适应的应用程序提供标准访问的文件系统。

如果 Ceph 作为分布式文件系统不是您的解决方案,无论出于何种原因,您都可以看看 Linux 中的一些其他分布式文件系统。

http://en.wikipedia.org/wiki/List_of_file_systems#Distributed_file_systems

相关内容