我们刚刚迁移了一组Centos6/7主机从纯OpenLDAP
身份验证转变为IPA
Kerberos。令我们惊讶的是,IPA 注册主机上的本地 root 用户可以使用“su”成为用户IPA
。
如果所选IPA
用户当前已登录,“本地 root”可以使用IPA
用户的 Kerberos 凭据以用户身份在域中的主机间移动IPA
。Kerberos 票证转发允许本地 root 用户IPA
在现场任何允许的主机上假设用户身份,直到无法再续订 Kerberos 票证(默认为 7 天)
这感觉像是倒退了一步。我们的开发人员需要在测试虚拟机上使用 root 权限
如果IPA
管理员恰好登录了测试虚拟机,那么开发人员可以sudo su
联系IPA
管理员,然后使用 Kerberos 委派登录IPA
服务器。然后他们可以对服务器进行更改IPA
,而这一切都不需要IPA
用户密码。
我明白 Linux 安全模型如何允许这样做,但感觉这是一个有缺陷的情况。
有没有办法安全地拥有不是域管理员的本地管理员?(即使它仅适用于Centos7
主机。Centos6 即将推出)
答案1
嗯,是的。PAM 允许 root 做任何想做的事情,包括冒充其他用户的身份。
如果 ipa 管理员碰巧登录到测试虚拟机,那么开发人员可以使用 sudo su 访问 ipa 管理员,然后使用 kerberos 委派登录到 ipa 服务器。
不要这样做。使用单独的管理员帐户进行身份服务,并禁止其登录随机应用程序主机。这与不使用 Windows AD DS 域管理员帐户作为日常驱动程序一样好,只是不要这样做。
也许使用基于 freeipa 主机的访问控制来阻止身份管理员接触应用程序主机,反之亦然。
此外,只将 root 权限交给你信任的人全部可以登录主机的帐户。这可能意味着用权限较低的用户和脚本替换 root 访问权限,以便以 root 身份执行特定操作。或者,为不受信任的 root 用户提供没有 IPA 身份验证的网络连接断开的主机。不太方便,但他们无法在没有 Kerberos 的系统上传递票证。