Сбой запроса к серверу Samba AD с помощью ldapsearch с помощью ldap_sasl_bind (SIMPLE): не удается связаться с сервером LDAP (-1) - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь использовать свой существующий (полностью настроенный и работающий) Samba AD DC в качестве аутентификации для XWiki и других приложений.

Таким образом, я сначала пытаюсь выполнить успешный ldapsearch с сервера XWiki. Следующая команда работает на сервере Samba, но не на клиенте XWiki:

ubuntu@xwiki:~$ ldapsearch -x -LLL -E pr=200/noprompt -H ldaps://10.0.1.191/ -D "CN=Administrator,CN=Users,DC=ad,DC=nitssolutions,DC=com" -w 'SambaNovi2018' -b 'DC=ad,DC=nitssolutions,DC=com' -s sub '(sAMAccountName=*)' cn mail memberOf
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

Однако, если я сделаю:

ping 10.0.1.191

Я получаю:

ubuntu@xwiki:~$ ping 10.0.1.191
PING 10.0.1.191 (10.0.1.191) 56(84) bytes of data.
64 bytes from 10.0.1.191: icmp_seq=1 ttl=64 time=135 ms
64 bytes from 10.0.1.191: icmp_seq=2 ttl=64 time=138 ms
64 bytes from 10.0.1.191: icmp_seq=3 ttl=64 time=146 ms
^C
--- 10.0.1.191 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 135.741/140.317/146.970/4.832 ms

и если я это сделаю:

telnet 10.0.1.191 636

Я могу подключиться.

РЕДАКТИРОВАТЬ: Дополнительная информация:

Я добавил -d 1 в командную строку ldapsearch, и теперь я получаю:

ubuntu@xwiki:~$ ldapsearch -d 1 -x -LLL -E pr=200/noprompt -H ldaps://10.0.1.191/ -D "CN=Administrator,CN=Users,DC=ad,DC=nitssolutions,DC=com" -w 'SambaNovi2018' -b 'DC=ad,DC=nitssolutions,DC=com' -s sub '(sAMAccountName=*)' cn mail memberOf
ldap_url_parse_ext(ldaps://10.0.1.191/)
ldap_create
ldap_url_parse_ext(ldaps://10.0.1.191:636/??base)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP 10.0.1.191:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 10.0.1.191:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
attempting to connect:
connect success
TLS: peer cert untrusted or revoked (0x42)
TLS: can't connect: (unknown error code).
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

Обратите внимание, в частности, на эту строку:

TLS: peer cert untrusted or revoked (0x42)

Я попытаюсь исследовать эту ошибку дальше, но на данный момент я все еще застрял ...

EDIT2: еще больше дополнительной информации:

Когда я запускаю эту команду с параметром -d 1 на сервере Samba, команда работает, несмотря на наличие:

TLS: peer cert untrusted or revoked (0x42)

в выводе отладки ....

Продолжая копать ....

Помощь

1 Ответ

0 голосов
/ 07 января 2019

И вот я снова отвечаю на свой вопрос ... вздох. Я должен постить здесь чаще. Помогает мне четко изложить проблему, что неизбежно приводит к поиску решения.

Так или иначе, решение было: У меня был файл /etc/ldap/ldap.conf на моей машине sambadc, а также на моей клиентской машине xwiki, но содержимое отличалось. Машина Sambadc имела:

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

#BASE   dc=example,dc=com
#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# TLS certificates (needed for GnuTLS)
#TLS_CACERT     /etc/ssl/certs/ca-certificates.crt
TLS_REQCERT allow

Который работал.

Но у моей машины xwiki было:

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

#BASE   dc=example,dc=com
#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# TLS certificates (needed for GnuTLS)
TLS_CACERT     /etc/ssl/certs/ca-certificates.crt

, что не удалось.

Когда я закомментировал строку TLS_CACERT и добавил строку TLS_REQCERT, все стало работать как положено.

...