我有一个带有完整 2008 R2 级别域的 Windows Server 2008 R2 SP1 Active Directory 和一个需要加入该域的 Windows XP SP3 客户端。
不幸的是,客户端无法加入域,如果我查看服务器的日志,我看到以下错误:
事件 ID:4776 错误编号 0xc000006a
按照我在 Google 上的搜索,我根据 MS 知识库使用命令重置了所有 GPO dcgpofix
,但我的 Windows 客户端仍然无法加入域并出现相同的错误。
好的,我在这个问题上取得了一些进展。
我注意到了两件事:
首先: - 这似乎是一个 Kerberos 问题,因为每个日志都在谈论 Kerberos。
从服务器:
事件 ID:4776 错误编号 0xc000006a
这意味着,用户名正确,密码错误(我确定密码,因为我用它登录 DC)。我列表中的第一个失败是:
事件 ID:4768-> 已请求 Kerberos 票证。
第二:
在客户端我有一个错误:
事件 ID:4 -> 错误 Kerberos,来源:Kerberos -> 客户端从服务器 prdldap01$ 收到 KRB_AP_ERR_MODIFIED 错误。这表明用于加密 kerberos 票证的密码与目标服务器上的密码不同。
然后,我尝试使用 Klist tickets 命令检查客户端上的票证,但客户端上没有人。
klist命令报告:
缓存票证: (0)
最后:
我的所有 Windows 7 客户端均正确加入域。我的服务器发送以下票证加密:
KerbTicket 加密:AES-256-CTS-HMAC-SHA1-96
我的 LSA 通知包如下
SCECLI RASSFM SHA1HEXFLTR
我的 LSA 安全包如下:
kerberos msv1_0 schannel wdigest tspkg pku2u
我真的开始怀疑域安全 GPO 或 Kerberos 设置。如果有人有想法,我会听的 :D
答案1
您的错误与客户端和 DC 之间的通信错误有关。请确保两者之间没有任何数据包过滤 - 甚至可以禁用内置防火墙以确保安全。
另外 - 检查它们之间的时间/日期是否对齐,是的,这很愚蠢,但这是 AD 问题的首要原因。
答案2
好吧,我终于发现我的域名出了什么问题。问题来自于为将我们的 AD 绑定到 Google 基础设施而添加的 Google 身份验证模块。
这个模块非常有用,但是有很多错误并且不安全,所以,如果你们当中有人使用 Google 的 SHA1HEXFilter 模块,请注意网络上的某些密码哈希泄漏。
感谢所有尝试解决我的问题的人 :D
答案3
如果这是 Kerberos 加密类型问题:Windows XP SP3 中的 Kerberos 实现不支持较新的加密类型 AES128-CTS-HMAC-SHA1-96 和 AES256-CTS-HMAC-SHA1-96。这些仅在 Windows Vista 中添加。修复方法早已是逐步淘汰 Windows XP。以前,解决方案是确保在 Active Directory 用户和计算机 GUI 中的“帐户”选项卡下,对于涉及的任何 Vista 之前的用户和计算机,取消选中“此帐户支持 AES 128/256 位加密”框。