通过LDAP访问控制100个灯箱

这是每个SysAdmin的事情要做的噩梦。 基本上我们想控制谁可以访问哪些主机。 这听起来很简单,但问题是要find一个可扩展和低维护(pipe理开销)的解决scheme。 我们使用bcfg2进行configurationpipe理,非常像Cfengine&puppet。

从某种angular度:

  1. networking组是非常可扩展的,但是带来了巨大的pipe理费用。 维护主机,主机组,用户networking组(独立于ldpa组)似乎是一个非常大的负担,但是可行的。

  2. ldap.conf (7月1日由jmozdzen发布)和基于LDAp的访问控制。 我们可以为每个主机模板化ldap.conf,并创build一个包含主机名和成员作为用户的组。 但缺点是你不能指定ldap组(用户组)访问,但只能单独使用。

  3. sshd_config限制。 但是,如果用户本地login,则不起作用。

  4. 主机属性检查。 通过在ldap.conf中取消注释pam_check_host_attr,并将主机名添加到每个用户都很好,但是自动化并不容易。

任何人都有不同的方法来解决这个问题,并且扩展和自动化?

我使用类似于“选项2”的设置 – LDAP(pam_ldap / nss_ldap)设置,其中每个服务器类在LDAP(db,web等)中都有一个组,并且该组的成员可以login到那个级别的服务器。 这与networking组的开销大致相同,但是它运行良好,因为我们的用户列表是相对静态的(您可以访问机器列表,并且访问几乎是永远)。

我们不允许LDAP用户进行控制台login(只有紧急服务和root账户可以在本地login,而且这些密码是谨慎保护的),所以在我们的情况下,只需要将ldap特定的限制应用于sshd。

OpenLDAP的nssov模块中提出了另一个有趣的方法。 详情请参阅自述文件 。