本文提供了一种解决方案,用于解决域控制器不允许交互式登录时发生的错误。
原始 KB 数: 2015518
现象
重新启动后,无法再登录 Windows Server 2012 R2 DC。 此时会显示控制台登录或终端服务/远程桌面。 显示的错误为:
服务器上的安全数据库没有此工作站信任关系的计算机帐户
如果在目录服务还原模式(DSRM)中重启计算机并检查 系统 事件日志,则会看到:
日志名称: 系统 来源:NETLOGON 日期: <DateTime> 事件 ID:5721 任务类别:无 级别: 错误 关键字:经典 用户:无 计算机: <ComputerName> 说明: 针对域 NWPNS 的 Windows NT 或 Windows 2000 域控制器
\\2008r2spn-01.northwindtraders.com的会话设置失败,因为域控制器没有帐户 2008R2SPN-02$ 来设置此计算机 2008R2SPN-02 的会话。 其他数据 如果此计算机是指定域中的成员或域控制器,则上述帐户是指定域中此计算机的计算机帐户。 否则,该帐户是具有指定域的域间信任帐户。
且
日志名称: 系统 来源:Microsoft-Windows-Security-Kerberos 日期: <DateTime> 事件 ID: 3 任务类别:无 级别: 错误 关键字:经典 用户:无 计算机: <ComputerName> 说明: 收到 Kerberos 错误消息: 登录会话时 客户端时间:服务器时间:18:35:19.0000 1/27/2010 Z 错误代码:0x7 KDC_ERR_S_PRINCIPAL_UNKNOWN扩展错误:0xc0000035 KLIN(0) 客户端领域:客户端名称:服务器领域:服务器名称
NORTHWINDTRADERS.COM:主机/2008r2spn-02.northwindtraders.com 目标名称:主机/2008r2spn-02.northwindtraders.com@NORTHWINDTRADERS.COM 错误文本:文件:9 行:efb 错误数据位于记录数据中。
每次尝试登录时, 安全 事件日志将显示:
日志名称:安全性 来源:Microsoft-Windows-Security-Auditing 日期: <DateTime> 事件 ID:4625 任务类别:登录 级别:信息 关键字:审核失败 用户:无 计算机: <ComputerName> 说明: 无法登录帐户。
主题: 安全 ID:系统 帐户名称:2008SPN-02$ 帐户域:ADATUM 登录 ID:0x3e7
登录类型:2
登录失败的帐户: 安全 ID:NULL SID 帐户名称:管理员 帐户域:ADATUM
失败信息: 失败原因:登录期间发生错误。 状态:0xc000018b 子状态:0x0
进程信息: 调用方进程 ID:0x214 调用方进程名称:C:\Windows\System32\winlogon.exe
网络信息: 工作站名称:2008SPN-02 源网络地址:127.0.0.1 源端口:0
详细的身份验证信息: 登录过程:User32 身份验证包:协商 传输的服务: - 包名称(仅限 NTLM): - 密钥长度:0
当登录请求失败时,将生成此事件。 它在尝试访问的计算机上生成。
“使用者”字段指示请求登录的本地系统上的帐户。 这通常是服务器服务等服务,或者Winlogon.exe或Services.exe等本地进程。
“登录类型”字段指示所请求的登录类型。 最常见的类型为 2(交互式)和 3(网络)。
“进程信息”字段指示系统上的哪个帐户和进程请求登录。
“网络信息”字段指示远程登录请求的发起位置。 工作站名称并不总是可用,在某些情况下可能留空。
身份验证信息字段提供有关此特定登录请求的详细信息。
- 传输的服务指示哪些中间服务已参与此登录请求。
- 包名称指示 NTLM 协议之间使用了哪个子协议。
- 密钥长度指示生成的会话密钥的长度。 如果未请求会话密钥,则为 0。
在系统事件日志中,也可能看到重复 SPN 的 KDC 11 错误:
日志名称: 系统 来源:Microsoft-Windows-Kerberos-Key-Distribution-Center 日期: <DateTime> 事件 ID:11 任务类别:无 级别: 错误 关键字:经典 用户:无 计算机: <ComputerName> 说明: 处理 Kerberos 身份验证请求时,KDC 遇到重复的名称。 重复的名称是主机/2008spn-02.adatum.com(类型为 DS_SERVICE_PRINCIPAL_NAME)。 这可能会导致身份验证失败或降级到 NTLM。 为了防止这种情况发生,请删除 Active Directory 中主机/2008spn-02.adatum.com 的重复条目。
原因
DC 服务主体名称(SPN)已重复,现在作为 DC 和其他用户或计算机上的属性存在。
解决方法
找到重复的 SPN 并将其删除。 可以使用SETSPN.EXE或LDIFDE.EXE找到此值。 在此示例中,重复名称为 2008r2spn-02。
setspn.exe -xsetspn.exe -q 2008r2spn-02*ldifde.exe -f spn.txt -d -l serviceprincipalname -r "(serviceprincipalname=*2008r2spn-02*)" -p subtree
详细信息
此行为不同于 Windows Server 2003 或 Windows 2000。 这些操作系统不会收到相同的错误,仍可使用重复的 DC SPN 登录。 从 Windows Vista 开始,不允许故障回复到 NTLM 进行交互式登录 - 这是一项安全功能,可防止攻击者以某种方式破坏 Kerberos,从而强制使用不太安全的协议。
若要更新用户或计算机上的 SPN,用户必须是管理员、域管理员、企业管理员或已授予修改用户或计算机上的 servicePrincipalName 属性的权限。 标准用户无法修改 SPN ,即使是在自己或添加到域的计算机上也是如此。 只有高特权用户才能创建此中断方案。