让我们从设置场景开始——我是一名初级系统管理员,负责将公司转变为“最小权限”模型。这包括从我们的用户中删除管理员权限,这些用户主要使用 Windows 10。
现在在这个时间点,用户(大部分)使用具有本地管理员权限的帐户。这显然很糟糕,我们正在努力改变它。我的 n+1 在去年进行了安全审计之后提出的想法是拥有两种类型的用户:
- 第一种类型将失去管理员权限,如果需要它们,将在其计算机上收到一个具有管理员权限的帐户的临时密码(使用 LAPS,该密码将在一段时间后过期)
- 第二种类型(与我的问题最相关)由开发人员组成——一些开发人员使用 Web 技术,而另一些开发人员使用一些非常低级的语言,并且需要在半定期的基础上与注册表交互等等。
这些人将拥有一个没有特权的普通帐户,以及一个管理员帐户(或“运行身份”帐户),当他们需要以本地管理员身份运行东西时,他们将使用它们。这意味着每次 UAC 出现时都要输入登录名和密码以确认管理员权限的使用。由于显而易见的原因,此“运行身份”帐户将无法打开常规会话。
问题出在这些老派开发人员身上。恐怕这会变成办公室政治问题,因为失去管理员权限可能会带来一些生产力损失(尤其是对于那些更频繁使用特权的人),更重要的是,会带来一些挫败感。
我能理解他们来自哪里。与开发人员在同一家公司工作过,我觉得当本地管理员很舒服。但是,我也熟悉安全问题,并且知道作为工作站上的管理员是一个很大的禁忌。
最近,我不得不向第二类用户展示我们未来的计划。毋庸置疑,“老派”小组的首席开发人员对此并不满意,他提出了一个很好的问题(尽管可能来自对这种情况的狭隘观点),但我没有回答想出一个满意的答案。
如果不是本地管理员的目的是避免恶意软件的传播或入侵者利用漏洞的能力,那么作为“运行身份”管理员帐户运行需要特权的程序的用户和只是执行之间是否存在真正的区别?在受感染文件的 CAS 中直接使用管理员帐户?
首席开发人员认为,这样的政策只不过是浪费他们的时间,因为它会导致与一开始就成为本地管理员完全相同的安全漏洞。
这是准确的吗?我知道“2013 年披露的 92% 的关键 Microsoft 漏洞可以通过删除管理员权限来缓解” (SANS,2016 年,引用 Avecto 研究)和其他此类断言,我真的觉得成为本地管理员是确实不是一个好主意,但我们的解决方案真的更好吗?
我们计划在不久的将来对新解决方案进行试驾,以评估潜在的生产力损失并确定我们是否需要寻找另一个解决方案,恐怕首席开发人员和其他人很生气这个想法会故意夸大它的挫折。
这不是你要打的仗,所以不要打。如果人们对变化不满意,请告诉他们与管理层交谈。
提议的更改是否更安全?是的。新模式是否还存在风险?是的。新模型的风险是否更小?是的。
顺便说一句,我不想成为取消这件事然后发现公司数据和知识产权被勒索软件的人。天堂禁止它通过您的软件进入客户端系统。询问开发人员是否需要这种责任和义务。
取决于您的风险范围。
作为防止有针对性的攻击,该措施几乎毫无意义。
作为防止内部攻击的措施,该措施也毫无意义。
为了防止开发人员安装盗版软件并且在意外审核之前未能将其卸载 - 抱歉。
作为一种预防感染销售和会计部门计算机的普通恶意软件——好吧,它在一定程度上是有效的——而且这些恶意软件无论如何都不需要管理员访问权限。
为了防止严重的系统管理员疏忽 - 嗯,有点,因为那些养成了快速编写密码的习惯,而没有真正阅读所要求的内容。
除此之外,首先让大多数 IP 所在的开发机器或所有内容所在的备份基础设施加入 AD 是不好的。
它会产生单点故障。弄乱这些政策只会让开发人员在绕过安全剧院时感到愤怒和创造性。
ps 我还没有看到在 5 年内没有在域管理员级别进行的 AD 部署,无论合法管理员是否知道。