Ошибка аутентификации SASL LDAP

пытаюсь использовать SASL и LDAP для аутентификации пользователя в RedHat Linux. До сих пор я настроил saslauthd обслуживание и его запуск. Мой /etc/saslauthd.conf выглядит следующим образом:

ldap_servers: ldaps://test.ldap.server:1234
ldap_use_sasl: yes
ldap_mech: DIGEST-MD5
ldap_auth_method: fastbind
ldap_search_base: Ou=PeopleAuthSrch,DC=abc,DC=com

мой /etc/sasl2/smtpd.conf выглядит следующим образом:

pwcheck_method: saslauthd
mech_list: plain login

теперь, когда я пытаюсь проверить аутентификацию с помощью следующей команды:

testsaslauthd -u username -p password -f /var/run/saslauthd/mux

Я 0: NO "authentication failed"

и когда я смотрю на журналы, он говорит:

Retrying authentication
do_auth   :auth failure: [user:myuser]  [service=imap] [realm=] [mech=ldap] [reason=unknown]

что я здесь не хватает? заранее спасибо!!

обновление:

установлен OpenLdap для выполнения поиска со следующей командой:

ldapsearch-x-h ldaps: / / my.протокол LDAP.сервер: port-d8

для работы команды ldapsearch я изменил следующим образом:

tls_reqcert allow
TLS_CACERTDIR /home/myuser/cacertss
LDAPTLS_CACERT /home/myuser/cacertss

он возвращает все записи, но я все еще не могу аутентифицироваться с помощью

имя пользователя testsaslauthd-u-p пароль-f/var/run/saslauthd / mux

что мне нужно сделать здесь, чтобы сделать эту проверку подлинности?

2 ответов


Я прошел через упражнение по настройке SASL setup с OpenLDAP и TLS на RedHat Linux 7.2, и мне удалось получить что-то подобное, работающее нормально.

как я уже упоминал в моем предыдущем посте, убедитесь, что у вас есть установлен.

Я бы сначала попытался заставить все работать без SSL. Только после того, как ваша настройка работает без SSL, перейдите к части SSL.

  • вы должны убедиться, что saslauthd принимает сертификат CA сертификат, используемый сервером LDAP. В частности,
    на /etc/saslauthd.conf - твой друг
  • если у вас включен SELinux, убедитесь, что saslauthd можно получить доступ к файлам сертификатов. Если вы не уверены, хвост /var/log/audit/audit.log file и искать записи с ключевым словом "denied". Я нашел audit2allow инструмент отличный способ включить доступ, который ранее был запрещен. Вы также можете просто отключить SELinux временно, используя setenforce Permissive команда

после 5 дней борьбы выяснилось, что настройки, которые я использовал, были для Active directory где я должен использовать параметры LDAP следующим образом:

ldap_servers: ldaps://test.ldap.server:1234
ldap_search_base: Ou=PeopleAuthSrch,DC=abc,DC=com
ldap_filters: (uid=%u)
ldap_tls_cacert_file: /path/to/my/certificate

Я установить cyrus-sasl-md5 как упоминал Бертольд Коликс, я не уверен, что это сыграло роль в аутентификации пользователя.