Я работал над миграцией существующего кластера сервера к использованию openldap для пользователя/управления паролями. Я столкнулся с проблемой, хотя - у меня нет доступа к незашифрованным паролям и всем методам SASL (что я определил до сих пор), требуют незашифрованных паролей в базе данных. Единственный доступный формат является склепом. Период.
Для многих программ простая аутентификация все еще доступна. Однако, если Вы используете libldap2 (openldap) конкретно ldap_sasl_interactive_bind, семейство функций только поддерживает соединения SASL, все другие отключены и удержаны от использования.
Таким образом, как я прохожу проверку подлинности, если SASL повреждается? (SASL, не поддерживающий склеп = поврежденный)
Аутентификация приближается, чтобы использоваться: радиус (freeradius)
сеть
пользовательские приложения C
ssh
зеркальное отражение ldap
Я смог заставить радиус работать, и это - все.
Помогите очень приветствовать - в документах не говорится, почему простой автор был удержан от использования, и это, кажется, единственное, которое может работать. Любое время SASL занят, ничто не работает.
Среда является человечностью 14.04; openldap, cyrus-sasl (через openldap), freeradius, апач, и пользовательский C и компоненты C++.
Нет большой разницы между простой аутентификацией LDAP и SASL / PLAIN. В обоих случаях пароль в виде открытого текста предоставляется клиентом и обрабатывается сервером. OpenLDAP не требует, чтобы пароли хранились в открытом тексте , и, фактически, может использовать функцию crypt (3) локальной системы. Поскольку вы имеете дело с паролями в виде открытого текста во время передачи, следует принять меры к тому, чтобы эти пароли не отправлялись в открытом виде. Обычно это делается с помощью STARTTLS как части соединения LDAP, но LDAPS также является вариантом.
$ ldapwhoami -h ldap.example.com -ZZ -x -D uid=user,ou=people,dc=example,dc=com -W
Enter LDAP Password:
dn:uid=user,ou=people,dc=example,dc=com
$ ldapwhoami -h ldap.example.com -ZZ -D uid=user,ou=people,dc=example,dc=com -W
Enter LDAP Password:
dn:uid=user,ou=people,dc=example,dc=com