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

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

这是每个系统管理员最害怕的事情。基本上,我们想控制谁可以访问哪些主机。听起来很简单,但问题在于找到一个可扩展且维护成本低的解决方案。我们使用BCGF2用于配置管理,与 Cfengine 和 puppet 非常相似。

从某种角度:

  1. 网络群组可扩展性很好,但管理开销很大。维护主机、主机组、用户网络组(与 ldpa 组分开)似乎负担很大,但还是可行的。

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

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

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

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

答案1

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

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

答案2

OpenLDAP 的 nssov 模块建议了另一种有趣的方法。请参阅自述了解详情。

相关内容