Установите аутентификацию LDAPS в Zabbix

Я пытаюсь установить аутентификацию LDAPS на Zabbix 2.4, но это не работает. Вот infos на моей конфигурации:

  • ОС: Debian
  • Пакеты PHP установили: libapache2-mod-php5 php-pear php5 php5-cli php5-common php5-curl php5-gd php5-imagick php5-json php5-ldap php5-mysqlnd php5-pgsql php5-readline php5-sasl zabbix-frontend-php

  • Эта команда работает:

ldapsearch-H ldaps://ldaps.mptest.be:636-D cn=reader, dc=antidot, dc=prv-W-b ou=people, dc=antidot, dc=prv

Тот же URI, OU, вход в систему, пароль в Аутентификации, LDAP устанавливают страницу на zabbix, у меня есть это:

ldap_bind (): Не мог связать с сервером: не Может связаться с сервером LDAP

[аутентификация php:120  CLdapAuthValidator-> проверяет () → CLdap-> увольнительная записка () → ldap_bind () в/usr/share/zabbix/include/classes/ldap/CLdap.php:112] LDAP: не может связать данным, Связывают DN. Имя для входа в систему или пароль являются неправильными!

Вот содержание/etc/ldap/ldap.conf: TLS_REQCERT allow BASE dc=antidot,dc=prv URI ldaps://ldap.mptest.be TLS_CACERTDIR /etc/ssl/mptest/wildcard_mptest_be.ca

(Аутентификация без SSL, на порте 386 не возможна),

1
задан 24 August 2015 в 10:55
3 ответа

Это то, что работает в Ubuntu 14.04. Система на основе Debian должна быть такой же:

https://www.novell.com/coolsolutions/tip/5838.html

1
ответ дан 4 December 2019 в 00:01

Я решил эту проблему, посетив веб-интерфейс Zabbix, затем перейдя к Administration -> Authentication -> LDAP и изменив параметр LDAP host с имени хоста (например, ldap.example.com) на его IP-адрес (например, ldap.example.com), 10.6.10.10).

0
ответ дан 4 December 2019 в 00:01

PHP LDAP, честно говоря, чистая чушь. Некоторое время назад я тоже боролся с Zabbix и LDAPS. Можно сделать все на 100% правильно, но все равно ничего не получится. Так что не беспокойтесь, проблема здесь не на вашей стороне.

Чтобы это заработало, вы должны отключить проверку сертификатов TLS / SSL в OpenLDAP.LDAP PHP использует библиотеки OpenLDAP, поэтому загружены и имеют значение /etc/openldap/ldap.conf или ~ / .ldaprc . (Это можно увидеть, используя пример запроса PHP LDAP и запустив его с помощью strace -e trace = open php example.php ). Проблема здесь, похоже, находится в области использования PHP библиотек OpenLDAP, некоторые отсутствующие / неправильные / не реализованные вызовы для успешной проверки сертификата TLS. Для исправления этого потребуется исправление PHP.

TLS_REQCERT никогда не должен быть параметром, необходимым для этого. Настройки URL и OU / DC в ldap.conf не должны иметь значения, поскольку они предоставляются из конфигурации Zabbix. Я настоятельно рекомендую изменить это в ~ / .ldaprc домашнего каталога вашего веб-сервера, чтобы не влиять на другие приложения, использующие LDAPS.

Это решение не очень хорошее, но все же лучше, чем возвращаться к незашифрованный LDAP. И чтобы уточнить, я попробовал вручную разместить CACerts для OpenLDAP, восстановить кеш сертификатов и установить TLS_REQCERT на всегда . Это отлично работало, например, ldapsearch (использует ту же библиотеку, что и PHP), но по-прежнему не работает с функцией LDAP PHP. Так что эта попытка, скорее всего, будет пустой тратой времени. Я не пытался разместить сертификат клиента и использовать TLS_KEY / TLS_CERT , как указано в ответе от @jouflux. Если это сработает, это будет лучшим решением.

0
ответ дан 4 December 2019 в 00:01

Теги

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