Kerberos授权的风险


8

我一直在花费大量时间尝试学习和理解IIS 7.5中的Windows身份验证,Kerberos,SPN和约束委派。我不明白的一件事是,为什么要为管理员,CEO等启用委派(即不禁用敏感帐户的委派)是“危险的”。有人可以简单地向我解释一下吗?请针对Intranet环境制定答案。

我的理由是,这不必担心,因为委派仅允许前端Web服务器在与其他服务器进行通信时代表Windows Authenticated人员代表。如果该人可以访问,他们也可以访问,我不明白为什么这应该引起关注。

请原谅我的无知。我主要是一名开发人员,但如今我的公司经营状况非常欠佳,我也不得不戴上服务器管理员的帽子……不幸的是,它仍然不太适合,大声笑。

Answers:


7

两个例子:

  1. 受约束的委派可以在没有用户凭据或身份验证令牌的情况下进行模拟。有关示例,请参见此答案

  2. 在更典型的“无肉”和“土豆”无限制委派场景中,无论是Windows集成身份验证还是表单身份验证,具有对用户身份验证令牌的委派访问权限都是非常强大的。从字面上看,这意味着可以使用令牌来模拟该用户访问任何网络资源。参与该过程的任何人(例如开发人员)都可以以恶意的方式使用它来获得未经授权的访问。

在这两个示例中,如果选中了“帐户是敏感帐户且无法委派”复选框,则这些都不是安全问题。也可以设计确实存在这些功能但受到严格控制的系统/功能。

应该选中该框的管理帐户,例如Enterprise Admins组的成员,因为(希望如此)那些帐户很少需要使用需要模拟的应用程序。对于能够访问敏感信息的高级管理人员(例如CIO,COO,财务/财务主管等)来说,这也是一个好主意。

因此,最重要的是,Microsoft提供此复选框和附带的警告是有充分的理由的,除非有证据表明某个特定的方案没有不利的风险承受或某种补偿性控制,否则不应将其取消或轻描淡写。这通常包括由不参与应用程序或系统的实际实现或开发的某些合格人员进行审核。


首先,非常有用和深入的答案。不能告诉你我有多赞赏。:)我仍然想知道,要利用此功能有什么必要,因为人们肯定不会获得我们执行官的资格证书。还应该注意,我们允许约束委派的系统无论如何都可以由网络上的每个员工访问。另外,我正在尝试通过集成管道模式和没有ASP.NET模拟来实现此目的。
Chiramisu 2012年

1
即使使用集成管道模式,如果存在auth令牌,IIS和正在运行的任何应用程序都可以利用它。使用Windows集成身份验证时,身份验证令牌是http标头的一部分。尝试对建议的配置执行渗透测试以确定您认为正确的方法可能很有用。
Greg Askew

哇靠!HTTP标头的一部分?它至少必须被加密对吗?否则那就太疯狂了!微软为什么还要提出如此荒唐的建议?恐怕我还没有关于笔测试的第一个线索,所以我只好信服您。不过,此特定Intranet服务器上的应用程序都没有内部限制,因此我认为这是安全的。令牌是有限的时间,可以动态生成吗?我们仅使用allow/ deny授权标签限制某些页面。
Chiramisu 2012年

2

我已经建立了1000多个客户,其中大多数不受约束。我认为必须注意,如果您不信任您的应用程序(比如说已部署在IIS上),或者您要提供我们的委派服务帐户凭据供他人自由使用,那么约束委派可能是个好主意。但是,如果您不希望任何人能够重写您的应用程序,则可以确保您的服务帐户凭据安全,并相信自己的应用程序仅将委派给他们为其设计的服务,然后在那里通常没有什么可担心的。我已经看到一些“具有安全意识”的客户非常关注此类问题,而他们的资源可能会更好地用于处理实际的安全威胁...


我非常感谢您的见解;非常有帮助。我早就放弃了在Intranet上配置委派的工作,而回过头来以特殊的帐户在IIS中运行AppPool,该帐户可以访问先前设置的必需资源。我希望重新审视这个问题并找到切实可行的解决方案,但是由于缺乏时间和代表团经验,目前暂时没有希望。:(
Chiramisu 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.