Страница 1 из 1

Apache и идентификация клиентов через NDS

СообщениеДобавлено: 12 ноя 2002, 19:52
Игорь Вершинин
Столкнулись вот с такой проблемой. Изначально родилась идея вести базу данных наших клиентов в NDS. Все хорошо, только вот какие объекты для этого использовать. Пока тестировали, использовали объект Пользователь, но... во-первых, неудобно, а, во-вторых, лицензии быстро кончаются. У нас сотров более 50-ти и клиентская база более 1000 организаций. Дороговатое удовольствие использовать объект User. Зато работает все как автомат Калашникова.
Если использовать что-либо другое, то как идентифицироваться через NDS используя mod_nds к Apache? Вот такой вот вопрос. Может можно как-то указать модулю идентификации какие объекты использовать для проверки? Тогда можно было бы теоретически расширить дерево и включить туда самостоятельно созданный объект Клиент. И с его помощью вести клиентскую базу и идентифицировать клиентов через Apache. Текстовый файл с паролями как-то неохота вести.....

СообщениеДобавлено: 12 ноя 2002, 21:12
Музалёв Николай
Игорь!
Обратитесь к инструменту для расширения схемы Дерева. Называется SHEMAX и раздается бездвоздмездно. Может этого вам и хватит.
Однако сначала пробуйте на тестовом Дереве и не спешите что либо привязать к Пользователю - потом не отвяжите лишние атрибуты.
Инструмент оч. хорош.
Источник:
http://ftp.yars.free.net/pub/software/netware/nds/
отсюда, например.

Re: Apache и идентификация клиентов через NDS

СообщениеДобавлено: 13 ноя 2002, 12:15
Vadziku
Игорь Вершинин писал(а):Столкнулись вот с такой проблемой. Изначально родилась идея вести базу данных наших клиентов в NDS. Все хорошо, только вот какие объекты для этого использовать. Пока тестировали, использовали объект Пользователь, но... во-первых, неудобно, а, во-вторых, лицензии быстро кончаются. У нас сотров более 50-ти и клиентская база более 1000 организаций. Дороговатое удовольствие использовать объект User. Зато работает все как автомат Калашникова.
Если использовать что-либо другое, то как идентифицироваться через NDS используя mod_nds к Apache? Вот такой вот вопрос. Может можно как-то указать модулю идентификации какие объекты использовать для проверки? Тогда можно было бы теоретически расширить дерево и включить туда самостоятельно созданный объект Клиент. И с его помощью вести клиентскую базу и идентифицировать клиентов через Apache. Текстовый файл с паролями как-то неохота вести.....

А при чем здесь число User и число лицензий?
Вроде как лицензируются коннекции, а авторизация - одномоментный процесс. Если mod_nds делает это с выделением постоянной коннекции можно использовать авторизацию через LDAP, которая точно выделенной коннекции не занимает.

СообщениеДобавлено: 13 ноя 2002, 12:44
Игорь Вершинин
У меня стоят NW6 сервера, которые лицензируются по количеству пользователей.
Вопрос в том, можно ли создать дополнительный объект в дереве NDS, который бы мог авторизироваться аналогично объекту User модулем mod_nds для Apache? Проблема именно в этом....
Авторизация через LDAP? а есть ли соответствующий модуль для Apache, работающий на платформе Netware. Я не встречал, только для Win32. :(

СообщениеДобавлено: 13 ноя 2002, 18:29
Andrey Karyagin
1) authldap.nlm существует и может быть загружен с
http://developer.novell.com/ndk/downloadaz.html в
составе архива modapach.zip

2) Аутентификацию можно выполнить еще и при помощи цифровых сертификатов. mod_tls.nlm это позволяет. Выпускать цифровые сертификаты можно в общем случае в другом дереве (например - runtime NW5.1), а то и вообще при помощи какого-нибудь
другого продукта.

СообщениеДобавлено: 14 ноя 2002, 14:31
Игорь Вершинин
Andrey Karyagin писал(а):1) authldap.nlm существует и может быть загружен с
http://developer.novell.com/ndk/downloadaz.html в
составе архива modapach.zip


Спасибо. Загрузил. Будем изучать.

Andrey Karyagin писал(а):2) Аутентификацию можно выполнить еще и при помощи цифровых сертификатов. mod_tls.nlm это позволяет. Выпускать цифровые сертификаты можно в общем случае в другом дереве (например - runtime NW5.1), а то и вообще при помощи какого-нибудь
другого продукта.


Это тоже вроде как понятно. Но как это реализовать для конкретного объекта дерева NDS? Т.е. некто из интернета ввел логин и пароль, надо пройти по дереву, найти соответствующий объект, выдернуть из него корректный пароль, проверить и выдать резюме..... Просто непонятно, каким образом это сделать. Написать скрипт на Perl? javascript?
Как мне запросить у пользователя логин/пароль, заполучить пароль на сервер и проверить его подлинность?
Есть вариант решения с применением DirXML, но это как-то... :( Суть там проста, выгружаем логины/пароли во внешний текстовый файл. Односторонняя синхронизация NDS-->file. Далее проверяем доступ при помощи стандарного модуля идентификации Apache.

СообщениеДобавлено: 14 ноя 2002, 14:58
Andrey Karyagin
Это совершенно разные методы аутентификации!
Для реализации метода цифровых сертификатов необходимо:
1) Сконфигурировать SSL/TLS для Apache должным образом. Если это Apache на платформе Novell, то
среди прочего процедура конфигурации подразумевает:
а)создание серверного
сертификата в eDirectory, см. например объекты
типа "SSL CertificateIP", "SSL CertificateDNS",
б) настройку взаимной SSL/TLS аутентификации.
См. описание настроек MOD_TLS.NLM
2) Выпустить клиентский сертификат при помощи ТОГО же CertificateAuthority, инсталлировать этот клиентский сертификат в броузер на клиентской машине.
3) Обратиться из броузера по адресу:
https://mywebsite.mydomain и убедиться в работоспособности взаимной SSL/TLS аутентификации.
4) Убедиться, что броузеры, не имеющие инсталлированного клиентского сертификата получают отказ в доступе к содержимому WEB сайта.

А пароли и скрипты это совсем другой метод...

СообщениеДобавлено: 14 ноя 2002, 19:38
Константин Ошмян
Изначально родилась идея вести базу данных наших клиентов в NDS. Все хорошо, только вот какие объекты для этого использовать. Пока тестировали, использовали объект Пользователь, но... во-первых, неудобно, а, во-вторых, лицензии быстро кончаются. У нас сотров более 50-ти и клиентская база более 1000 организаций. Дороговатое удовольствие использовать объект User. Зато работает все как автомат Калашникова.

Насколько я понимаю, при таком использовании обекта "User" нет необходимости в покупке полноценных лицензий на NetWare (которые дают право на использование всех сетевых служб, включая файловую, печати, iFolder, NetDrive и т.д.). Достаточно будет приобрести лишь лицензии на eDirectory, что значительно (на 2 порядка) дешевле. Хотя для 1000 учётных записей всё равно набегает ощутимая сумма, но это всё равно совсем другие цифры. Если я не прав, пусть Андрей Фисенко меня поправит. :wink:

СообщениеДобавлено: 14 ноя 2002, 20:45
Andrey Karyagin
Можно создать хоть 1000000 объектов типа User, имея
всего навсего runtime NW server. Лицензии понадобятся, когда определенная часть этих объектов захочет полноценным образом аутентифицироваться в eDirectory. В случае NW6.x проблема усугубляется тем,
что происходит привязка лицензии к объекту на 90 дней, отсчитываемых от момента успешного вызова функции NWDSLogin() или ее аналога. Если посмотреть в исходные тексты MOD_NDS.NLM, то там мы этот вызов и увидим. При определенной конфигурации сразу вслед за ним следует вызов NWDSLogout(), и лицензии не поедаются ни на NW5.1, ни на NW6.x. Но в случае NW6.x привязка лицензии на 90 дней делает свое черное дело.

СообщениеДобавлено: 14 ноя 2002, 23:28
Константин Ошмян
Так я про то и говорю, что (если я понимаю правильно) лицензии разные бывают. И если нет необходимости для большей части пользователей в стандартных сетевых службах, то и лицензии для них могут быть не "полноценные" (на NetWare), а только на eDirectory, что значительно дешевле.

СообщениеДобавлено: 15 ноя 2002, 13:40
Игорь Вершинин
Так-то оно так. Только вот хотелось бы хранить еще и некоторую специфичную информацию, например, список контактных лиц клиента с телефонами и электронными адресами, юр. адрес, ИНН, КПП и прочая, и прочая, и прочая.... Все-таки склонялись к мысле о специальном объекте, но встал вопрос с его идентификацией через Apache в NDS. Как? Как позволить идентифицироваться и как позволить клиенту менять часть информации о себе через Веб-интерфейс (но с этим более-менее просто - Веб-мастер формы нарисует).

СообщениеДобавлено: 15 ноя 2002, 14:39
Andrey Karyagin
Для решения столь простой задачи вполне можно обойтись eGuide v2.x, и формы WEB-мастеру рисовать не надо. Аутентификацию eGuide выполняет через LDAP сервер, который в общем случае может быть установлен не в том же самом дереве, что Apache+eGuide, а в другом - вспомогательном, про которое я уже писал ранее.
Мудрите Вы что-то... усложняете без нужды...

СообщениеДобавлено: 18 ноя 2002, 17:05
Vadziku
Andrey Karyagin писал(а):Можно создать хоть 1000000 объектов типа User, имея
всего навсего runtime NW server. Лицензии понадобятся, когда определенная часть этих объектов захочет полноценным образом аутентифицироваться в eDirectory. В случае NW6.x проблема усугубляется тем,
что происходит привязка лицензии к объекту на 90 дней, отсчитываемых от момента успешного вызова функции NWDSLogin() или ее аналога. Если посмотреть в исходные тексты MOD_NDS.NLM, то там мы этот вызов и увидим. При определенной конфигурации сразу вслед за ним следует вызов NWDSLogout(), и лицензии не поедаются ни на NW5.1, ни на NW6.x. Но в случае NW6.x привязка лицензии на 90 дней делает свое черное дело.

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

СообщениеДобавлено: 21 ноя 2002, 19:06
Andrey Karyagin
Есть еще совсем бесплатный вариант:
недавно вышедший в свет PostgreSQL for NetWare
содержит среди прочего модуль аутентификации
для Apache. Правда пока в разделе untested.

СообщениеДобавлено: 21 ноя 2002, 19:20
Михаил Григорьев
Вообще говоря, и сам то Postgres сушествует в бета варианте.... Так что до его использования в масштабах предприятия ещё далеко...

А eGuide возможно действительно и выход.... Хорошая штука... :D