OpenLDAP slapd как прозрачный прокси, привязка всегда не выполняется

У меня есть окно linux (4.1.12-61.1.34.el6uek.x86_64) со службой slapd (slapd 2.4.40). Я пытаюсь прозрачно проксировать весь клиентский трафик, связанный с ldap, через этот экземпляр slapd на сервер Active Directory. Причина, по которой мне нужно это сделать, заключается в том, что трафик необходимо туннелировать через TLS 1.2, а мое клиентское приложение его не поддерживает. К сожалению, у меня нет контроля над клиентом, это данность.

Клиент должен пройти аутентификацию в AD, используя имя пользователя и пароль, предоставленные пользователем. А затем получить список групп, к которым принадлежит этот пользователь, довольно просто. Сервер требует простого связывания с пользователем связывания и паролем в виде обычного текста. Когда я пытаюсь запросить сервер AD через экземпляр slapd, я всегда получаю сообщение об ошибке ниже (при запуске slapd -f slapd.conf -d 4 -d 16 -d 32 )

send_ldap_result: err = 49 matched = "" text = ""

По сути, это означает, что аутентификация не удалась. Когда я обхожу свой прокси-сервер slapd и использую ldapsearch для прямого подключения к AD, все работает безупречно.

ldapsearch через slapd (выдает ошибку):

ldapsearch -H ldap: // localhost -x -D cn = user, ou = bind, dc = domain, dc = com -W -s sub "(cn = VNA- *)" -v

ldapsearch direct (без ошибок, возвращает результаты из AD):

ldapsearch -H ldaps://ad.domain.com:636 -x -D cn=user,ou=bind,dc=domain,dc=com -W -s sub "(cn=VNA-*)" -v

Я пробовал играть со всеми из различных вариантов в основном в idassert-bind, но, похоже, ни один из них не имеет никакого значения. Буду признателен за любую помощь, чтобы заставить это работать.

Мой slapd.conf

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/inetorgperson.schema


# Global options
loglevel 256
sizelimit unlimited
idletimeout             3600
writetimeout            600
pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args
allow bind_v2

# Modules
modulepath /usr/lib/openldap
modulepath /usr/lib64/openldap
moduleload back_ldap

TLSCACertificateFile    /etc/openldap/cacerts/cacert.pem

database ldap
readonly yes
uri "ldaps://ad.domain.com:636"
suffix "dc=domain,dc=com"
idassert-bind bindmethod=simple
        mode=self
        binddn="cn=user,ou=bind,dc=domain,dc=com"
        credentials=secret
        tls_reqcert=never
        tls_cacert=/etc/openldap/cacerts/cacert.pem
idassert-authzFrom      "*"
0
задан 9 October 2018 в 16:28
1 ответ

В конце концов я отказался от этого и вместо этого использовал stunnel, работает как чары.

0
ответ дан 5 December 2019 в 05:13

Теги

Похожие вопросы