[Comm] LDAP и PAM: вопрос для повышения образованности

Денис Черносов =?iso-8859-1?q?denis0=2Eru_=CE=C1_gmail=2Ecom?=
Пт Янв 9 13:01:00 MSK 2009


6 января 2009 г. 14:13 пользователь Timur Batyrshin <batyrshin на ieml.ru> написал:
> On Tue, 6 Jan 2009 13:32:02 +0400
> Денис Черносов wrote:
>
>> Настраиваю Ldap по этой инструкции:
>> http://www.altlinux.org/OpenLDAP
>>
>> Всё понятно, кроме одного момента: даже с TLS не хочется подключаться
>> к LDAP через какого-то прокси-юзера или разрешать всем анонимам читать
>> пароли юзеров. В первом случае дыра в безопасности, связанная с
>> хранением настроек прокси-юзера на каждой рабочей станции (которую
>> могут банально унести и прочитать файл с другой системы). Во втором -
>> дыра с доступом к OpenLDAP.
>
> Раздел Секьюрити/Корректный ACL прочитали?
> Там как раз есть ACL о том, чтобы позволить менять пароль пользователя
> самому пользователю и админу, анонимам проходить аутентификацию и
> запретить все остальные операции с полем userPassword.
> Они указываются в конфигах сервера LDAP.

Читал. Именно этот акл я и поставил (точнее оставил по умолчанию). Но.
К LDAP обращается не юзер, а PAM-модуль и/или nss. И всегда либо
анонимно, либо от bind_dn, либо (если речь идет про поиск рутовой
учетки) от root_bind_dn. Что я и пытался показать на логах
ldap-сервера.

Если речь идет об интеграции, например, самбы и LDAP, то проблем
особых в таком подходе нет - подразумевается, что эти службы либо
находятся на одном сервере, либо на разных, но серверах (которых по
определению меньше, чем клиентов и наблюдают за ними строже, чем за
остальными). Опять же, им [службам типа самбы] реально нужно юзеров
добавлять/удалять/модифицировать.

Но когда на каждом клиенте светится учетка LDAP, которая позволяет
считать (а вообще и записать и стереть) учетные данные всего домена,
то это уже как-то не очень красиво...

Ввиду того, что у меня контора не сверхбольшая и отношения к гос.
тайне не имеет, то я, пожалуй, утрусь и сделаю по-простому. Но если
возникнет задача спроектировать и внедрить сеть сторонней организации
за какие-то деньги и под какие-то обязательства, то я уже буду чесать
репу в пользу других вариантов. Наверное, того же Kerberos. Хотя это и
усложняет систему за счет доп. компонента, без которого даже в сеть не
зайдешь.

И все же мне не очень понятно, почему нельзя формировать bind_dn
динамически при запросе от pam_ldap.so (если nss_ldap запрашивает
только общую информацию, то для нее (него?) как раз можно сделать
отдельную учетку в ldap, без права просмотра атрибутов UserPassword и
подобных).
Возможно это связано с быстродействием... Возможно еще с чем-то. А
может просто никто до этого не заморачивался.

Может запрос на улучшение pam_ldap сделать в багзиллу?


Подробная информация о списке рассылки community