使用 Puppet 和 Active Directory 进行用户身份验证

使用 Puppet 和 Active Directory 进行用户身份验证

我刚刚开始在一家政府机构的实习,我的第一个任务是为我们内部的 120 多台 Redhat 和 Windows 服务器开发用户系统。内部服务器群由 Puppet 管理。现在,每个人都使用相同的 root/admin 帐户登录,这应该不言而喻,为什么这是一个巨大的问题,原因有很多。我没有确切的数字,但我们谈论的是至少有 30 个人使用同一个帐户 - 而他们的许多工作不需要这种级别的访问/特权。我已经为这个问题提出了两种解决方案,我非常感谢你们对这些解决方案的反馈。

1)通过 AD 向服务器群进行身份验证

这个想法是设置一个身份验证服务器(最好是两个,以实现冗余),该服务器使用 SSSD/FreeIPA 连接到政府 AD,如果用户通过身份验证,他们将被授予访问服务器群的权限,在那里使用 Puppet 来管理他们的权限。通过 AD 管理权限不是一种选择,因为该组织由控制 AD 的更高实例管理。我的经理和我更喜欢这种解决方案,因为我们可以让其他管理部门管理帐户,这样就不需要两个独立的系统了。如果政府组织有一个与主 AD 分开的独立用户系统,那么就需要提供有关用户活动的每月报告,而我的部门真的很忙,所以我们想避免这样的任务。

2)本地用户权限管理

另一个解决方案是放弃身份验证服务器,只通过 Puppet 管理用户系统及其权限。这样,我们就可以完全控制,而不必依赖管理。这样做的缺点是,我们将拥有一个必须管理的单独用户系统。如果系统没有删除旧员工/顾问,这当然会造成安全威胁,但最重要的是 - 我们没有时间再做耗时的任务。

在阅读有关此主题的文章和其他帖子后,我了解到 SSSD/FreeIPA 可能是可行的方法,但我不确定。那么,你们觉得呢?哪种建议的解决方案最好,以及/或者是否有第三个更好的解决方案?

提前致谢!

答案1

来自美国政府实验室工作人员的回答。将您的系统加入 AD 域。realm工具与 Red Hat 7 配合良好。配置 sssd 进行用户身份验证。使用 puppet 管理 /etc/security/access.conf 以控制用户访问,puppet 还控制 /etc/sudoers 和 /etc/sudoers.d。本质上,使用您的选项 1。此外,设置 syslog 以将所有安全日志发送到具有有限访问权限的中央日志服务器。您现在拥有由主 AD 控制的帐户,这样就少了一个麻烦。所有登录和 sudo 请求都记录到中央 syslog 服务器,因此您可以从一个地方提取使用情况报告。我还会锁定 root 帐户,使其无法通过 ssh 登录,这样您就可以强制人们使用 su 或 sudo。让经理不鼓励将 su 作为常规选项。

祝你实习顺利。这是一个很棒的项目。

相关内容