Локальная конфигурация OpenLDAP для аутентификации приложений

Я установил openLDAP на сервер Centos 7, на котором уже работает FreeIPA для аутентификации пользователей. http://www.tecmint.com/setup-ldap-server-and-configure-client-authentication

Цель openLDAP - приложение Nodejs для управления пользователями этого приложения. и будет работать на отдельном сервере.

Я вижу, что работает slapd (ps -ef | grep slapd):

ldap      1287     1  0 06:40 ?        00:00:00 /usr/sbin/slapd -u ldap -h ldapi:/// ldap:///

Поэтому я пытался изменить настройки по умолчанию с помощью команды ldapadd, и я подозреваю, что я подключаюсь к LDAP FreeIPA, который настроен на коробке (на некоторых командах, использующих -x -h, он запрашивает пароль, который еще не был установлен):

sudo ldapadd -H ldapi:/// -f ldaprootpasswd.ldif

SASL/GSS-SPNEGO authentication started
ldap_sasl_interactive_bind_s: Local error (-2)
        additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (SPNEGO cannot find mechanisms to negotiate)

Если я запускаю ldapsearch, то, похоже, я могу подключиться к openLDAP:

sudo ldapsearch -H ldapi:/// -Y EXTERNAL -b "cn=config" "(olcRootDN=*)" olcSuffix olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={2}hdb,cn=config
olcSuffix: dc=my-domain,dc=com
olcRootDN: cn=Manager,dc=my-domain,dc=co

Я подумал, может быть, я мог бы подключиться извне, используя инструмент Windows LDAP, но я получаю ошибку подключения. Я подтвердил, что порт открыт и виден снаружи.

nmap -p 389 10.18.16.243

Starting Nmap 7.12 ( https://nmap.org ) at 2016-09-28 11:25 GMT Daylight Time
Nmap scan report for 10.18.16.243
Host is up (0.00s latency).
PORT    STATE    SERVICE
389/tcp filtered ldap
MAC Address: BB:BB:BB:BB:BB:00 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 19.92 seconds 

Я попытался использовать -h вместо -H:

sudo ldapadd -a -x -h localhost -p 389 -D cn=Manager,dc=my-domain,dc=com -W -f ldaprootpasswd.ldif

Это запрашивает у меня пароль, но я только что установил openLDAP и еще не установил пароль (olcRootPW находится в файле ldif, который я пытаюсь применить).

У кого-нибудь есть опыт работы с openLDAP для аутентификации пользователей или есть идеи, какие конфигурации нужно изменить, чтобы запустить это?

1 ответ

Тайное заклинание было:

sudo ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif

Поскольку "-a" заставляет добавлять новые записи при использовании ldapmodify, это будет то же самое, что и выше:

sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif

"-Q" - включить тихий режим SASL. Никогда не подскажу.

"-Y" - указать механизм SASL, который будет использоваться для аутентификации. Если он не указан, программа выберет лучший механизм, который знает сервер.

Другие вопросы по тегам