允许匿名绑定的未加密连接仅在 openLDAP 中实现?



我正在使用带有openLDAP服务器后端的HAproxy。我想使用ldap-check而不是通用check-tcp(我目前正在使用(检查后端计算机的可用性。

LDAP 检查在执行检查时匿名绑定,不加密。查看ldap-check的文档,我认为无法配置绑定用户和使用加密。

因此,假设我无法进行适当的检查(TLS +绑定为特定用户(,我正在寻找解决方法。我也许能够说服自己允许匿名绑定,但允许未加密的连接不是我想做的事情。

那么,是否有可能(以某种方式(仅允许匿名绑定的未加密连接?我想不是,因为在绑定过程开始之前你怎么知道它是非匿名的?

我目前有olcSecurity: tls=1,我想我需要类似olcSecurity: tls=1 simple_bind=0的东西,但这将允许任何简单的绑定未加密(不是我想要允许的(。

也许我应该/可以通过使用此处所示ldap-check发送特定包来进行检查?获取二进制数据的最佳工具是什么?我应该只与ldapsearchtcpdump进行会话吗?

任何想法都值得赞赏。

我能够使用send-binaryexpect binarytcp-check选项从 HAproxy 进行检查,而不会影响我的openLDAP配置的安全性。

在我的情况下,我希望尝试匿名绑定以返回错误代码 48(不允许(。对于绑定请求,我能够确认我在问题中链接到的示例中发送的数据。但是,我需要不同的响应(不允许。错误 48(

使用tcpdump捕获的pcap文件,我查看了与ldapsearch匿名绑定Wireshark的尝试。这样做,我能够通过openLDAP告诉客户端不允许匿名绑定来查看返回的原始数据。

以下是来自 HAproxy 后端的相关配置:

option tcpka
option tcp-check
tcp-check connect port 389
tcp-check send-binary 300c0201 # LDAP bind request "<ROOT>" simple
tcp-check send-binary 01 # message ID
tcp-check send-binary 6007 # protocol Op
tcp-check send-binary 0201 # bind request
tcp-check send-binary 03 # LDAP v3
tcp-check send-binary 04008000 # name, simple authentication
tcp-check expect binary 302502010161200a013004000419616e6f6e796d6f75732062696e6420646973616c6c6f776564 # 48 not allowed
tcp-check send-binary 30050201034200 # unbind request

我不认为tcp-check expect binary可以像tcp-check send-binary那样放入多行

最新更新