FreeIPA:阻止本地root访问用户帐户

因此,在提出这个问题之后,我一直在testing驾驶FreeIPA作为基于这个问题的中央authentication源: pipe理对多个linux系统的访问

我遇到的一个问题是,如果一个用户被授予本地root权限,他们可以依次loginFreeIPA目录中的任何用户。 即使该用户无法通过HBAC规则访问该特定计算机。

示例场景:

  • FreeIPA客户机PC1
  • FreeIPA中的两名用户:Bob和Alice。
  • Alice不允许通过HBAC规则访问PC1。 Bob在PC1上有本地根目录。 Bob可以在PC1上成为Alice。

我能find的唯一信息是在/etc/pam.d/su中注释掉这一行:

auth sufficient pam_rootok.so 

如果他试图:爱丽丝,现在问爱丽丝的密码的本地根

但是,如果Bob有root权限,他可以轻松地启用上面的PAM / su行。 FreeIPA不应该阻止Alice的账户访问PC1,无论是通过直接login企图还是本地root访问? 如何阻止本地根可以以任何FreeIPA用户身份login?

我将其归类为Linux“客户”系统和FreeIPA之间的“安全漏洞”。 虽然不一定是一个“错误”,但它能扩展本地root帐户的能力,超越本地操作系统实例(它不应该)。

这个问题是关于UNIX的重复性语句,它是如何工作的是不正确的。 尽pipe“root”帐户可以创build任何帐户ID和“su”的本地化版本,但使用FreeIPA允许本地root帐户获取和访问本地实例外部存在的资源(虽然具体configuration为“不是“可用”)。

这是FreeIPA实施的一个问题,允许当地的“根”帐户越过其边界…

请在相关的Bugzilla中查看Simo Sorce的回答 ,它很好地总结了Linux安全模型,以及您可以或不可以作为本地根目录:

您好Swartz,在任何Linux机器上的root帐户都是强大的,可以做任何事情,它甚至可以创build本地用户和模拟他们没有问题。

我build议你花点时间了解Linux上的安全模型以及root帐户可以做什么(包括修改正在运行的内核)。

在任何情况下,受损机器在IPA环境中都不能做任何事情,而不是在其他任何环境中可以做的事情。

除非被盗用的机器窃取了真正有效的证书,否则它不能影响其他机器,除非你使用暗中信任任何客户机的不安全的服务。

在NFS情况下,例如root-squash实际上不是你可以信任任何安全性的东西,如果你担心访问NFS服务,你需要运行sec = krb5的NFS,每个用户的访问都通过kerberos证书进行validation。

如果您有兴趣限制用户(包括root用户)可以执行的操作,build议您阅读SELinux和function以及如何限制各种用户。

我将把它作为NOTABUG来closures,因为在报告中描述的内容中没有任何不明之处,这是所有已知的东西。

好的,如果你的用户在本机上是“root”,那么他可以在那台机器上做任何事情。 阻止“苏 – ”不会真的阻止任何事情。 “苏 – ”胜过一切,它本身就是地方性的。

对于你想要完成的事情,你需要devise一个叫做“su-”的服务的HBAC规则。 这里最重要的是没有用户帐户应该有本地的根目录。

希望这可以帮助。

你将不得不把它放在/etc/pam.d/su/etc/pam.d/runuser

 auth required pam_localuser.so