为什么公司不授予员工在其台式机上的 root 访问权限?

信息安全 企业政策
2021-08-29 21:32:17

为什么公司通常不授予员工对仅供单个员工使用的桌面计算机的 root 访问权限?

如果我可以在我的机器上做的事情对网络的其余部分构成威胁,那么这本身不是安全漏洞吗?为什么我在自己的机器上拥有的权利会影响我对网络上的其他人所做的事情?

Unix用户管理的重点不是保护机器X上的用户A的文件不被机器X上的用户B访问吗?

如果它是关于保护用户免受他自己的伤害(例如,安装具有 root 访问权限的东西会清除硬盘驱动器):由于我在没有 root 访问权限的情况下工作,所以我所有的文件都归我自己所有;因此,如果我被愚弄并在没有 root 访问权限的情况下运行了一个邪恶的脚本,它只擦除了我自己拥有的所有文件,这就像我给它 root 访问权限并擦除了整个硬盘驱动器一样糟糕。

4个回答

安全管理员对您的机器以及在您的机器上发生的事情负责。这个责任违反了单用户 Unix 机器的基本安全模型,因为管理员(缺席的一方)是你机器上的 root,而你不是。Unix 并没有真正为这个模型设置。

管理员需要能够在您的机器上安装安全控制以保护公司,而不仅仅是数据、网络和其他节点。如果本地用户具有 root 访问权限,则管理员将不再控制这些控件。这是基本前提。

是的,有很多原因需要 root 来做坏事或将机器变成恶意节点,所有这些都是不提供 root 访问权限的好理由。是的,有很多方法可以绕过这些限制,并且本地用户可以做很多坏事。但最终,本地用户和风险所有者不能竞争对机器的控制或责任。

有几个原因让我不由自主地想到:

  • 网络上的 ARP 中毒或网络泛洪攻击通常需要对网络上的机器进行 root 访问。

  • 如果这些程序本身是非法的(例如,因为它们是盗版的或未经许可用于营利性用途或其他原因),则能够安装未经授权的程序可能会使公司承担法律责任。

  • 如果公司对员工进行任何形式的远程监控(或者希望能够进行这种监控,即使它还没有到位),给用户 root 访问权限可以让他们绕过它。

  • 没有 root 访问权限意味着您不能rm -rf /bin或任何其他破坏性的事情,任何人也不能访问您的登录详细信息,因此您的公司没有机会帮助您从这种情况中恢复过来。

  • 如果您的公司可能会在您离开后重新部署您的机器,如果您从未获得过 root 访问权限,他们可能会觉得这样做更舒服,而无需进行完整的擦除和重新安装。

  • 如果有必要,为人们提供 root 访问权限很容易;如果有必要,全面取消 root 访问权限是很困难的。

  • 最小特权的一般原则是,您不应该授予任何人/任何他们不需要的访问权限。

  • 只是没有从共享服务器的时代继续前进,因为它是一个有效的过程,没有什么能打破惯性(假设的猴子和梯子问题)。

这个答案并不意味着与现有答案相矛盾,而是补充它们,因为评论太长了。

部分原因是(正如其他人所暗示的)不能相信用户不会做愚蠢/恶意的事情。但另一部分是,当发生这种情况时,解决问题是谁的责任?

我是一名全栈开发人员和兼职 devops,不仅可以访问我自己的开发机器,还可以访问我们的一些生产服务器,并且至少可以访问它们部署的虚拟机管理程序。但是,如果我搞砸了,我就是拥有技能、专业知识和责任来解决问题的一方(或至少一方)。典型的最终用户并非如此:如果 Bobby 用户安装了恰好具有关键任务数据和/或用于关键任务工作的 Windows 安装,那么 Bobby 就不是必须参与他/她的/她请假或无偿加班以解决问题。更不用说对黄铜的回答了,鲍比如何几乎单枪匹马地击沉船的。

因此,IT 部门限制最终用户权限的部分原因是它降低了他们自己的风险暴露。

AFAIK,不让管理员访问其桌面上的标准用户的主要原因有 4 个:

  • 使用该机器作为中继来保护机器本身(并不总是非常有效)和网络上的其他机器免受可能的攻击(其他答案已经涵盖)
  • 保护 IT 支持团队免受需要大量工作才能修复的管理员级别攻击(其他答案已涵盖)
  • 使所有机器(或多或少)具有相同的配置,以便能够从一台管理机器进行简单的远程部署 - 支持团队规模最小,公司成本更低
  • 防止(或至少尝试)用户安装与其工作无关的程序——用户在工作中玩游戏,或设计未来的厨房不是很有效率......

但它不能保护机器上的数据,也不能保护用户可以访问的数据,无论是在本地机器上还是在服务器上。这就是备份来拯救的地方。