我在 .net 中遇到 ldap 查找的一些问题,希望有人能阐明 LdapConnection.SendRequest() 如何在具有多个域 Controller 的 AD 中工作
一些背景知识。
当用户登录时,我们使用 AD/ldap 连接将用户详细信息导入我们的系统。 我们使用单个广告帐户“cAdmin”绑定(bind)到 AD,然后我们将获取已登录用户的用户名,并对该用户名进行 ldap 搜索。如果找到用户,我们会将广告中的一些详细信息复制到我们的系统中。
这很好用,已经做了很多年了。但是客户已经注意到,每当用户登录时,事件日志中都会有大量调用联系他们的域 Controller (我们会查找用户)。我只希望这里有一个电话,对于我们的测试系统和其他客户,只有一个。但似乎有最初的调用,然后又调用了 6 或 7 个到帐户名为“c”(而不是 cAdmin)的第二个域 Controller
客户端在他们的域 Controller 上有负载平衡。
他们担心这是某种病毒或安全风险,而我很难证明这不是。
我们无法在此处重现该问题。
第一个First连接如预期的那样
=================================
尝试使用显式凭据进行登录。
主题:
Security ID: NETWORK SERVICE
Account Name: TRxxxxxxxx$
Account Domain: XXX
Logon ID: 0x3E4
Logon GUID: {00000000-0000-0000-0000-000000000000}
使用其凭据的帐户:
Account Name: cAdmin
Account Domain: STUDENT.XXX.UK
Logon GUID: {9c7e24da-6c6b-43d6-b222-48923be0c224}
目标服务器:
Target Server Name: AD1.student.XXX.uk
Additional Information: ldap/AD1.student.XXX.uk
进程信息:
Process ID: 0x1520
Process Name: C:\Windows\SysWOW64\inetsrv\w3wp.exe
网络信息:
Network Address: -
Port: -
当进程试图通过显式指定帐户的凭据登录帐户时,会生成此事件。这最常发生在批处理类型的配置中,例如计划任务,或者在使用 RUNAS 命令时。
============================================= === 第二个连接,'c' 显示为重复最多 7 次的帐户
============================================
尝试使用显式凭据进行登录。
主题:
Security ID: NETWORK SERVICE
Account Name: TRxxxxxx$
Account Domain: XXX
Logon ID: 0x3E4
Logon GUID: {00000000-0000-0000-0000-000000000000}
使用其凭据的帐户:
Account Name: c
Account Domain:
Logon GUID: {00000000-0000-0000-0000-000000000000}
目标服务器:
Target Server Name: AD2.student.XXX.uk
Additional Information: AD2.student.XXX.uk
进程信息:
Process ID: 0x1520
Process Name: C:\Windows\SysWOW64\inetsrv\w3wp.exe
网络信息:
Network Address: -
Port: -
当进程试图通过显式指定帐户的凭据登录帐户时,会生成此事件。这最常发生在批处理类型的配置中,例如计划任务,或者在使用 RUNAS 命令时。
============================================= ======
如果有人在这方面有任何建议或经验,我们将不胜感激。
谢谢。
最佳答案
我遇到了同样的问题。 Wireshark 显示 bindRequest 中的用户名相当随机地从双字节编码变为四字节编码。
例如
成功时,“Craig”在数据包中看起来像这样:C\0r\0a\0i\0g\0
在后面的bindRequests中
“克雷格”看起来像 C\0\0\0r\0\0\0a\0\0\0i\0\0\0g\0\0\0
在服务器日志中,用户名为“C”,因为服务器上的字符串函数正确地将 C\0\0\0
解释为以 null 结尾的 1 个字符的 Unicode 字符串。
看起来像一个 .Net 错误,根据我的经验,可能由使用 PageResultRequestControl
的 SendRequest
触发
关于c# - Windows 事件日志中的 LdapConnection.SendRequest() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43996033/