Последние сообщения

Страницы: 1 [2] 3 4 ... 10
11
Конфигурация через cn=config / Re: настройка ACL для прокси в AD
« Последний ответ от Денис 05 Июль 2023, 10:36:27 »
Во-первых, да, на rootdn действие ACL не распространяется.

Понял, спасибо.
Тогда еще несколько вопросов - вот получается у меня теперь 2 базы в OpenLDAP - {1}mdb - созданная при установке OpenLDAP, и {2}ldap, созданная при настройке back_ldap.
В какой из них создать пользователей, которые могут видеть только то, что акузапо в ACL базы {2}ldap?
С одной стороны - логично выглядит - что их надо создавать в базе {2}ldap, но не будут ли эти пользователи пересекаться с пользователями AD?
А могут ли пользователи AD ходить в OpenLDAP со своими учетками? Попробовал - не выходит. Это может быть из-за того, что я запускаю ldapsearch к OpenLDAP с учеткой AD но с simple binding, а в AD - digest-md5? 

Во-вторых, директива replace при changetype: modify заменяет все значения атрибута, так что у вас в итоге должен остаться последний olcAccess  (проверьте в итоговой конфигурации). Тут, скорее всего, подойдёт replace + add.
Вроде все отработало - в итоговой конфигурации обе записи присутствуют. Там если указывать именно olcAccess: {NN} - оно заменяет именно тот атрибут, который нужно

В-третьих, в man-странице slapd-ldap в разделе "Контроль доступа" честно написано, что контроль доступа у данного backend фиктивный, и нормальный контроль доступа нужно настраивать в целевом каталоге, в Вашем случае, в AD.

Это понятно, читал, спасибо. Мне в общем и не нужно, чтобы OpenLDAP решал несвойственные ему задачи. Нужно только чтобы keycloak, некоторые интерфейсы которого торчат в инет, видел не весь AD а его часть, необходимую для работы приложения. Соответственно, в качестве сервера LDAP (провайдера аутентификации и ролей/групп пользователей) для keycloak будет выступать не весь AD, а только его часть, которая экспозится OpenLDAPом через ACL. Но с AD/LDAP я лет 15 не работал, поэтому вот прорываюсь с боем :)
12
Конфигурация через cn=config / Re: настройка ACL для прокси в AD
« Последний ответ от egor 04 Июль 2023, 21:33:25 »
Как мне кажется, тут сразу несколько факторов.

Во-первых, да, на rootdn действие ACL не распространяется.

Во-вторых, директива replace при changetype: modify заменяет все значения атрибута, так что у вас в итоге должен остаться последний olcAccess  (проверьте в итоговой конфигурации). Тут, скорее всего, подойдёт replace + add.

В-третьих, в man-странице slapd-ldap в разделе "Контроль доступа" честно написано, что контроль доступа у данного backend фиктивный, и нормальный контроль доступа нужно настраивать в целевом каталоге, в Вашем случае, в AD.

Егор
13
Конфигурация через cn=config / настройка ACL для прокси в AD
« Последний ответ от Денис 04 Июль 2023, 17:33:57 »
Продолжение истории с проксированием AD через OpenLDAP,

Попытался теперь настроить ACL, чтобы в OpenLDAP попадала только одна OU, а все остальные объекты AD были не видны:
dn: olcDatabase={2}ldap,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to dn.children="OU=OTF-IS-Groups,OU=OTF,OU=BLAHBLAH,DC=corp,DC=blahblah,DC=com"
    filter="(&(objectClass=organizationalUnit)(!(objectClass=computer))(distinguishedName=OU=OTF-IS-Testit,OU=OTF-IS-Groups,OU=OTF,OU=BLAHBLAH,DC=corp,DC=blahblah,DC=com))"
    attrs=distinguishedName,ou
    by users read
    by * none
-
replace: olcAccess
olcAccess: {1}to * by * none


но после запроса
ldapsearch -H ldap://someldap.blahblah.com/ -x -D "cn=openldap,dc=corp,dc=blahblah,dc=com" -W "(objectClass=*)"

все равно вижу весь AD

это может быть из-за того, что я выполняю ldapserch от сервисного DN cn=openldap,dc=corp,dc=blahblah,dc=com - olcRootDN, RootPW которого прописаны в конфиге olcDatabase={2}ldap?
или я где-то в конфиге ACL ошибся?
14
Конфигурация через cn=config / Re: прокси в AD
« Последний ответ от Денис 03 Июль 2023, 17:29:34 »

olcDbIDAssertBind: bindmethod="sasl" authcId="denis.sutyagin" mode="self" saslmech="DIGEST-MD5" credentials="{MD5}HMqjnyedjgJLkUuv4kq7GQ=="


А вот так - заработало - только с паролем в открытом виде

Огромное спасибо, Егор!
15
Конфигурация через cn=config / Re: прокси в AD
« Последний ответ от Денис 03 Июль 2023, 17:22:50 »

Вы какие-нибудь аутентификационные данные вводите, или "оно само" откуда-то берёт? Из какой-нибудь базы sasl привязывает идентификатор пользователя с аутентификационными данными? Если да, можно попробовать извлечь хэш из этой базы.

Ввожу руками пароль, из базы sasl не привязывал

Могу попробовать отловить хеш через tcpdump
16
Конфигурация через cn=config / Re: прокси в AD
« Последний ответ от egor 03 Июль 2023, 17:05:37 »
ldapsearch -H ldap://dc01.corp.blahblah.com/ -Y DIGEST-MD5 -U "denis.sutyagin" -b "dc=corp,dc=blahblah,dc=com" "(objectClass=*)"

Вы какие-нибудь аутентификационные данные вводите, или "оно само" откуда-то берёт? Из какой-нибудь базы sasl привязывает идентификатор пользователя с аутентификационными данными? Если да, можно попробовать извлечь хэш из этой базы.

Что касается back_ldap, я бы попробовал так:

olcDbIDAssertBind: bindmethod="sasl" authcId="denis.sutyagin" mode="self" saslmech="DIGEST-MD5" credentials="{MD5}HMqjnyedjgJLkUuv1kqAGQ=="

Но, опять же, построение хэша я не могу прокомментировать, просто не знаю, как его правильно собрать.

Егор
17
Конфигурация через cn=config / Re: прокси в AD
« Последний ответ от Денис 03 Июль 2023, 16:29:00 »

В поле credentials у Вас пароль в открытом виде. Думаю, так его back_ldap в AD и передаёт. Для механизма DIGEST-MD5 нужен, скорее всего, хэш пароля.

Покажите полностью строку запроса ldapsearch к AD, которая у Вас успешно выполняется.

вот работающий запрос к AD

ldapsearch -H ldap://dc01.corp.blahblah.com/ -Y DIGEST-MD5 -U "denis.sutyagin" -b "dc=corp,dc=blahblah,dc=com" "(objectClass=*)"

вот результат

# extended LDIF
#
# LDAPv3
# base <dc=corp,dc=blahblah,dc=com> with scope subtree
# filter: (objectClass=*)
# requesting: ALL
#

# corp.blahblah.com
dn: DC=corp,DC=blahblah,DC=com
objectClass: top
objectClass: domain
objectClass: domainDNS
distinguishedName: DC=corp,DC=blahblah,DC=com
instanceType: 5
whenCreated: 20151216133710.0Z
whenChanged: 20230514124954.0Z
subRefs: DC=ForestDnsZones,DC=corp,DC=blahblah,DC=com

18
Конфигурация через cn=config / Re: прокси в AD
« Последний ответ от Денис 03 Июль 2023, 16:12:59 »
ldappasswd - ему нужен валидный пользователь

собрал хеш по схеме
hash='{MD5}' + base64(md5(username+realm+password))

получилось такое
{MD5}HMqjnyedjgJLkUuv4kq7GQ==

попробовал
ldapmodify -Y EXTERNAL -H ldapi:/// -f ./modify-olcDBIDAssert.ldif -V
dn: olcDatabase={2}ldap,cn=admin,cn=config
changetype: modify
delete: olcDbIDAssertBind
-
add: olcDbIDAssertBind
olcDbIDAssertBind: bindmethod="sasl" binddn="cn=denis.sutyagin,dc=corp,dc=blahblah,dc=com" mode="self" saslmech="DIGEST-MD5" credentials="{MD5}HMqjnyedjgJLkUuv4kq7GQ=="

изменить не получается - говорит
No such object (32)
matched DN: cn=config

возможно тут надо ACL настраивать? я до этого не добрался еще

PS:
с этим все получилось - после того как переинициализировал OpnLDAP
но результат - тот же - не видит AD
19
Конфигурация через cn=config / Re: прокси в AD
« Последний ответ от egor 03 Июль 2023, 14:23:19 »
ааа, хеш! его делать saslpasswd -s ?

Вероятно. Что получается на выходе команды?
20
Конфигурация через cn=config / Re: прокси в AD
« Последний ответ от egor 03 Июль 2023, 14:21:25 »
я вроде там такое вставил.. или неправильно?
olcDbIDAssertBind: bindmethod="sasl" binddn="cn=denis.sutyagin,dc=corp,dc=blahblah,dc=com" mode="self" saslmech="DIGEST-MD5" credentials="somecomplexpassword"

saslmech=DIGEST-MD5

В поле credentials у Вас пароль в открытом виде. Думаю, так его back_ldap в AD и передаёт. Для механизма DIGEST-MD5 нужен, скорее всего, хэш пароля.

Покажите полностью строку запроса ldapsearch к AD, которая у Вас успешно выполняется.

Егор
Страницы: 1 [2] 3 4 ... 10
Эта страница

Содержание

Новости:
Форум проекта Pro-LDAP.ru
OpenLDAP 2.4 Руководство

Содержание

Введение в службы каталогов OpenLDAPБыстрое развёртывание и начало работыОбщая картина - варианты конфигурацииСборка и установка OpenLDAPНастройка slapd

 

Конфигурационный файл slapdЗапуск slapdКонтроль доступаОграниченияИнструментыМеханизмы манипуляции даннымиНаложенияСпецификация схемы

 

БезопасностьSASLTLSРаспределённая служба каталоговРепликацияОбслуживаниеМониторингПроизводительностьУстранение неполадок
Перевод официального руководства OpenLDAP 2.4 Admin Guide
Полное содержание здесь
LDAP для учёных-ракетчиков

Содержание

О книгеКонцепции LDAPОбъекты LDAPУстановка LDAPПримерыНастройкаРепликация и отсылкиLDIF и DSMLПротоколLDAP API

 

HOWTOНеполадкиПроизводительностьИнструменты LDAPБезопасностьЗаметкиРесурсы LDAPRFC и X.500ГлоссарийОбъекты
Перевод "LDAP for Rocket Scientists"
Полное содержание здесь
Ресурсы

Книги

Руководство OpenLDAP 2.4LDAP для учёных-ракетчиков

Другие

СтатьиТермины LDAPman-страницы OpenLDAP 2.4Список RFCКлиенты LDAPФайлы наборов схемы
Полезные ресурсы
Форум

 

Разделы форумаНепрочитанные сообщенияПоследние сообщения
Форум проекта
Главная

Pro-LDAP.ru

О проектеНовости проектаУчастникиСтаньте участником!Сообщите об ошибке!Об авторских правахСоглашения проекта
Присоединяйсь!