通过 LDAP 对 100 个 LAMP 盒的访问控制

Pra*_*ram 5 openldap ldap pam

这是每个系统管理员要做的噩梦。基本上我们想控制谁可以访问哪些主机。听起来很简单,问题是找到一个可扩展且低维护(管理开销)的解决方案。我们使用bcfg2进行配置管理,就像 Cfengine & puppet 一样。

从某种角度:

  1. Netgroups具有很强的可扩展性,但伴随着巨大的管理开销。维护主机、主机组、用户网络组(与 ldpa 组分开)似乎是一个很大的负担,但是是可行的。

  2. ldap.conf(转至 jmozdzen 于 7 月 1 日发表的帖子)和基于 LDAP 的访问控制。我们可以为每个主机设置 ldap.conf 模板,并创建一个以主机名和成员为用户的组。但缺点是您不能指定 ldap 组(用户团队)进行访问,而只能单独指定。

  3. sshd_config 限制。但如果用户本地登录,这将不起作用。

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

有没有人对这个问题有不同的方法,并且可以很好地扩展和自动化?

vor*_*aq7 3

我使用类似于您的“选项 2”的东西 - LDAP (pam_ldap/nss_ldap) 设置,其中每类服务器在 LDAP 中都有一个组(db、web 等),并且允许该组的成员登录到该级别的服务器。这与网络组的开销大致相同,但它效果很好,因为我们的用户列表相对静态(您可以访问机器列表,并且该访问几乎是永久的)。

我们不允许 LDAP 用户通过控制台登录(只有紧急服务和 root 帐户可以在本地登录,并且这些密码受到仔细保护),因此在我们的示例中,仅需要将 LDAP 特定的限制应用于 sshd。