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

Попытка использовать SASL AND 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.server: порт -d8

чтобы команда ldapsearch работала, я изменил файл /etc/openldap/ldap.conf следующим образом:

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

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

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

что мне здесь нужно сделать, чтобы пройти аутентификацию?


person Gurkha    schedule 26.04.2016    source источник


Ответы (2)


После 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, как упомянул Бертольд Коликс, я не уверен, сыграло ли это роль в аутентификации пользователя.

person Gurkha    schedule 01.05.2016

Я выполнил упражнение по настройке SASL с OpenLDAP и TLS в RedHat Linux 7.2, и мне удалось добиться того, чтобы что-то подобное нормально работало.

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

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

  • Вам необходимо убедиться, что saslauthd принимает сертификат CA сертификата, используемого сервером LDAP. В частности, параметр
    ldap_tls_cacert_file в /etc/saslauthd.conf - ваш друг
  • Если у вас включен SELinux, убедитесь, что saslauthd имеет доступ к файлам сертификатов. Если вы не уверены, проследите за файлом /var/log/audit/audit.log и найдите записи с ключевым словом denied. Я обнаружил, что инструмент audit2allow - отличный способ разрешить доступ, в котором ранее было отказано. Вы также можете временно отключить SELinux с помощью команды setenforce Permissive
person Bertold Kolics    schedule 30.04.2016
comment
я установил cyrus-sasl-md5 перезапустил saslauthd и убедился, что ldap_tls_cacert_file указывает на сертификат, используемый ldap. Я также заглянул в /var/log/audit/audit.log и не вижу никаких отклонений. Однако у меня все еще та же проблема. Вход в /var/log/messages/ ничего не говорит о том, что я упомянул выше. Любая идея? - person Gurkha; 01.05.2016
comment
Это работает без SSL? Если да, то это проблема с SSL. Вы также можете попробовать обновить сертификаты CA, которым доверяет система по умолчанию. Ищите команду update-ca-certs и / или ковыряйтесь в /etc/pki/ca-trust/ каталогах. - person Bertold Kolics; 04.05.2016