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

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

Сообщение Andrey Karyagin » 12 фев 2005, 14:12

Итак, если я правильно понимаю, то в настоящее время проблема Константина Багинского выглядит следующим образом: ему нужен продукт, обладающий функциями Novell Nsure SecureLogin (http://www.novell.com/products/securelogin/), но для платформы Linux. В готовом виде такого продукта в настоящее время нет, но есть компоненты SDK, которые уже назывались выше: http://developer.novell.com/ndk/ssocomp.htm,
http://developer.novell.com/ndk/nssoj.htm,
причем SecretStore service over LDAP явно описана как кроссплатформенная. Таким образом, Константину или его программистам видимо имеет смысл обратить внимание на эти компоненты, поскольку потенциально это именно то, что нужно для решения его задачи. Вот только время, необходимое для такой разработки, может оказаться соизмеримым с ожиданием кроссплатформенного Nsure SecureLogin.
Andrey Karyagin
 
Сообщения: 204
Зарегистрирован: 06 авг 2002, 15:56
Откуда: United Card Service

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

Спасибо всем. Наверное тут больше не скажешь. Читай http://developer.novell.com/ndk и будь счастлив. :cry:

А так хочется одной простой вещи. Чтобы пароль был в одном только месте, в зашифрованном виде, чтобы никто, в том числе и админы, увидеть его не мог, чтобы менялся он единообразным способом и чтобы все приложения его понимали. Еще хочется, чтобы логин пользователя был иерархичным, как это сделано в Каталоге. Но все приложения (начиная с винды без домена) ведут исключительно плоский список пользователей. :cry:

И все чего хотелось, это разобраться в архитектуре такого возможного решения. Причем в условиях, когда можно пытаться самостоятельно влиять на приложения (типа всякие открытые проекты), так и для коммерческих продуктов иметь возможность ставить задачи для внешних программистов, которые зачастую даже про домен ничего не слышали (хотя пишут прогу для винды).
Багинский Константин
 
Сообщения: 103
Зарегистрирован: 17 июн 2002, 15:15

Сообщение Андрей Тр. aka RH » 13 фев 2005, 05:43

Багинский Константин писал(а):А так хочется одной простой вещи. Чтобы пароль был в одном только месте, в зашифрованном виде, чтобы никто, в том числе и админы, увидеть его не мог, чтобы менялся он единообразным способом и чтобы все приложения его понимали.
Как я понимаю, такого не будет еще долго ( если будет вообще ) - чтобы пара имя пользователя / пароль существовали только в одном месте ( в Каталоге, в домене или еще где ). В реальном мире обычно существует куча приложений, баз данных и пр., которые не смогут аутентифицировать пользователя через требуемый ресурс ( есть, конечно, множество сочетаний, которые смогут ). Поэтому, как я понимаю, Новелл и продвигает identity managment. В моей сети, к примеру, минимум 5 различных БД ( не считая доступа к удаленной по Citrix, для которой тоже свои логины ), и только одна из них интегрирована с еДиром ( точнее, просто использует его объекты и атрибуты ). А есть еще доступ в Инет, почта .. И это только то, что видно пользователю.

Насчет разработчиков, кстати. Поставили тут в прошлом году базу на MS SQL, на замену старой, написанной на Фоксе, кажется ( работала еще в текстовом режиме ). Писали исключительно под эту организацию, зная, что все будет крутиться на 2003 сервере. Так никакой интеграции - в базе заводятся свои счета для тех же самых пользователей, что уже залогинены в АД.
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Timur Kazimirov » 14 фев 2005, 04:30

Константин, я правда не программист, но вот не пойму одного - зачем какой-то конкретной программе или какой-нибудь подсистеме надо знать пароль пользователя? Ей ведь надо знать другое - залогинился ли пользователь или нет, и уже на основании этого делать свои выводы - разрешать или нет данному пользователю работу. Ну заведите какого-либо "фиктивного" пользователя с правами просмотра дерева и отслеживайте, например, поле "Network address" у пользователя, который запрашивает ресурс. Пустое - значит не залогинился, иди подальше, пока не зарегистрируешься в eDir, не пущать. Ну а ежели не пустое, то регистрацию значит успешно прошел - годен для строевой службы. Пример доступа к полям в eDir из Linux лежит, к примеру, тут: http://prope.insa-lyon.fr/~ppollet/netware/ncpfs/
Иными словами, я предлагаю рассматривать eDir, не как базу пользователь-пароль, а как единую точку регистрации.
Timur Kazimirov
 
Сообщения: 1153
Зарегистрирован: 10 фев 2004, 09:56
Откуда: Южно-Сахалинск

Не знаю, как для других платформ, но под винду

Сообщение Boris Morozov » 14 фев 2005, 22:22

у Новелла в API есть прямая функция проверки логина с паролем. Мы это вовсю используем у себя в программах в сочетании с RBS. Народ просто счастлив.
Boris Morozov
 
Сообщения: 1333
Зарегистрирован: 05 июн 2002, 22:24
Откуда: Минск

Сообщение Andrey Karyagin » 16 фев 2005, 01:28

Борис, насколько я знаю, эта функция документирована только для платформы Win32, а Константин ищет решение для Linux.

Константин, что касается приложений Linux, то существуют уже готовые решения, не связанные с eDirectory. Одно из таких решений (http://passwordmanager.sf.net) я обнаружил, перелистывая октябрьский номер журнала Хакер за 2004г. Цитирую:
PwManager -- безопасный менеджер паролей для KDE, написанный на Qt. После введения списка паролей, они сохраняются в зашифрованном по алгоритму blowfish (используется 128-разрядный ключ) файле, так что останется запомнить лишь один пароль (master password), с помощью которого будет получен доступ ко всем остальным. Управление паролями организовано в простом и удобном виде, допустимо создание категорий (например, отдельные списки паролей на электронную почту, форумы и т.п.). Кроме самого пароля, к нему указывается описание, имя пользователя, URL, комментарий и
launcher. Последний может пригодиться для быстрого запуска приложения, требующего ввода пароля (таким образом нетрудно
организовать быструю аутентификациюв форуме и подобные вещи). Существует механизм, прячущий отображение паролей от посторонних глаз во время работы с ними, и его более продвинутая версия:
deep-locking, шифрующий все важные данные, записывающий их на диск и удаляющий из памяти. Предусмотрен поиск (по любому
из полей пароля) и сортировка списков. В PwManager поддерживается интерфейс chipcard, т.е. вместо master password для получения доступа к списку паролей могут использоваться смарт-карты. Существует
взаимодействие с GPasman и KPasman для импортирования/экспортирования данных в эти форматы. Разработчики напоминают, что используемый алгоритм шифрования до сих пор остается "непробиваемым", так что для полной безопасности достаточно придумать только хороший (читай: трудный) master password.
Andrey Karyagin
 
Сообщения: 204
Зарегистрирован: 06 авг 2002, 15:56
Откуда: United Card Service

Сообщение biruk » 16 фев 2005, 13:38

Привет, All!

может пригодится кому,
ребята с http://www.padl.com/ написали GINA'у заменяющую стандартную и позволяющую использовать openLDAP в качестве каталога.
ну и еще кое-что. Почти все платное.
biruk
 
Сообщения: 111
Зарегистрирован: 21 янв 2004, 14:20

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

biruk писал(а):Привет, All!

может пригодится кому,
ребята с http://www.padl.com/ написали GINA'у заменяющую стандартную и позволяющую использовать openLDAP в качестве каталога.
ну и еще кое-что. Почти все платное.


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

Сообщение Андрей Тр. aka RH » 16 фев 2005, 15:33

Григорьев Михаил писал(а):можно забесплатно сделать посидев и подумав.
.. и поседев при этом ? ;)
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Михаил Григорьев » 16 фев 2005, 15:44

Андрей Тр. aka RH писал(а):
Григорьев Михаил писал(а):можно забесплатно сделать посидев и подумав.
.. и поседев при этом ? ;)


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

Сообщение Timur Kazimirov » 17 фев 2005, 03:37

Кстати, в тему топика: http://www.securitylab.ru/52693.html
Timur Kazimirov
 
Сообщения: 1153
Зарегистрирован: 10 фев 2004, 09:56
Откуда: Южно-Сахалинск

Сообщение Андрей Тр. aka RH » 17 фев 2005, 14:26

Timur Kazimirov

Интересная информация, спасибо за ссылочку. Впрочем, оригинал у Новелла немного подлиннее - вот есть бы еще официальные представители Новелл тут ( в соотв. теме ) запостили про новые продукты ( от Astaro, в частности ), было бы совсем замечательно. Насколько я понимаю, оно там все интегрированное с еДиром ( на Линуксе ) ?
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Timur Kazimirov » 18 фев 2005, 03:12

Ну, мои скудные познания в линуксе не позволяют мне судить об этом объективно :oops:
Timur Kazimirov
 
Сообщения: 1153
Зарегистрирован: 10 фев 2004, 09:56
Откуда: Южно-Сахалинск

Сообщение Андрей Тр. aka RH » 05 авг 2005, 11:09

Григорьев Михаил

Такой вопрос - а почему в вашей конструкции используется именно securityequals ( и класс Person ) ? а не groupmembership ( вроде им обычно пользуются у [urhttp://www.die.net/doc/linux/man/man8/squid_ldap_group.8.htmll]squid_ldap_group[/url] ) ? Кроме того, даже если проверять этот атрибут, при настройке LDAP по умолчанию к нему ведь доступа не получить ( даже при наличии прав в NDS - я говорю именно про LDAP, т.к. во LDAP он никуда не мапится ) ?

И еще - аутентификация получилась ( пока что самая basic ), проверка групп тоже ( правда, через groupmembership ), но вот если пользователя убрать / добавить в группу, то Сквид это замечает только после рестарта. А хотелось бы чтобы человека сразу .. того. Я глянул было параметр credentialsttl, но это несколько не из той оперы. А как быть ?
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Михаил Григорьев » 05 авг 2005, 13:43

Андрей Тр. aka RH писал(а):Григорьев Михаил

Такой вопрос - а почему в вашей конструкции используется именно securityequals ( и класс Person ) ? а не groupmembership?


Здесь нужно рассмотреть зависимости классов:

Код: Выделить всё
objectclass ( 2.5.6.6 NAME 'person'
   DESC 'RFC2256: a person'
   SUP top STRUCTURAL
   MUST ( sn $ cn )
   MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )


Код: Выделить всё
objectclass ( 2.5.6.7 NAME 'organizationalPerson'
   DESC 'RFC2256: an organizational person'
   SUP person STRUCTURAL
   MAY ( title $ x121Address $ registeredAddress $ destinationIndicator $
      preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
      telephoneNumber $ internationaliSDNNumber $
      facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $
      postalAddress $ physicalDeliveryOfficeName $ ou $ st $ l ) )

Код: Выделить всё
objectclass   ( 2.16.840.1.113730.3.2.2
    NAME 'inetOrgPerson'
   DESC 'RFC2798: Internet Organizational Person'
    SUP organizationalPerson
    STRUCTURAL
   MAY (
      audio $ businessCategory $ carLicense $ departmentNumber $
      displayName $ employeeNumber $ employeeType $ givenName $
      homePhone $ homePostalAddress $ initials $ jpegPhoto $
      labeledURI $ mail $ manager $ mobile $ o $ pager $
      photo $ roomNumber $ secretary $ uid $ userCertificate $
      x500uniqueIdentifier $ preferredLanguage $
      userSMIMECertificate $ userPKCS12 )
   )


Вкраце это означает что класс Person есть потомок Top, он зависит от него и только от него.

А если взять класс inetOrgPerson то легко заметить что он зависит от organizationalPerson, а organizationalPerson зависит от класса Person.

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

Андрей Тр. aka RH писал(а):Кроме того, даже если проверять этот атрибут, при настройке LDAP по умолчанию к нему ведь доступа не получить ( даже при наличии прав в NDS - я говорю именно про LDAP, т.к. во LDAP он никуда не мапится ) ?


Аттрибут groupMembership как и securityEquals можно прочитать только после авторизации, анониму он недоступен, ровно как и множество других аттрибутов.

Андрей Тр. aka RH писал(а):И еще - аутентификация получилась ( пока что самая basic ), проверка групп тоже ( правда, через groupmembership ), но вот если пользователя убрать / добавить в группу, то Сквид это замечает только после рестарта. А хотелось бы чтобы человека сразу .. того. Я глянул было параметр credentialsttl, но это несколько не из той оперы. А как быть ?


Всё верно, при загрузке сквида, он грузит N хелперов, и обращается к ним по мере необходимости.

Вариант 1: Обучить LDAP хелпер перечитывать конфиг с определённым интервалом.
Вариант 2: Обучить сквида, чтобы он рестартовал через определенные промежутки времени.
Вариант 3: По крону делать squid -k reconfig каждые N минут
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Пред.След.

Вернуться в Novell

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

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

cron