也许有人可以给我一个提示。
我正在评估在大型Microsoft AD环境中将所有(人类)用户的UPN更改为build议的MS格式(与用户的主要公共邮件地址一致,包括用户可公开路由的邮件域作为UPN后缀)的先决条件。
现在,使用UPN时,更改UPN可能会中断应用程序或服务或中断用户login过程。
我知道,在大多数环境中,UPN并没有被广泛用于login,但是我仍想详细说明是否有方法来诊断login进程的UPN使用情况。
我们正在谈论2003年以上的function水平,但主动的NTLM。 相关域控制器正在运行2012和2012R2。 在这种情况下,仅限于具有3个域的单个森林。 虽然这只是环境的一小部分,但它是唯一与UPN变化相关的部分。
首先也是最简单的方法是检查login事件的域控制器上的事件日志。 问题是:就我所见而言,无论使用哪种用户标识表示方式login,它们总是以“域名\用户名”的“传统”格式login。 如果我错了, 请纠正我,因为这会大大加快速度。
接下来我想到的是Kerberos票据的networking痕迹。 如果我没有错误的Kerberos,这些最初是使用用户的密码encryption,并检查他们,我需要使用(可能)未知客户端的数据解密票。
现在,这是我不确定的地方,希望是错误的,因为在某些时候,DC需要确定他们使用哪个密码哈希来解密消息。 我承认我没有做过很多的testing,因为我不想刚刚修改DC。
也许还有一种不同的方法来处理这个我还没有想到的 – 无论如何,我希望有人可以给我一个可能的应用暗示来解决这个问题。 我不愿意“应用变化和鸭子”,我宁愿在任何可能的情况下第一次做对。
好了我现在可以在testlab之后自己回答这个问题。 从系统login到域控制器的TGT的初始请求在networking数据包的Kerberos有效载荷中包含明文forms的用户名(很多已知)。
但:
当使用域名\用户名login时 ,这将是用户名 。
使用UPNlogin时,这将是用户的完整UPN
您要查找的数据包是TCP,KRB5有效内容,消息typeskrb-as-req(10)用户名位于名称为“KRB5-NT-ENTERPRISE-PRINCIPAL”的“cname”
因此,要确定您的networking中是否使用了UPN,请跟踪所有进入您的DC的数据包,稍后将这些数据保存到磁盘并过滤“@”符号。