Есть здесь программисты? Вопрос по интеграции с eDir

Обсуждение технических вопросов по продуктам Novell

Есть здесь программисты? Вопрос по интеграции с eDir

Сообщение Багинский Константин » 06 фев 2005, 04:07

Хочется научиить ряд приложений, как под win так и под lin аутентифицировать пользователей через eDir чтобы эти приложения брали логин/пароль в eDir. Однако как же скрестить ежа с ужом я никак не могу понять. Просил различных программеров разобраться с этим, но в ответ очень невнятное бормотание. Я не программист. Мне нужно поставить задачу программистам (причем я понял, что мой попадос в том, что ставить задачу придется не в терминах чего мне хочется как пользователю, а в терминах, чего им конкретно надо делать). Может кто-нибудь помочь внятной консультацией по этому вопросу? Изучение developer.novell.com пока идет не слишком успешно. Все-таки область не моя. :cry:
Багинский Константин
 
Сообщения: 103
Зарегистрирован: 17 июн 2002, 15:15

Re: Есть здесь программисты? Вопрос по интеграции с eDir

Сообщение Владимир Горяев » 07 фев 2005, 10:19

Багинский Константин писал(а):Хочется научиить ряд приложений, как под win так и под lin аутентифицировать пользователей через eDir чтобы эти приложения брали логин/пароль в eDir.
Может через LDAP?
Бардак автоматизировать невозможно!!!
_________________
Аватара пользователя
Владимир Горяев
 
Сообщения: 3473
Зарегистрирован: 05 июн 2002, 13:37
Откуда: Смоленск

Сообщение Ultrin Faern » 07 фев 2005, 11:19

На чем пишем?

По поводу Delphi = http://developer.novell.com/ndk/delphilib.htm

По поводу C = http://developer.novell.com/ndk/w32sdkc.htm

И вообще = http://developer.novell.com
Ultrin Faern
 
Сообщения: 92
Зарегистрирован: 05 сен 2002, 21:09

Сообщение Михаил Григорьев » 07 фев 2005, 12:40

Проще всего использовать конечно же LDAP

В чем сложности непонятно, берем с девелопера библы и заголовочные файла для ldap, подключаем и используем.

Для программиста мне кажется тут не может возникнуть никаких проблем :)

Простецкая прога пишется за 10 мин.
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Музалёв Николай » 07 фев 2005, 13:20

....брали логин/пароль

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

Коллеги, а сам пароль вообще можно взять из Дерева? и как называется это поле, где он?
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3027
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Владимир Горяев » 07 фев 2005, 13:42

Музалёв Николай писал(а):Коллеги, а сам пароль вообще можно взять из Дерева? и как называется это поле, где он?
Нельзя, пароль в дереве не хранится, но храниться хеш пароля, а вот его то ...
Бардак автоматизировать невозможно!!!
_________________
Аватара пользователя
Владимир Горяев
 
Сообщения: 3473
Зарегистрирован: 05 июн 2002, 13:37
Откуда: Смоленск

Сообщение Михаил Григорьев » 07 фев 2005, 14:06

Музалёв Николай писал(а):Коллеги, а сам пароль вообще можно взять из Дерева? и как называется это поле, где он?


К вопросу о пароле... Не так давно объяснял одному другу, даже файлик написал:

Вопрос: Как происходит передача пароля в NetWare?

Ответ (укороченный вариант): При регистрации в сети пароль в открытом виде не передается, а применяется схема защищенной аутентификации.
Рассмотрим процесс для NetWare 3.xx. Сначала клиент устанавливает с сервером первичное соединение (attach) с состоянием NOT-LOGGED-IN. После этого на сервер передается имя пользователя и тип объекта (User), на основании которых запрашивается UserID. Из введенного пароля и UserID рассчитывается хеш пароля (далее этот хеш длиной 16 байт будем называть PASSWORD). После, клиент запрашивает у сервера EncryptionKey (по сути он не является ключом шифрования, но так называется функция) и получает число длиной 8 байт. Это число шифруется, используя PASSWORD в качестве ключа шифрования, а результат (8 байт) отправляется на сервер. Сервер делает тоже самое (посланное число он знает, свойство PASSWORD у него есть) и сравнивает результат с присланным клиентом числом. Если совпадает - пускает, если нет - клиент получает отлуп, но после небольшой задержки, чтобы невозможно
Было организовать быстрый подбор в режиме online. Хакер, вооружившийся сниффером и "прослушавший" этот процесс, имеет в своем распоряжении имя пользователя, его UserID и два 8-байтовых числа (случайное число, переданное сервером и результат его шифрования на хеше пароля). В терминах криптографии: ему необходимо провести атаку на ключ с известными открытым и шифртекстом. На PII-350 скорость такого перебора составляет около 65000 паролей в секунду. Отсюда несложно посчитать затраты времени в зависимости от длины пароля и используемого алфавита. Для NetWare 4.0 и выше процесс происходит практически также, но он еще дополнительно шифруется по алгоритму RSA. Исходные тексты всех изложенных выше процедур доступны в пакете ncpfs, распространяемом по лицензии GPL. Он ориентирован на Linux.
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Багинский Константин » 07 фев 2005, 16:14

Все дело как раз в паролях. Хочется нормального SSO. Логин и пароль ОДИН. И хранится он в eDir! И не хочется заморачиваться на хэши.

Мне казалось, что я читал, как Novell сообщил о том, что проблема паролей снята в последних версиях. Что вроде как не надо заморачиваться насчет хэшей и т.п. Что-то типа сильного шифрования, но могу ошибаться.

Первый раз проблема встала, когда стали городить огород вокруг Линуксового прокси. Захотелось пароль хранить в eDir. Решили работать с каталогом по LDAP. И вот тут-то и встала проблема, что пароль должен храниться в открытом виде! И никак в нашей версии не обходилось это. (NW 5.1). Более того, это доп поле доступно по умолчанию всем. Можно, конечно удалять, но исключительно индивидуально. Очень неудобно.

Может это вообще никак не обходится. Но я так воспрял духом по поводу некоего рекламного заявления Novell-a. Возможно необоснованно.

Теперь есть еще одно приложение и с разработчиками предварительно договорились об интеграции с eDir. Однако в процессе разговора с программистами они начали меня грузить вопросами типа "а как это делается". Вот я и задумался, как делается нормальный SSO и делается ли? Как это сделать правильней?

За ссылки на SDK спасибо, но для меня это тарабарщина полная. А на уровне развернутого алгоритма действий, когда остается только взять заранее известные куски из SDK, ответа найти не могу.

Еще хочется переделать с проксей. Сейчас подключение к проксе идет через VPN и к модулю VPN (pptpd) написан патч, считывающий атрибуты пользователя из LDAP-a. Но пароль, как я уже говорил, в результате хранится в открытом виде. Опять вопрос, кто может написать нормальный плагин, чтобы таки сделать интеграцию с eDir.

Но в любом случае хочется понимать, что можно ожидать от такой интеграции на уровне расширенного алгоритма для разработчика.[/b]
Багинский Константин
 
Сообщения: 103
Зарегистрирован: 17 июн 2002, 15:15

Сообщение Музалёв Николай » 07 фев 2005, 16:44

И еще раз
К вопросу о пароле...


Михаил, спасибо в любом случае. Просто то, что пароля живьем нет, а только хеши - это я узнал вторым после названия "NetWare" в 199далеком году... надо было бы указать на иронию вопроса более прозрачно, но я ненавижу эти желтые рожи...
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3027
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Ultrin Faern » 07 фев 2005, 17:58

Для SSO посмотрите SecretStore - пароли хранятся в открытом виде, доступны только для пользователя. Правда это не один пароль, но для каждого пользователя свой.

http://developer.novell.com/ndk/ssocomp.htm
Ultrin Faern
 
Сообщения: 92
Зарегистрирован: 05 сен 2002, 21:09

Сообщение Михаил Григорьев » 07 фев 2005, 18:29

Багинский Константин писал(а):Все дело как раз в паролях. Хочется нормального SSO. Логин и пароль ОДИН. И хранится он в eDir! И не хочется заморачиваться на хэши.


Ну если стоит Client32 то на мой взгляд не составляет труда проверить залогинился ли юзер и в каком дереве, ну а дельше что нужно то и делаем, пароль даже не передается, проверяется лишь факт удачной регистрации и в каком дереве.

Багинский Константин писал(а):Первый раз проблема встала, когда стали городить огород вокруг Линуксового прокси. Захотелось пароль хранить в eDir. Решили работать с каталогом по LDAP. И вот тут-то и встала проблема, что пароль должен храниться в открытом виде! И никак в нашей версии не обходилось это. (NW 5.1). Более того, это доп поле доступно по умолчанию всем. Можно, конечно удалять, но исключительно индивидуально. Очень неудобно.


Чёт я не пойму, кто на кого авторизуется? squid авторизуется на eDir или как? если речь про сквида то решение то есть же, ставится за 30 мин.

Багинский Константин писал(а):Теперь есть еще одно приложение и с разработчиками предварительно договорились об интеграции с eDir. Однако в процессе разговора с программистами они начали меня грузить вопросами типа "а как это делается". Вот я и задумался, как делается нормальный SSO и делается ли? Как это сделать правильней?


Ну опять же, если стоит Client32 то факт регистрации проверить можно, тут заморачиваться нечего даже. Опять же непонятно что ваше заказное приложение делает, может оно в инет ломится, а может к базе данных....

Вот если клиент 32 не стоит ТО тогда SSO сделать будет черезвычайно сложно, придется пол выньдовззз переписать, утрирую конечно, но доля истины есть.

Багинский Константин писал(а):Еще хочется переделать с проксей. Сейчас подключение к проксе идет через VPN и к модулю VPN (pptpd) написан патч, считывающий атрибуты пользователя из LDAP-a. Но пароль, как я уже говорил, в результате хранится в открытом виде. Опять вопрос, кто может написать нормальный плагин, чтобы таки сделать интеграцию с eDir.


Тоже непонятно, что откуда берётся и какой пароль где лежит в открытом виде. На *nix есть такая штука как Radius а он стыкуется хоть с AD хоть с eDir
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Владимир Горяев » 07 фев 2005, 18:50

Грамотно поставить задачу нужно - и решение почти готово. :)
...аутентифицировать пользователей через eDir.. и ...чтобы эти приложения брали логин/пароль в eDir или.. проверяли., или проверить залогинился ли юзер и в каком дереве - вот где видимо путаница.
Бардак автоматизировать невозможно!!!
_________________
Аватара пользователя
Владимир Горяев
 
Сообщения: 3473
Зарегистрирован: 05 июн 2002, 13:37
Откуда: Смоленск

Сообщение Михаил Григорьев » 07 фев 2005, 19:14

Владимир Горяев писал(а):Грамотно поставить задачу нужно - и решение почти готово. :)
...аутентифицировать пользователей через eDir.. и ...чтобы эти приложения брали логин/пароль в eDir или.. проверяли., или проверить залогинился ли юзер и в каком дереве - вот где видимо путаница.


Согласен на все 100%, правильно поставленый вопрос содержит как минимум 50% ответа :)
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Музалёв Николай » 07 фев 2005, 19:24

Моё вышеозначенное решение относится к случаю
...или проверить залогинился ли...
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3027
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Багинский Константин » 07 фев 2005, 20:01

Вопрос про SQUID. Где решение и какое?

Про прокси проблема была в том, что хочется контролировать на уровне пользователей не только SQUID но и NAT. А тут уже нужен доп сервис, который бы сначала определял пользователя, а потом давал ему заданный IP и на этом основании задавать правила работы NAT. Так появился VPN. Возможно есть более изящное решение, но придумать не смогли.

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

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

Понятно, что к каждому сервису придется писать плагин, но вопрос как принципиально этот плагин будет работать. Опять же архитектура решения в ситуации с клиентом Novell и без него.

Приговариваются еще умные слова про Kerberos. Но тут столько тумана, что я все никак не переварю. Может кто уже понимает эту сторону вопроса. Не было бы проблем, если бы было месяц - полтора спокойной жизни разобраться. А так просто задница какая-то. :cry:

А приложение лезет в базу данных. Но к этому приложению может обращаться клиент из инета понятия не имеющий о нашем Дереве и о Новеле вообще. Т.е. 3-х звенная архитектура. Клиент - сервер приложений - база данных. И сразу вопрос, а как назначать права пользователям внутри системы, как их заводить в систему, как учитывать контекст и учитывать ли его вообще? Особенно с контекстом проблемы возникают. Такое ощущение, что производители прикладных систем еще совсем не доросли до этой простой для системщиков парадигмы и что сдвиг будет только лет через 10.

:cry:
Багинский Константин
 
Сообщения: 103
Зарегистрирован: 17 июн 2002, 15:15

След.

Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4