我花了好几个小时尝试学习和理解 IIS 7.5 中的 Windows 身份验证、Kerberos、SPN 和约束委派。有一件事我不明白,那就是为什么对管理员、CEO 等来说,保持委派启用(即不禁用敏感帐户的委派)是“危险的”。有人能用简单的术语向我解释一下吗?请根据内联网环境来回答。
我的理由是,这不应该是一个问题,因为委派只是允许前端 Web 服务器在与其他服务器通信时代表经过 Windows 身份验证的用户行事。如果该用户有访问权限,他们就有访问权限,我不明白为什么这应该是一个问题。
请原谅我的无知。我主要是一名开发人员,但我的公司最近经营不善,我不得不戴上服务器管理员的帽子……不幸的是,这仍然不太合适,哈哈。
答案1
两个例子:
约束委派允许在不具备用户凭据或身份验证令牌的情况下进行模拟。有关示例,请参阅此回答。
在更典型的基本无约束委派场景中,无论是 Windows 集成身份验证还是表单身份验证,代表团访问用户的身份验证令牌非常有效。这实际上意味着可以使用令牌冒充该用户访问任何网络资源。参与该过程的任何人(例如开发人员)都可以以恶意方式使用该令牌来获取未经授权的访问权限。
在这两个例子中,如果勾选了“帐户敏感且无法委托”,则这些都不是安全问题。也可以设计一个系统/功能,其中确实存在这些功能,但受到严格控制。
对于管理帐户(例如企业管理员组的成员),应选中该框,因为(希望)这些帐户很少需要使用需要模拟的应用程序。对于有权访问敏感信息的高级管理人员(例如首席信息官、首席运营官、财务/财务主管等),这也是一个好主意。
因此,最重要的是,微软提供该复选框和随附警告是有充分理由的,除非能够证明特定场景不存在不良风险暴露或某些补偿控制,否则不应忽视或轻视它。这通常需要由一些不参与应用程序或系统实际实施或开发的合格人员进行审查。
答案2
我已经为 1000 名客户设置了大多数不受约束的委派。我认为需要注意的是,如果您不信任您的应用程序(假设部署在 IIS 上)或者您将委派的服务帐户凭据提供给其他人自由使用,那么约束委派可能是一个好主意。但是,如果您不希望任何人能够重写您的应用程序,您可以保证服务帐户凭据的安全,并且您相信您的应用程序只会委派给它们设计的服务,那么通常就没有什么可担心的。我见过一些“安全意识强”的客户非常关注这样的问题,而他们的资源可以更好地用于解决真正的安全威胁……