当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 什么是 Kerberos 委派?确保受限授权的安全

作者:精品下载站 日期:2024-12-14 08:18:51 浏览:13 分类:玩电脑

什么是 Kerberos 委派?确保受限授权的安全


[玩转系统] 什么是 Kerberos 委派?确保受限授权的安全

网络犯罪在当今社会日益受到关注,预计这个问题只会变得更加严重,尤其是随着移动设备面临的风险不断增加。为此,安全专家不断寻求新的策略来增强网络安全。其中一种策略是使用 Kerberos,这是一种网络安全协议,用于对不可信网络上可信主机之间的服务请求进行身份验证。 Kerberos 由 MIT 开发,现在是 Microsoft Windows 使用的默认授权技术,也适用于其他操作系统。该协议以神话中的三头狗命名,通过共享秘密加密技术确保安全身份验证和票证授予,防止窃听和重放攻击。

什么是 Kerberos 委托?

Kerberos 委派有着悠久的历史,可以追溯到 Windows Server 2000。但是,许多使用 Active Directory 的工程师通常不熟悉 Kerberos 委派的各种实现、其目的以及误用的可能性。人们常常错误地将 Kerberos 委派与委派权限等同起来。 Kerberos 委派的实际应用是促进应用程序访问存储在不同服务器上的资源。例如,Web 服务器可能需要访问托管在网站其他位置的资源,例如 SQL 数据库。可以将服务帐户委托给 SQL Server 服务,而不是授予 Web 服务器的服务帐户直接访问数据库的权限。当用户登录网站时,服务帐户将代表用户请求访问 SQL Server 服务。这允许用户访问他们已获得授权的数据库中的内容,而无需为 Web 服务器的服务帐户本身提供任何访问权限。

Kerberos 委派的类型

多年来,出现了 Kerberos 委托的几种变体。最初的实现称为无约束委派,是在 Windows Server 2000 中引入的。但是,此后开发了更安全的委派版本,即约束委派和基于资源的约束委派。以下部分将更详细地探讨每种类型的委托。要在计算机或用户帐户上设置委派,请导航至 Active Directory 用户和计算机中的委派选项卡。请务必注意,用户帐户必须分配有 servicePrincipalName (SPN)。选项卡中的第一个选项允许配置帐户以明确禁止信任委派。此设置通常应用于敏感或管理帐户,不应将其用于委派。第二个选项允许对帐户进行无约束委派,而第三个选项则有助于对受约束委派进行配置。

不受约束的委派

这是委托的原始实现,也是最不安全的。启用“无约束委派”时,“TRUSTED_FOR_DELEGATION”标志将添加到对象的 userAccountControl 属性中。这允许对象在对启用了无约束委派的主机进行身份验证时将票证授予票证 (TGT) 存储在内存中。因此,如有必要,主机可以稍后模拟该用户。考虑这样一种场景:特权帐户对启用了无约束委派的主机进行身份验证。此帐户可以作为特权用户访问域中配置的任何服务。更糟糕的是,如果有方法可以自动强制特权帐户向您的主机进行身份验证怎么办?通过利用“打印机错误”,您可以强制域控制器对您的主机进行身份验证,从而将该帐户的 TGT 保留在内存中。

受限委派

此功能在 Windows Server 2003 中引入,可以配置帐户可以委派的服务,从而限制发生泄露时的潜在风险。应该注意的是,受限授权不能跨不同的森林起作用。

当约束委派应用于帐户时,会发生两个操作:

  1. userAccountControl 属性使用“TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION”标志进行更新。
  2. msDS-AllowedToDelegateTo 属性使用委派选项卡上指定的 SPN 进行填充。

利用受约束的委派与利用不受约束的委派不同。一种可能的滥用方法是获取对配置为受限委派的用户帐户的明文密码或 NTLM 哈希的访问权限。通过使用像 Kekeo 这样的工具,攻击者可以为受感染的帐户请求 TGT(票证授予票证),对任何用户(不包括标记为“敏感”的用户)执行 TGS(票证授予服务)请求,然后将票证注入到以该用户身份访问所请求的服务。

基于资源的约束委派

Windows Server 2012 中引入的基于资源的约束委派功能改变了跨信任设置约束委派的方式。现在,托管服务的资源不再确定哪个对象可以委托给特定服务,而是确定允许哪些对象委托给它。从管理角度来看,这使资源的所有者能够控制谁可以访问它。例如,您现在可以指定 SQL Server 服务帐户有权委托 WebServer 服务帐户对其进行访问,而不是指定 WebServer 服务帐户可以委派给 SQL 服务帐户来访问数据库。要配置基于资源的约束委派,必须使用允许委派给目标资源的授权对象的安全标识符 (SID) 填充目标资源上的 msDS-AllowedToActOnBehalfOfOtherIdentity 属性。此配置只能使用 PowerShell 完成,因为 Active Directory 用户和计算机中没有可用的图形用户界面 (GUI) 组件,并且属性编辑器页面不允许手动修改此属性。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯