Назад | Перейти на главную страницу

ldapsearch и проверка подлинности Kerberos

Я могу успешно подключиться и выполнить поиск на контроллере домена Active Directory с помощью ldapsearch. Я использую -x опция, чтобы указать аутентификацию по имени пользователя и паролю (пароль задается -W и имя пользователя -D).

В настоящее время мне нужно выгрузить каталог из домена MIT-kerberos. Kerberos - единственный протокол, доступный для аутентификации. Я могу получить билет Kerberos TGT с помощью kinit. Я использую эти командные строки:

ldapsearch  -Y SASL -b "REALM.INC" -H ldap://kerberos_IP_address
-> ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
  additional info: SASL(-4): no mechanism available: No worthy mechs found

ldapsearch -o "mech=GSSAPI" ...
-> Invalid general option name: mech

Как я могу пройти аутентификацию в Kerberos с помощью ldapsearch?

Большое спасибо за вашу помощь и ответы

Возможно, вам не хватает libsasl2-modules-gssapi-mit пакет.

Без:

# ldapsearch -H ldap://dc1 -Y GSSAPI -b 'DC=ad-test,DC=vx'
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
    additional info: SASL(-4): no mechanism available: No worthy mechs found

Установить:

# apt install libsasl2-modules-gssapi-mit

С участием:

# ldapsearch -H ldap://dc1 -Y GSSAPI -b 'DC=ad-test,DC=vx'
SASL/GSSAPI authentication started
SASL username: Administrator@AD-TEST.VX
SASL SSF: 256
SASL data security layer installed.
...

SASL включен по умолчанию и автоматически определяет совместимый механизм, поэтому указав -Y GSSAPI даже не нужно:

# ldapsearch -H ldap://dc1 -b 'DC=ad-test,DC=vx'
SASL/GSSAPI authentication started
SASL username: Administrator@AD-TEST.VX
SASL SSF: 256
SASL data security layer installed.
...

В зависимости от вашей версии ldapsearch и ОС вы можете сначала попытаться аутентифицироваться в Kerberos с помощью kinit и "кэшировать" свой билет, использовать его в переменной env kerberos, а затем позволить ldapsearch использовать эту переменную примерно так:

kinit -c /tmp/<yourlogin>.cc.tmp <yourlogin>
export KRB5CCNAME=/tmp/<yourlogin>.cc.tmp
ldapsearch -Tx -h <host> -p <port> -Y GSSAPI -b "dc=example,dc=com" cn=*

-Y используется для указания механизма SASL, который, вероятно, будет GSSAPIхотя может быть GSS-SPNEGO. Кроме того, базовый dn должен быть в синтаксисе dn (т. Е. dc=example,dc=com), а не синтаксис домена (example.com).

$ ldapsearch -x -b '' -s base supportedSASLMechanisms -H ldap://192.0.2.1/
dn:
supportedSASLMechanisms: GSSAPI

$ ldapsearch -Y GSSAPI -b dc=example,dc=com -H ldap://192.0.2.1/

$ ldapsearch -x -b '' -s base supportedSASLMechanisms -H ldap://192.0.2.2/
dn:
supportedSASLMechanisms: GSS-SPNEGO
supportedSASLMechanisms: GSSAPI