The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Тайны LDAP или 'что от нас скрывают' :-)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Тайны LDAP или 'что от нас скрывают' :-)"  
Сообщение от DRVTiny (ok) on 25-Июл-06, 15:51 
Глава о настройке безопасности LDAP в очерках "LDAP и Все-все-все" меня привела в некоторое замешательство. Я по наивности своей полагал, что в /etc/ldap.secret должен храниться пароль администратора LDAP и ничего больше, но в "Очерках" этот файл почему-то используется для хранения пароля специального прокси-пользователя с read доступом к атрибуту userPassword, т.е. подменяет собой поле bindpw в /etc/ldap.conf. Сейчас у меня выставлены "анархические" права доступа access * by * write, при малейшем изменении которых аутентификация перестаёт работать.
А хотелось бы сделать так:
access to attr=userPassword
by dn="dc=proxy,dc=organization,dc=ru" read
by anonymous auth
by self write
by * none

access to *
by dn="dc=proxy,dc=organization,dc=ru" write
by self write
by anonymous auth
by * read

Кстати, сам ldap.conf - тоже загадка для меня полная. Этих ldap.conf'ов почему-то два (вроде как один для nss_ldap, другой для клиента), параметры в этих файлах одни и те же прописываются, но еcли я правильно понимаю ldap.conf в каталоге /etc/openldap - используется неким "клиентом" (утилитами/библ.функциями типа ldapadd?), а /etc/ldap.conf - службой nss_ldap. Запутавшись в этих 2-х файлах, я в конце-концов решил просто сделать оба ldap.conf'а жёсткими ссылками на один инод. Вроде всё работает, но в /etc/openldap/ldap.conf почему-то автоматически, без моего ведома, дописались параметры HOST BASE и... ещё какой-то (я их уже удалил), которые, разумеется, были определены там и раньше (только были приведены в нижнем регистре).
Также для меня полной загадкой остаются следующие 2 момента:
1) Аутентификация пользователей через LDAP работает ТОЛЬКО при запущенном демоне nscd (что это такое, понятия не имею)
2) В выводе команд getent passwd, getent group и т.д., отсутствуют пользователи, прописанные в LDAP, и это при том, что после переноса всего содержимого файлов passwd, groups и shadow, у меня без проблем работает вариант авторизации "чистый LDAP" (когда в /etc/nsswitch.conf база files для passwd, group и shadow вообще не используется)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Тайны LDAP или 'что от нас скрывают' :-)"  
Сообщение от Zerot email on 25-Июл-06, 16:08 
Работать должно и без nscd - это просто кэширующий данные "каталогов" сервис
настройка - обратите внимания на /etc/nsswitch.conf, /etc/pam.d/*
два файла клиентов - вы верно понимаете, openldap и системные клиенты - pam_ldap+nss_ldap -
это продукты разные, второй в первый не входит ...
по авторизации - очень глубоко не копал, навскидку не отвечу что подправить, чтобы было окончательное счастье
просто придется разобраться ldapserver+pam_ldap+nss_ldap+nsswitch+pam

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Тайны LDAP или 'что от нас скрывают' :-)"  
Сообщение от DRVTiny (ok) on 25-Июл-06, 19:28 
>Работать должно и без nscd - это просто кэширующий данные "каталогов" сервис
Тем не менее по неизвестным мне причинам без nscd ничего не работает :( Когда я запускаю LDAP-сервер в режиме отладки , видно, что slapd вообще не получает запросов до старта nscd.

>настройка - обратите внимания на /etc/nsswitch.conf, /etc/pam.d/*
Так обращаю, вот уже вторая неделя пошла как обращаю внимание регулярно :-) Я, кстати, взял для /etc/pam.d/* готовые файлы из поставки nss_ldap (я их rpm -ql nss_ldap нашёл). Это как, ничего? Вроде работает всё худо-бедно...

>два файла клиентов - вы верно понимаете, openldap и системные клиенты -
>pam_ldap+nss_ldap -
>это продукты разные, второй в первый не входит ...
>по авторизации - очень глубоко не копал, навскидку не отвечу что подправить,
>чтобы было окончательное счастье
>просто придется разобраться ldapserver+pam_ldap+nss_ldap+nsswitch+pam
Это я уже понял.

Сейчас вдруг ни с того, ни сего вылезла проблема с группами. Вроде бы раньше её не было...
Представляете, вместо gid, например, в выводе ls -l, вижу числовые идентификаторы, при этом slapd получает какие-то совершенно маразматические запросы вида:
conn=0 op=42 SRCH base="dc=organization,dc=ru" scope=2 deref=0 filter="(&(objectClass=posixGroup)(gidNumber=55)(objectClass=posixAccount))"
Дело в том, что здесь некорректный фильтр передаётся. На самом деле вполне очевидно, что никакого objectClass: posixAccount у меня в описаниях групп нет, т.е. правильное значение филььтра такое:
filter="(&(objectClass=posixGroup)(gidNumber=55))"
Но почему-то - опять же, каким-то загадочным образом, у меня ко всем фильтрам запросов подсистемы NSS добавляется этот проклятый posixAccount! Т.е., например, фильтр для записи пользователя выглядит так:
filter="(&(objectClass=posixAccount)(uidNumber=502)(objectClass=posixAccount))"
и срабатывает он только потому, что юзеры действительно относятся к objectClass: posixAccount
Я думал, что дело в значении параметра pam_filter в файле /etc/ldap.conf - ан нет, ничего подобного, я его поменял на pam_filter objectClass=*, но лучше от этого не стало :-((

Кто-нибудь в курсе, как от этой хворобы избавится???
P.S. Мои записи nss_base в ldap.conf'е выглядят так:
nss_base_passwd         ou=People,dc=gw,dc=organization,dc=ru?one #sub?objectClass=posi
xAccount
nss_base_shadow         ou=People,dc=gw,dc=organization,dc=ru?one #sub?objectClass=shad
owAccount
nss_base_group          ou=Group,dc=gw,dc=organization,dc=ru?one #sub?objectClass=posix
Group

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Тайны LDAP или 'что от нас скрывают' :-)"  
Сообщение от Zerot email on 25-Июл-06, 21:11 
скорее - перестановкой и аккуратной настройкой
кстати файлы разные
/etc/ldap.conf - настройка pam_ldap+nss_ldap
/etc/openldap/ldap.conf - настройка для консольного клиента (утилиты ldapadd, ldapmodify etc., входящие в openldap)
- они ни разу ни одинаковые, эти файлы. Помнится вы там с hardlink мудрили ? попробуйте откатить
- про стандартные конфиги - не то чтобы катит. Мне, например, пришлось напильником дозатачивать
Вот вам вопрос - а что вам нужно ? чтобы приотказе ldap моно было зайти пользователем из /etc/passwd или чтобы все становилось просто недоступно ...
я почему не выкатываю рекомендации - с этим гемором нужно _разобраться_, иначе грабли за граблями полезут

а две недели - это ничего, я году в 2001 больше года подходил к теме :-)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Тайны LDAP или 'что от нас скрывают' :-)"  
Сообщение от Zerot email on 25-Июл-06, 21:13 
на мыло мне напишите, попробую помочь малость
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Тайны LDAP или 'что от нас скрывают' :-)"  
Сообщение от DRVTiny (ok) on 26-Июл-06, 12:03 
>скорее - перестановкой и аккуратной настройкой
Перестановкой чего? :-)
>кстати файлы разные
Судя по куцему man ldap.conf (видимо, этот man не от nss_ldap мне достался) - да, действительно разные, хотя общие настройки типа host, base, rootdn у них, судя по всему, должны быть одинаковыми.
>/etc/ldap.conf - настройка pam_ldap+nss_ldap
>/etc/openldap/ldap.conf - настройка для консольного клиента (утилиты ldapadd, ldapmodify etc., входящие в
>openldap)
>- они ни разу ни одинаковые, эти файлы. Помнится вы там с
>hardlink мудрили ? попробуйте откатить
Попробую... Но странная проблема с "лишним" objectClass: posixAccount по-моему не из-за этого возникает, хотя могу и ошибаться, разумеется.

>- про стандартные конфиги - не то чтобы катит. Мне, например, пришлось
>напильником дозатачивать
Это Вы про те, что в pam.d? Да нет, вроде с ними, слава Богу, как раз нормально всё, мало того, мне даже очень понравилось, как они работают: например, пароль по команде passwd userName запрашивается два раза: сначала для /etc/shadow, потом для LDAP, что очень удобно, поскольку отпадает необходимость писать соотв. скрипты, использующие ldapmodify.

>Вот вам вопрос - а что вам нужно ? чтобы приотказе ldap
>моно было зайти пользователем из /etc/passwd или чтобы все становилось просто
>недоступно ...
Задача другая: в организации нужно создать единую базу для авторизации пользователей через LDAP, в данном случае на NSS_LDAP я просто "тренируюсь". Т.е. у меня нет idea fix заменить локальный /etc/passwd на LDAP, но вот дополнить его "сетевыми" аккуантами - другое дело, этого результата я в итоге и должен достигнуть.

>я почему не выкатываю рекомендации - с этим гемором нужно _разобраться_, иначе
>грабли за граблями полезут
Я так и понял :) Именно поэтому меня удивляет то, что по LDAP нет ни одного удобоваримого документа, описывающего механику его работы, теорию построения ирерархических баз LDAP и пр. Меня просто в изумление приводит следующее: вот, например, относительно DN вроде бы все договорились, что это Distinguished Name, а вот, например, cn, который авторы статей по настройке LDAP очень любят использовать к месту и не слишком - у кого-то ассоциируется с Common Name, у кого-то это - CoNtainer. Такое впечатление, что большинство настраивает LDAP вслепую, не понимая что они делают и зачем. А уж о том, чтобы структура баз LDAP соответствовала хоть какой-то реальной иерархии (uid=admin,cn=Peoples,ou=IT,o=organization,st=moscow,c=ru) по-моему вообще мало кто задумывается.

>а две недели - это ничего, я году в 2001 больше года
>подходил к теме :-)
>
(проглатывая скопление чего-то слизкого, подступившее к горлу) Н-да... Я чувствую, интересные у меня перспективы... :)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру