公司网络中是否有用于本地根支持的 Linux 权限管理系统?

公司网络中是否有用于本地根支持的 Linux 权限管理系统?

我在一家大型研究机构(10,000 名用户)工作,使用各种系统(主要是 Windows 和 Ubuntu Linux)。我不是这种网络结构的专家,但我自己在家使用 Ubuntu 工作,也喜欢安装软件。我们确实有一个 sudo 白名单,用于安装通用 dep 包。但是,我们没有完整的 sudo 访问权限。Windows 用户在 Windows 上拥有完整的管理员帐户。我的管理员告诉我,我们无法在本地笔记本电脑上拥有完整的 sudo 访问权限,因为这样我也可以将用户切换到我的管理员帐户,并获得网络范围的 root 访问权限。我想知道,是否有解决方案可以让我在没有网络范围 root 访问权限的情况下成为本地 root。我的管理员告诉我这是不可能的。

是否有人知道这样的权限管理系统,允许本地根但不允许网络范围根?

提前致谢。

答案1

通过在本地笔记本电脑上获得完全 sudo 访问权限,我还可以将用户切换到我的管理员帐户,并拥有网络范围的 root 访问权限

确实如此,但这说明了一种基于信任的老式且相当传统的网络/身份验证设置,其中存在许多薄弱环节,例如:

  • 主目录存储在 NFS 导出中(并且对它们的访问不受 Kerberos 等保护,您的工作站也不限于仅访问映射的主目录,而是可以访问所有主目录)
  • 有了完全不受限制的根访问权限,就可以很容易地使用su - admin_login 并将自己的公钥添加到管理员的~/.ssh/authorized_keys
  • 使用您自己的私有 ssh 密钥,您可以直接以该管理员身份登录所有安装了管理员主目录并允许 ssh 公钥身份验证的服务器
  • NOPASSWD当管理员在其 sudo 策略或依赖(或另一个组)成员身份中使用关键字设置其帐户时wheel,不需要后续其他身份验证/密码即可成为 root 或执行其他特权操作...

如果上述内容描述了您网络中的问题/风险,那么您的 Linux/UNIX 仍然依赖于非常经典的信任模型来确保安全。

任何有能力的管理员早就应该停止这样做了,但可能还存在一些遗留的顾虑和考虑......

当您的 Linux/UNIX 网络依赖于信任,而对资源的访问却没有其他安全保障时,受信任设备的安全性就变得极为重要。一般来说,将安全性交到最终用户手中是不明智的。换句话说,您不会向最终用户授予完全的 root 访问权限。

Windows Active Directory/域安全不太依赖信任(它比 Unix 发展得晚,而且遗留问题少得多,可以从改进的洞察力中受益),但使用基于 Kerberos 身份验证的更强大的网络安全模型。
在这方面,终端设备的安全性问题不大,因为它们不是隐式信任的,授予用户本地管理员权限的风险较小。

是否有人知道这样的权限管理系统,允许本地根但不允许网络范围根?

删除旧设置后,几乎任何系统都可以做到这一点。FreeIPA、sssd、与您的 Windows AD 域集成等等。

但这要求您的 Linux/UNIX 网络停止(仅)依赖旧式信任和基于 IP 地址/主机名的访问控制。例如,实施众多适当/更强大的身份验证系统之一,这些系统围绕本机 Kerberos 构建或与 AD 集成。

停止使用“信任”(IP 地址/主机名)作为唯一的安全控制,并在网络资源上启用适当的身份验证。例如,从包含主目录的 NFS 共享开始,并将它们迁移到始终需要“适当”的身份验证方法(如 Kerberos),或切换到也支持客户端身份验证的 CIFS/SMB。

那么,您的网络的安全性不再仅仅依赖于受信任设备的安全性,而是依赖于用户保证其凭据的安全。

一旦您这样做,您可以考虑授予像您这样的最终用户对其工作站的更多控制权。

此外:管理员可能还应该开始对其帐户应用更多的安全控制,例如不要在其集中管理的 sudo 策略中使用 NOPASSWD。

答案2

在 Ubuntu(以及全球 UNIX)中,特殊的 root 用户是超级用户。他可以做任何事情,您不能禁止某些功能而允许其他功能。如果您是 root,我们可以做您想做的事情,例如切换到其他用户帐户、更改操作系统设置、获取网络流量等...

好的做法是不允许任何人以 root 身份登录(在 ubuntu 中,该帐户默认是禁用的),并且您必须通过使用/etc/sudoers命令编辑来授予对提升的命令的访问权限visudo

在此文件中,您可以向某些用户授予某些命令的 root 访问权限,如sudoers手册条目(副本可用这里)。

因此,好的做法是禁止一切,并允许部分命令部分执行您授权的命令。我不知道其他解决方案,我很好奇是否有人以其他方式回答了这个问题。

相关内容