LDAPS被redirect到389

我们试图执行LDAPS绑定到一个服务器阻止389防火墙,所以所有的stream量必须超过636。

在我们的testing实验室中,我们连接到一个没有防火墙的testingldap(位于同一台服务器上),因此两个端口都是暴露的。 在testing服务器上运行ldp.exe,我们生成了下面的trace,似乎表明它已经成功绑定了636.但是,如果我们使用wireshark监视stream量,则所有stream量都将被发送到389,而不会尝试连接636。

其他工具只能在636上绑定SSL或者在389上没有SSL绑定,似乎表明它的行为正确,但Wireshark显示为389。

只有我们使用RawCap的testing服务器来捕获本地环回stream量。

有任何想法吗?

0x0 = ldap_unbind(ld); ld = ldap_sslinit("WIN-GF49504Q77T.test.com", 636, 1); Error 0 = ldap_set_option(hLdap, LDAP_OPT_PROTOCOL_VERSION, 3); Error 0 = ldap_connect(hLdap, NULL); Error 0 = ldap_get_option(hLdap,LDAP_OPT_SSL,(void*)&lv); Host supports SSL, SSL cipher strength = 128 bits Established connection to WIN-GF49504Q77T.test.com. Retrieving base DSA information... Getting 1 entries: Dn: (RootDSE) 

我将首先validation证书如下。

如何解决LDAP over SSL连接问题
http://support.microsoft.com/kb/938703

步骤1:validation服务器身份validation证书

确保您使用的服务器身份validation证书符合以下要求:

  • 域控制器的Active Directory完全限定域名出现在以下位置之一:

    • 主题字段中的通用名称(CN)
    • DNS条目中的主题备用名称(SAN)扩展名

      • 增强型密钥使用扩展包括服务器authentication对象标识符(1.3.6.1.5.5.7.3.1)。
      • 关联的私钥在域控制器上可用。 要validation密钥是否可用,请使用certutil -verifykeys命令。
      • 证书链在客户端计算机上有效。 要确定证书是否有效,请按照下列步骤操作:
        1. 在域控制器上,使用“证书”pipe理单元将SSL证书导出到名为Serverssl.cer的文件。
        2. 将Serverssl.cer文件复制到客户端计算机。
        3. 在客户端计算机上,打开命令提示符窗口。
        4. 在命令提示符处,键入以下命令将命令输出发送到名为Output.txt的文件:

      certutil -v -urlfetch -verify serverssl.cer> output.txt
      打开Output.txt文件,然后search错误。

步骤2:validation客户端身份validation证书

在某些情况下,如果LDAPS在客户端计算机上可用,则使用客户端身份validation证书。 如果有这样的证书可用,请确保证书满足以下要求:

  • 增强密钥使用扩展包括客户端authentication对象标识符(1.3.6.1.5.5.7.3.2)。
  • 关联的私钥在客户端计算机上可用。 要validation密钥是否可用,请使用certutil -verifykeys命令。
  • 证书链在域控制器上有效。 要确定证书是否有效,请按照下列步骤操作:

    1. 在客户端计算机上,使用“证书”pipe理单元将SSL证书导出到名为Clientssl.cer的文件。
    2. 将Clientssl.cer文件复制到服务器。
    3. 在服务器上,打开命令提示符窗口。
    4. 在命令提示符处,键入以下命令将命令输出发送到名为Outputclient.txt的文件:

      certutil -v -urlfetch -verify serverssl.cer> outputclient.txt
      打开Outputclient.txt文件,然后search错误。

步骤3:检查多个SSL证书

确定多个SSL证书是否符合步骤1中描述的要求。Schannel(Microsoft SSL提供程序)selectSchannel在本地计算机存储区中find的第一个有效证书。 如果本地计算机存储中有多个有效证书可用,Schannel可能不会select正确的证书。 如果CA安装在尝试通过LDAPS访问的域控制器上,则可能与证书颁发机构(CA)证书发生冲突。

步骤4:validation服务器上的LDAPS连接
使用域控制器上的Ldp.exe工具尝试使用端口636连接到服务器。如果无法使用端口636连接到服务器,请参阅Ldp.exe生成的错误。 另外,查看事件查看器日志以查找错误。 有关如何使用Ldp.exe连接到端口636的详细信息请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

321051如何使用第三方证书颁发机构启用LDAP over SSL
http://support.microsoft.com/kb/321051

第5步:启用Schannel日志logging
在服务器和客户端计算机上启用Schannel事件日志logging。 有关如何启用Schannel事件日志logging的更多信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

260729如何在IIS中启用Schannel事件日志logging
http://support.microsoft.com/kb/260729