你如何pipe理大量服务器的密码?

鉴于为不同的系统设置不同的密码是多么重要,一个拥有数千台服务器的数据中心如何pipe理? 目前我只能pipe理几十台机器,但数量往往会增长,特别是虚拟机。 如果您克隆一个虚拟机,它将拥有相同的密码,如果这是自动化工作stream的一部分,则没有太多机会改变它。 如果您自动更改密码,需要安全地完成,并且您又回到了单点故障。 那么,人们做什么呢?

我应该解释一下,问题是没有考虑密码(有很多密码生成器),但是有一个高效的设置和logging过程,尤其是当机器是自动创build的。

大多数地方使用两组密码:在线authentication和离线密码。 在线authentication通常使用Kerberos等authentication/授权(AA)系统完成。 每个pipe理员用户在服务器上被分配适当的令牌和访问权限

对于关键系统的脱机pipe理,根密码是分开存储的(在我们的情况下是在一个物理上分离的系统中)。 所有对密码列表的访问都被logging下来,并且用户需要input获取服务器的根密码的动机。 之前的离线密码列表是存储在保险箱中的打印列表。

configuration虚拟机时,通常可以设置为不具有任何root密码,只需分配在线authentication/授权即可。 当您的AA服务器处于脱机状态时,您不太可能需要pipe理VM机器。

即使使用LDAP的困难,大多数系统都有一个root / superadmin帐户用于脱机身份validation,以防每个LDAP实例closures。 不应该发生的事情,迟早会发生。

在这种情况下,LDAP 可能是您的答案,但是对于脱机的根pipe理员密码,您应该使用中央CMDB,每个服务器都有一个新的随机密码,以及用于定期更改这些密码的某种自动化例程,当然还要validation已经完成了。

如果你克隆一个虚拟机(我不认为你应该这样做,但这是另一回事),必须执行一些例程,其中一个应该重置所有的密码。

编辑:要回答你的标题“你如何select大量的服务器密码?” – 你没有。 我会随机使用所有的服务器。 真正的问题是,如果有人违反了你的服务器,你将如何以及何时发现。

我build议不要在机器之间共享密码。 如果有人被破解,可能所有的机器都会被盗用。 但是,如果你喜欢重新安装它们的想法… 🙂

我不会使用你可以制定的密码,例如主机名,IP / MAC地址等的一部分。就个人而言,我会使用一些devise用来以安全的方式存储密码的软件,如Keepass 。 允许keepass为您生成密码。 我使用至less12个字符,包括数字,大写字母和小写字母,但是我使用“避免类似的字符”选项,有时候您需要手动input密码。

有了这么多系统,通过LDAP进行双因素validation就可以很好地工作 有一个因素是RSA安全。 如果一个黑客发现了一个用户密码,他们仍然需要连续至less三个RSA号码才能够复制后代。 强启动的密码策略。

我们有一个作为本地服务运行的应用程序,每隔几周select一个随机密码并进行更改。 我们使用一个连接到存储散列密码的数据库的networking门户,因为我们需要使用本地pipe理员帐户。

如果你使用的是debian,你可以

apt-get install pwgen 

然后运行

 pwgen -s 10 

你会得到这样的密码列表:

 f8v80OYXeI 5MjxYpIIv2 Tm21s5L2Cn OIcli0rFzO baOxEpe76k Lkk4RrnbU0 JxmBJ2INUf Opz0suRZ3w CItzZfEm2L e2C02fwjYI NG9szPlwiR fhr5IyY1VO 1C8GvLztE5 lYaKJFQ5vh aAjQLPShN4 w3mMCM5ZGD 58qPYdXpQv 5Ai9vo98Tu O8MEczVUvm ZMnFNJM7Yw xA92RM2SIU aGKHaR0Ow2 XCKdv966YN pEy1xnll4r 281ffAgBE4 dTCbw5eS0D dUWPqrW7GP yXTuubWHJ1 0nOFEatyuD nSefCV8yRG J7bgHIrEZ3 wDQWtG7QLz AOGGQx1agh zEDUp3Bt4I BS3m3EYf9q ... 

这些是随机select的10个字符的密码,这将是难以蛮力。 ('-s'使得它们是随机的,pwgen的默认是使它们发音)