无法使用 ldapsearch 连接到 Azure AD 域服务 LDAPS

无法使用 ldapsearch 连接到 Azure AD 域服务 LDAPS

我在尝试将 ldapsearch 连接到 Azure 广告域服务时遇到了一些问题。从各种 SO 链接和操作方法中,我们找到了一些可以尝试的命令,但似乎都没有用。

根据 SO 和类似网站上的大多数问题,我们使用的绑定/基本 DN 显然是正确的,但我认为不是!

我正在运行的命令是这样的:

ldapsearch -H "ldaps://aaddc.domain.com:636" -Z -d 5 -D "[电子邮件保护]“-b”dc =域,dc = com“-w $密码-s sub -x

从下面的错误来看,似乎连接到目录并尝试进行身份验证,但我认为我们尝试绑定的 dn 存在一些问题,因此无法完成身份验证。如果有人能提供一些帮助,那就太好了。

ldap_url_parse_ext(ldaps://aaddc.domain.com:636)
ldap_create
ldap_url_parse_ext(ldaps://aaddc.domain.com:636/??base)
ldap_extended_operation_s
ldap_extended_operation
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host:TCP aaddc.domain.com:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host:尝试 ip_address:636
ldap_pvt_connect:fd:3 tm:-1 异步:0
尝试连接:
连接成功
ldap_open_defconn:成功
ldap_send_server_request
ber_scanf fmt ({it) ber:
ber_scanf fmt({)ber:
ber_flush2:31 字节到 sd 3
ldap_result ld 0x564972601dc0 msgid 1
wait4msg ld 0x564972601dc0 msgid 1 (无限超时)
wait4msg 继续 ld 0x564972601dc0 msgid 1 全部 1
** ld 0x564972601dc0 连接:
* 主机:aaddc.domain.com 端口:636(默认)
  refcnt:2 状态:已连接
  最后使用时间:2017 年 11 月 3 日星期五 13:35:56


** ld 0x564972601dc0 未完成的请求:
 * msgid 1, origid 1, 状态为 InProgress
   未完成推荐 0,父级数 0
  ld 0x564972601dc0 请求数 1 (已放弃 0)
** ld 0x564972601dc0 响应队列:
   空的
  ld 0x564972601dc0 响应计数 0
ldap_chkResponseList ld 0x564972601dc0 msgid 1 全部 1
ldap_chkResponseList 返回 ld 0x564972601dc0 NULL
ldap_int_select
read1msg: ld 0x564972601dc0 msgid 1 全部 1
ber_get_next
ber_get_next:标签 0x30 长度 127 内容:
read1msg:ld 0x564972601dc0 msgid 1 消息类型扩展结果
ber_scanf fmt ({eAA) ber:
read1msg: ld 0x564972601dc0 0 个新推荐
read1msg: 标记请求完成,ld 0x564972601dc0 msgid 1
请求完成:ld 0x564972601dc0 msgid 1
res_errno: 1,res_error:,res_matched:
ldap_free_request (origid 1,msgid 1)
ldap_parse_extended_result
ber_scanf fmt ({eAA) ber:
ber_scanf fmt(a)ber:
ldap_parse_result
ber_scanf fmt ({iAA) ber:
ber_scanf fmt(x)ber:
ber_scanf fmt(})ber:
ldap_msg释放
ldap_err2string
ldap_start_tls:操作错误(1)
    附加信息:00000000:LdapErr:DSID-0C090FF6,注释:TLS 或 SSL 已生效,数据 0,v2580
ldap_sasl_bind
ldap_send_initial_request
ldap_send_server_request
ber_scanf fmt ({it) ber:
ber_scanf fmt({i)ber:
ber_flush2:48 字节到 sd 3
ldap_result ld 0x564972601dc0 msgid 2
wait4msg ld 0x564972601dc0 msgid 2(无限超时)
wait4msg 继续 ld 0x564972601dc0 msgid 2 全部 1
** ld 0x564972601dc0 连接:
* 主机:aaddc.domain.com 端口:636(默认)
  refcnt:2 状态:已连接
  最后使用时间:2017 年 11 月 3 日星期五 13:35:56


** ld 0x564972601dc0 未完成的请求:
 * msgid 2, origid 2, 状态为 InProgress
   未完成推荐 0,父级数 0
  ld 0x564972601dc0 请求数 1 (已放弃 0)
** ld 0x564972601dc0 响应队列:
   空的
  ld 0x564972601dc0 响应计数 0
ldap_chkResponseList ld 0x564972601dc0 msgid 2 全部 1
ldap_chkResponseList 返回 ld 0x564972601dc0 NULL
ldap_int_select
read1msg: ld 0x564972601dc0 msgid 2 全部 1
ber_get_next
ber_get_next:标签 0x30 长度 104 内容:
read1msg:ld 0x564972601dc0 msgid 2 消息类型绑定
ber_scanf fmt ({eAA) ber:
read1msg: ld 0x564972601dc0 0 个新推荐
read1msg: 标记请求完成,ld 0x564972601dc0 msgid 2
请求完成:ld 0x564972601dc0 msgid 2
res_errno: 49,res_error:,res_matched:
ldap_free_request (origid 2,msgid 2)
ldap_parse_result
ber_scanf fmt ({iAA) ber:
ber_scanf fmt(})ber:
ldap_msg释放
ldap_err2string
ldap_bind:无效凭证(49)
    附加信息:80090308:LdapErr:DSID-0C09042F,评论:AcceptSecurityContext 错误,数据 52e,v2580
ldap_free_connection 1 1
ldap_send_unbind
ber_flush2:7 个字节到 sd 3
ldap_free_connection:实际已释放

答案1

事实证明,MS 的 Azure 存在问题,导致 Azure 和 Azure AD 之间的同步无法进行。

最好的调试步骤是这样的:

ldapsearch -x -H 'ldaps://<domain>:636' -b '' -s base '(objectclass=*)'

这应该为您返回一个未绑定的 LDAP 树。

从那里,您可以按如下方式绑定到您的 LDAPS domain.com

ldapsearch -x -H 'ldaps://domain.com:636' -b 'DC=domain,DC=com' -s base -D '[email protected]' -w <password>

是的,微软的商业支持很差劲。

答案2

我遇到了类似的问题。在我们的案例中,我们了解到 Active Directory 管理员更改了配置,因此“真实”用户的连接需要 SSL/TLS 身份验证。

相关内容