URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 2865
[ Назад ]

Исходное сообщение
"каждому пользователю нужно два пароля хранимых в ЛДАП"

Отправлено schizoid , 21-Авг-06 19:33 
Добрый день.
Есть необходимость хранить на Лдап сервере два пароля для каждого пользователя.
Один для фтп, другой для впн.

Не могу осилить права доступа к атрибутам.
Пока и впн и фтп сервера подключаются к ЛДАП от имени рута. Что не есть правильно,
но я всё что мог перебрал.
Не могу заставить аутентифицироватся от имени анонимуса.
Любое написаное мной правило доступа запрещает доступ анонимуса.

Было много комбинаций правил, остановился сейчас на таком.

access to attrs=vpnPassword, attrs=userPassword
        by anonymous auth
        by * none
access to *
        by users read
        by anonymous auth

Пожалуйста дайте ссылку на русский мануал или подскажите что не так.
Плюс в каком атрибуте хранить второй пароль?
Как создать такой атрибут, который шифровался б так же как и userpassword?


Содержание

Сообщения в этом обсуждении
"каждому пользователю нужно два пароля хранимых в ЛДАП"
Отправлено bass , 22-Авг-06 06:10 
>Добрый день.
>Есть необходимость хранить на Лдап сервере два пароля для каждого пользователя.
>Один для фтп, другой для впн.
>
>Не могу осилить права доступа к атрибутам.
>Пока и впн и фтп сервера подключаются к ЛДАП от имени рута.
>Что не есть правильно,
>но я всё что мог перебрал.

если ваши сервисы не в состоянии пробрасывать аутентификацию пользователей в ldap,то заведите админов этих сервисов и подключайтесь под ними.

>Не могу заставить аутентифицироватся от имени анонимуса.
>Любое написаное мной правило доступа запрещает доступ анонимуса.
>
>Было много комбинаций правил, остановился сейчас на таком.
>
>access to attrs=vpnPassword, attrs=userPassword
>        by anonymous auth
>        by * none
>access to *
>        by users read
>        by anonymous auth
>
>Пожалуйста дайте ссылку на русский мануал или подскажите что не так.

ничего криминального в ваших acl нет. возможно ваши сервисы просто не умеют ldap_auth_bind  (читай выше про отдельных админов)
кроме-того, лдап на некоторых системых очень конкретен к синтаксису...не любит переводы строк, табуляцию в acl, считая это частью acl.
должно быть примерно так:
access to attrs=userPassword by dn.regex="cn=adm,o=myorg" write by anonymous auth by self write by * none
access to dn.regex=".*,ou=PeopleOfFTPandVPN,o=myorg" by dn.regex="cn=adm,o=myorg" write by self write by * read


>Плюс в каком атрибуте хранить второй пароль?
>Как создать такой атрибут, который шифровался б так же как и userpassword?

вообще смысл единого хранилища в слове _единый_ :)
но что вам мешает сделать 2-й атрибут userpassword? вменяемый сервис будет перебирать их пока не совпадёт с одним из них. Ничего также не мешает сделать свой атрибут по аналогии  с userpassword и назвать его как вам хочется. Как сделать? открыть core.schema + документацию и сделать по аналогии



"каждому пользователю нужно два пароля хранимых в ЛДАП"
Отправлено schizoid , 22-Авг-06 14:55 

>если ваши сервисы не в состоянии пробрасывать аутентификацию пользователей в ldap,
>то заведите
>админов этих сервисов и подключайтесь под ними.

Не понимаю что такое админы сервисов...
Имеется ввиду создать в лдап пользователей типа VpnRoot FtpRoot?
И предоставить им доступ к соответствующим атрибутам?

>ничего криминального в ваших acl нет. возможно ваши сервисы просто не умеют
>ldap_auth_bind  (читай выше про отдельных админов)

Не уверен, но если эти сервисы логинятся сейчас от имени рута, то разве это не означает что умеют?

То с чего надо было начать:
Freebsd 4.9: openldap-server-2.4.2.a_1;  freeradius-1.1.2;  mpd-3.18_4
RedHat7: pure-ftpd-1.0.21

>кроме-того, лдап на некоторых системых очень конкретен к синтаксису...не любит переводы строк,
>табуляцию в acl, считая это частью acl.
>должно быть примерно так:
>access to attrs=userPassword by dn.regex="cn=adm,o=myorg" write by anonymous auth by self write
>by * none
>access to dn.regex=".*,ou=PeopleOfFTPandVPN,o=myorg" by dn.regex="cn=adm,o=myorg" write by self write by * read

Спасибо.
У Вас есть русский док по конфигу аклом?

>>Плюс в каком атрибуте хранить второй пароль?
>>Как создать такой атрибут, который шифровался б так же как и userpassword?
>
>вообще смысл единого хранилища в слове _единый_ :)
Знаю но у полутысячи пользователей уже роздано по два пароля :)

>но что вам мешает сделать 2-й атрибут userpassword? вменяемый сервис будет перебирать
>их пока не совпадёт с одним из них.
Попробовал. похоже у меня невменяемый. :)

>Ничего также не
>мешает сделать свой атрибут по аналогии  с userpassword и назвать
>его как вам хочется. Как сделать? открыть core.schema + документацию и
>сделать по аналогии
Показываю как сделал.

attributetype ( 2.5.4.66 NAME 'vpnPassword'
       DESC 'RFC2256/2307: password of user'
       EQUALITY octetStringMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )

Как видно не особо отличается от  Юзерпасворда

#attributetype ( 2.5.4.35 NAME 'userPassword'
#       DESC 'RFC2256/2307: password of user'
#       EQUALITY octetStringMatch
#       SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )

Но при выполнении ЛдапСерч, Юзерпассворд выдается криптованый, а впн пассворд - открытый.
И хранить его криптованым в лдапе нельзя из-за Радиуса. Не понял причины, но в конфиге радиуса так и написано - пароль должен быть открытым.