Вопрос: Добавить GSSAPI в OpenLdap в поддерживаемыхSASLMechanisms


я ищу как добавить поддержку GSSAPI в мой OpenLDAP ?

Текущая настройка

MIT Kerberos V + OpenLDAP
Kerberos bind to openldap
Able to issue kerberos tickets to my users (with kinit exampluser)
Able to ldapsearch -x uid=exampluser

Сторона Openldap

server% ldapsearch -x -H ldapi:/// -b "" -LLL -s base -Z supportedSASLMechanisms

    ldap_start_tls: Protocol error (2)
    additional info: unsupported extended operation
dn:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
supportedSASLMechanisms: LOGIN
supportedSASLMechanisms: PLAIN

Сторона клиента

client% ldapsearch uid=exampleuser

SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Authentication method not supported (7)
    additional info: SASL(-4): no mechanism available: Couldn't find mech GSSAPI

Клиент ldap.conf

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE        dc=example,dc=com
URI         ldap://ldap.example.com
SASL_MECH   GSSAPI

Очевидно, ошибка достаточно ясна, чтобы объяснить, что мой запрос ldap не нашел механизм auth.

Я прошел через много учебников, объяснений, но все равно не могу найти нигде, как "Добавить«этот механизм.

благодаря Что такое SASL / GSSAPI? за все удивительные объяснения.

Обновлено для пользователя 473183469

Я создал keytab только для ldap, который я скопировал в /etc/ldap/ldap.keytab, и отредактировал / И т.д. / по умолчанию / Slapd в соответствии с https://help.ubuntu.com/community/SingleSignOn просить раскола и дать путь экспорт KRB5_KTNAME = / etc / ldap / ldap.keytab

Этот ldap keytab был создан таким образом

kadmin: addprinc -randkey ldap/ldap.example.com@EXAMPLE.COM
kadmin: ktadd -k ~/ldap.keytab ldap/ldap.example.com@EXAMPLE.COM

У меня также есть /etc/krb5.keytab, который был создан в начале установки

kadmin.local:  listprincs
admin@EXAMPLE.COM
K/M@EXAMPLE.COM
krbtgt/EXAMPLE.COM@EXAMPLE.COM
kadmin/admin@EXAMPLE.COM
kadmin/changepw@EXAMPLE.COM
kadmin/history@EXAMPLE.COM
kadmin/kdc.example.com@EXAMPLE.COM
user1@example.com (also in the ldap, can issue a ticket and everything)
user2@example.com (same for him)
ldap/ldap.example.com@EXAMPLE.COM

Результат ktutil

# ktutil
ktutil:  read_kt /etc/ldap.keytab
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2            ldap/ldap.example.com@EXAMPLE.COM
   2    2            ldap/ldap.example.com@EXAMPLE.COM
   3    2            ldap/ldap.example.com@EXAMPLE.COM
   4    2            ldap/ldap.example.com@EXAMPLE.COM
ktutil:  read_kt /etc/krb5.keytab
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2            ldap/ldap.example.com@EXAMPLE.COM
   2    2            ldap/ldap.example.com@EXAMPLE.COM
   3    2            ldap/ldap.example.com@EXAMPLE.COM
   4    2            ldap/ldap.example.com@EXAMPLE.COM
   5    2           kadmin/kdc.example.com@EXAMPLE.COM
   6    2           kadmin/kdc.example.com@EXAMPLE.COM
   7    2           kadmin/kdc.example.com@EXAMPLE.COM
   8    2           kadmin/kdc.example.com@EXAMPLE.COM

5
2018-02-23 16:55


Источник




Ответы:


Вы хотите изменить конфигурацию sasl для slapd, обычно /etc/sasl2/slapd.conf, чтобы включить gssapi.

Например:

mech_list: external gssapi plain
pwcheck_method: saslauthd

После этого вам нужно будет перезапустить slapd.


1
2018-02-27 19:46



Я использую cn = config для моего ldap, а не файла slapd.conf. Кто бы то ни был, у меня есть папка / etc / ldap / sasl2, которая пуста? - Tolsadus
Несмотря на то, что имя одно и то же, существует другое slapd.confтолько для SASL. Это другое дело в отношении вашего cn=config slapd.d. Пожалуйста, попробуйте, что супер-компетентный пользователь 84104 сказал. - 473183469


РЕШИТЬ

Я отсутствовал SASL_MECH GSSAPI а также SASL_REAM в /etc/ldap/ldap.conf

[Tue Feb 28 13:48 root:ldap] [~] # cat /etc/ldap/ldap.conf
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE    dc=example,dc=com
URI ldap://ldap.example.com    
SASL_MECH GSSAPI
SASL_REALM EXAMPLE.COM

Теперь я могу просто ldapsearch uid = пользователь напрямую с билетом kerberos и получить

SASL/GSSAPI authentication started
SASL username: user@EXAMPLE.COM
SASL SSF: 112
SASL data security layer installed.
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> (default) with scope subtree
# filter: uid=user
# requesting: ALL
#

Конечно, если у меня нет билетов на кеберош (что имеет смысл)

client% ldapsearch uid=gleger
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Local error (-2)
    additional info: SASL(-1): generic failure: GSSAPI Error:  Miscellaneous failure (see text (No credentials cache file found)

1
2018-02-28 11:53



Хотя я рад, что вы заработали свою систему, я сомневаюсь, что ответ, который вы предоставили, верен. В виде ldap.conf строго относится к клиентам, он не должен supportedSASLMechanisms предоставляемый сервером. Из LDAP.CONF(5): The ldap.conf configuration file is used to set system-wide defaults to be applied when running ldap clients. - 84104
Правда. Я завтра посмотрю на этот файл slapd.conf, может быть, на самом деле «хороший» ответ. - Tolsadus


Разве вы просто не пропускаете /etc/krb5.keytab файл, имеющий SPN ldap/fdqn?

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


0
2018-02-24 11:08



Я отредактировал вопрос. Должен ли я использовать krb5.keytab на ldap? и не создать специальный для него? - Tolsadus
Нет, это выглядит хорошо. На самом деле я использую общесистемный файл krb5.keytab для ssh, а также для OpenLDAP, но, как вы выглядели хорошо. - 473183469
Даже на стороне пользователя, когда я пытаюсь ldapsearch, я получил krbtg/EXAMPLE.COM@EXAMPLE.COM ldap/ldap.example.com@EXAMPLE.COM - Tolsadus
Вы установили OpenLDAP из пакетов? Установили ли вы надлежащие sasl-модули: libsasl2-modules-gssapi-mit, для Debian? - 473183469
libsasl2-modules-gssapi-mit - это уже самая новая версия. :( - Tolsadus