Опенсорсные решения для централизованного управления доступом к ресурсам. Технологии с использованием eDirectory


Многие полагают, что на сегодняшний день полноценного интегрированного аналога MS Active Directory, а также Group Policy (Групповых политик) в мире GNU/Linux пока еще не существует. Тем не менее, разработчики со всего мира предпринимают попытки воплотить в жизнь подобные технологии в рамках UNIX-систем. Одним из ярких примеров можно назвать eDirectory от Novell об особенностях которой мы поговорим далее.

Интересно, что поддержка Групповых политик была реализована в Samba 4, после появления которой стали разрабатываться эффективные средства по настройке политик групп. Однако прежде большинству системных администраторов приходилось ограничиваться logon-скриптами или же политиками системы NT4.

Чего же позволяет добиваться Samba4? Многие сегодня наловчились использовать данное решение в качестве AD, то есть контроллера домена в связке с файловыми серверами, базирующимися на этом же решении. В итоге Пользователь получает минимум пару настроенных серверов с Samba4, один из которых выполняет функцию контроллера домена, а второй выступает в качестве Member Server с пользовательскими файлами.

Сегодня проблемы, связанные с техобслуживанием и регистрацией пользователей сети в рамках одноранговых сетей, ответственно берутся решить сразу несколько ведущих компаний-производителей современного ПО. Фаворитами среди таких разработчиков сегодня считаются Microsoft с ее ранее упомянутой Active Directory и Novell со своим eDirectory, также упомянутый вначале данной статьи.

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

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

Active Directory – технологические особенности

По сути, AD представляет собой упорядоченное вместилище данных, предоставляющее достаточно удобный способ доступа к сведениям о всевозможных сетевых объектах. Это также оказывает существенную помощь приложениям и пользователям находить данные объекты.

Для определения расположения в AD используется распределенное именное пространство или DNS (Domain Name System). Для работы с базой данных в AD имеется набор специального ПО, а также инструменты, предназначенные для прикладного программирования.

Даже при неоднородной структуре систем в сети AD позволяет провести единую регистрацию за счет упрощенного протокола, относящегося к LDAP-службе каталогов.

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

Важная особенность AD заключается в ее отказоустойчивости, а также наличии распределенной БД. Служба каталогов способна охватить сразу несколько или же один домен.

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

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

Технологии с использованием eDirectory

Еще до появления MS Active Directory активно использовались иные способы управления БД.

Так следует отметить службу «Bindery» («Подшивка») от Novell, которая представляет собой однородную БД. В рамках такой базы данных одни записи не имеют явной взаимосвязанности с другими записями. Такая БД в первую очередь ориентирована на работу с сервером. Это означает, что каждый сервер в данном случае будет обеспечен уникальной подшивкой, содержащей в себе права доступа и настройки сетевых объектов. Данный вариант управления БД предполагает, что ресурсы сети расцениваются как объекты, имеющие непосредственную связь с корневым серверным каталогом.

Формирование подшивки базируется на следующих компонентах:

    Свойств – характерных черт для каждого объекта в рамках подшивки (адреса межсетевого типа, ограничительные факторы и пароли);

    Объектов – физических и логических составляющих сети, которым могут быть присвоены имена (файл-серверы, пользовательские группы, пользователи).

    Свойства наборов инфоданных – это формы инфоданных, которые хранятся в рамках подшивки (числа, таблицы, текст, время, дата, адрес сети и т. п.)

Когда на светпоявился NetWare4xx, компания Novell представила миру и новую службу каталогов eDirectory, которая изначально называлась NDS в данной версии NW. С версии 6.x она стала именоваться не иначе, как eDirectory.

В рамках данной службы, равно как и в Active Directory, была реализована база данных, выстраивающаяся по иерархическому принципу. Это дает возможность взаимодействия одних объектов сети с другими.

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

Также стоит отметить, что eDirectory-сервер может функционировать и на платформах которые отличаются от NetWare.

Во многом возможности данного решения совпадают с аналогичными возможностями, представленными в MS Active Directiry. Так, например, посредством eDirectory можно производить репликацию в автоматическом режиме, а также наследование и делегирование.

Главной сложностью в процессе сетевой настройки, при установленной в сети eDirectory является подбор специалистов, которые должны иметь соответствующие навыки работы с этим решением.

Филипп Торчинский: Добрый день! Сегодня я почти не буду говорить про Open Solaris, хотя обычно я как раз об этом рассказываю.

Сегодня мы поговорим о том, как и зачем можно использовать те или иные альтернативы службы каталогов Active Directory в UNIX. Строго говоря, это будут не совсем альтернативы AD. Но я еще раз озвучу свое мнение о том, как будет развиваться ситуация в дальнейшем, в каком направлении. Немного расскажу о том, как настраивать те решения, которые будут популярны в будущем, - опять же, по моему мнению. В докладе предусмотрен отдельный кусок об Identity Manager.

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

Одна из главных задач любого проектировщика любой системы - избежать ситуации, когда мы с помощью какого-нибудь очень мощного инструмента делаем какую-нибудь довольно простую работу. Хотя именно так часто и происходит в жизни.

Наверняка многие из вас наблюдали набор примитивных текстов, например, в Microsoft Word или в OpenOffice Writer. В принципе, эти тексты достойны того, чтобы их набирали в текстовом терминале, в Notepad или в любом его аналоге. Но этим текстам так повезло, что их набирают в очень мощных редакторах.

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

Теперь я хотел бы снять шляпу перед разработчиками корпорации Microsoft. Мы с коллегами пришли к общему мнению, что в целом Active Directory — это хорошо. Хорошо, что это решение существует, им действительно можно пользоваться. Другое дело, что службу каталогов Active Directory часто используют там, где без нее было бы ничуть не хуже.

Что хорошего в Active Directory? Для чего его можно использовать?

Прежде всего, Active Directory подходит для управления пользователями (группами, ролями пользователей и так далее). Строго говоря, решение Active Directory непосредственно с этим связано, но не является средством обеспечения этого. Служба каталогов Active Directory позволяет выходить в сеть с разных компьютеров, обеспечивает функциональность перемещаемых профилей (англ. roaming profiles).

Эти профили стали моей головной болью на 2 года. Я был главой IT-отдела компании, где во всех офисах по всей стране использовались эти самые перемещаемые профили. Они могли иметь размер в 2 или 3 гигабайта и чудеснейшим образом тянуться из питерского офиса в московский офис, потому что сотрудник приехал сюда в командировку и решил поработать.

Это как раз характерный пример неэффективного использования неплохой концепции, при котором она оказывается жутко неудобной.

Кроме этого, Active Directory, естественно, используется для управления доступом, поскольку там написано, кому куда можно. Еще Active Directory довольно широко применяется в тех системах, где сеть гетерогенная. В этом случае мы настраиваем доступ через PAM, аутентификацию, доступ через Active Directory к каким-то ресурсам, которые физически лежат на компьютерах, никак не связанных с Active Directory. Например, у нас есть работающий под Linux сервер, на котором требуется раскладывать какие-то файлы. Естественно, можно использовать Active Directory и для аутентификации через веб.

Еще есть одна вещь, на которой я сегодня не буду останавливаться подробно. Просто яскажу, что это с помощью Active Directory делают. Как подобное реализовать для UNIX-приложений в UNIX-системах, я догадываюсь, но это никак не связано с темой доклада.

Это так называемые групповые политики и, в частности, управление приложениями, при котором мы для различных групп или пользователей можем по-разному настроить "поведение" конкретных приложений.

Эту штуку в той функциональности, о которой я сегодня буду рассказывать, никак не реализовывали, насколько мне известно. Это нужно делать либо другими средствами, либо добавлять к имеющимся средствам что-то еще.

Вообще для чего используются компьютеры (неважно, под UNIX или нет)? Целей много, но для каждой группы задач существует наиболее удобный протокол. У нас есть протокол SSH — он придуман для моих коллег системных администраторов. Понятно, что обычным людям он вряд ли нужен.

Протоколы FTP и HTTP нужны почти всем, кто хоть когда-нибудь что-нибудь заливал на хостинг.

Естественно, всем нужна почта. Когда я, например, ставлю себе какую-то новую систему на компьютер или запускаю LiveCD и не вижу там работающей почты, меня это уже раздражает. Хотя еще лет пять назад я бы этому не удивился. Мобильный телефон, который не умеет читать e-mail, — это просто безобразие какое-то. Хотя от домашнего телефона мы такого не ждем, как правило.

Еще одна функциональность, которая, как правило, требуется в любой компании, где количество людей больше двух. Это возможность использования одинаковой рабочей среды на разных компьютерах. Это требуется везде — начиная от таких хрестоматийных вариантов, как группа операторов, сидящих в банке или в call-центре (последних может быть до человек 400 в ряд), и заканчивая менее распространенными вариантами — такими, как администрация университета, где сотрудники перемещаются из одного корпуса в другой. Всем этим людям нужно иметь одну рабочую среду на любом компьютере.

Про средства обеспечения этой рабочей среды я сейчас и расскажу. Эта часть доклада никак не связана с аналогами Active Directory. Это, скорее, некое решение, которое позволяет воплотить то, что часто делают с помощью Active Directory, но сильно не нагружает систему. Это очень простое решение. Скорее всего, многие из вас им уже пользовались или хотя бы видели его, или даже продавали его, — не знаю.

Есть такая старая штука, как терминал. Они существовали еще до 1969-го года. В 1969-м году, когда придумали UNIX, терминалы уже были. Неудивительно, что с терминалов все довольно хорошо работает. Современным вариантом терминала является то, что, например, в компании Sun называлось Sun Ray. Сейчас это по-прежнему называется Sun Ray, но производится уже в компании Oracle.

Аппаратная часть представляет собой X-Terminal с интернет-портом и USB-портом. Еще там есть аудиовыходы и входы. Можно подключить наушники, слушать любимую музыку, можно включить флешку — все будет работать замечательно. Плюс к этому — оно еще умеет читать смарт-карты, поэтому можно делать аутентификацию по смарт-картам.

Кроме Sun Ray существует еще один продукт (его название я не помню), который входит в семейство Virtual Desktop Infrastructure.

Это такой виртуальный Sun Ray. Когда вы приходите к начальнику и говорите: «Слушайте, такое дело, Петр Петрович, надо бы перевести нашу группу технической поддержки на терминалы, потому что они вместо того, чтобы быстро отвечать на вопросы, играют в „Косынку“ на том, что у них там стоит». Или: «Нам надоело чинить их блоки питания, потому что они каждую неделю выходят из строя, потому что так и не можем починить кондиционер».

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

Можно вместо техники применить виртуальные Sun Ray. Поставить виртуальные рабочие станции. Решение будет работать на имеющейся системе и "делать вид", что оно как бы терминал.

С терминалами мы закончили. Теперь посмотрим, как устроена и для чего нам может понадобиться система, являющаяся в некотором смысле аналогом Active Directory. Я еще раз подчеркиваю, что она не является строгим функциональным аналогом.

Серверы приложений

Glassfish — это стандартный сервер приложений, который, вообще говоря, похож на Tomcat, но, в отличие от него, он еще умеет играть роль не только веб-контейнера, но и JB-контейнера (который Enterprise Java...). Кстати, то, что раньше назвалось просто Glassfish, теперь называется Oracle Glassfish Server.

Оно, например, может работать в Oracle Solaris. У меня оно работает в Open Solaris.

Этот сервер приложений позволяет разворачивать самые разные веб-приложения, в том числе Liferay. Про него я сегодня говорить особенно не буду. Тем из вас, кто еще не знает, что оно существует, мой совет: обратите внимание. Это классная штука. Я предполагаю, что в довольно скором будущем этого будет значительно больше, чем сейчас.

Думаю, через некоторое время — в течение года-двух — наверняка появятся Java-хостинги в России (за границей они уже есть). Liferay — это довольно удобная платформа, чтобы делать любые веб-сайты. В принципе, веб-сайт на Liferay — простенький, на 5 страниц, с контентом, с картинками, с минимальным оформлением — я сделал примерно за полчаса.

Еще есть реализация этого же портала, который называется WebSpace. Он основан примерно на том же коде, но был сделан внутри Sun. Liferay — это продукт сообщества, который к Sun имеет слабое отношение — компания Sun вкладывала очень немного денег и усилий в его создание.

Это был пример сервера приложений.

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

Это Identity Manager, Directory Server и Access Manager. В принципе, компонентов, обеспечивающих аутентификацию и управление доступом к неким веб-ресурсам, может быть и больше, но это самое интересное.

Чтобы людям было удобно, довольно естественно предоставлять централизованный доступ, объединять веб-ресурсы логически (как правило) или организационно, финансово. Нужно, чтобы у людей была возможность заходить на один веб-ресурс и автоматически получать доступ ко всем остальным. Для этого придумали хорошо известную штуку под названием технология единого входа (SSO, Single Sign On). Раз выполнили вход — дальше все работает. Можно больше не входить в систему.

Это похоже на то, к чему мы привыкли, например, в системах Windows Client и Windows Server, когда мы "залогинились" один раз — и дальше по всем файлам "ходим".

Возникает резонный вопрос: часто ли нам нужно "ходить" по файлам? Из практики группы, где я работаю последние 3 года (даже больше), я вижу, что на самом деле "хождение" по файлам и хранение файлов в папках довольно часто не требуется. У меня есть собственный ноутбук, где есть все, что мне необходимо. Все, что наши группы делят между собой, лежит на общем вики.

Существуют разные варианты реализации вики. Это может быть бесплатный движок, который называется TWiki. Есть еще много решений, которые работают в таком же режиме. Функционирует много бесплатных хостингов, где можно, например, размещать какие-то проекты, — там вики предоставляется бесплатно как элемент управления проектом.

Это довольно популярная штука. Поэтому, в частности, когда вы думаете, какую инфраструктуру построить у себя в компании, вариант, когда у вас нет файлового сервера, но есть некий веб-ресурс, куда все закачивают файлы и берут их оттуда тоже (в соответствии с положенными им полномочиями), — это довольно логичная схема. Тем более что все больше и больше поднимается тема переноса ресурсов в веб.

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

Реплика: — Есть. Филипп Торчинский: — Она совсем такая web-based? Я что-то упустил? Давно она есть? Реплика: — Уже появилась. Филипп Торчинский: — Отлично. Спасибо вам большое! Видимо, я пропустил что-то за последние несколько месяцев и не видел. Полгода назад ее, по-моему, еще не было. Уже есть. Отлично. Спасибо вам за хорошую новость!

Теперь вернемся к технологии единого входа. Там удобно сделать, чтобы было два варианта обращения клиента к серверу единого входа.

Первый вариант — когда мы обращаемся к некоему веб-ресурсу, например, работающему на том же Glassfish. Это просто Java-приложение, которое обеспечивает единый вход (аутентификацию и дальнейшие действия). Оно обращается к PAM, который из привычных источников аутентификации "вытягивает" информацию.

Хорошо, если есть обратный вариант: мы обращаемся к PAM, а он — к серверу единого входа и умудряется у него что-то спросить.

Второй вариант, к сожалению, пока не реализован — по крайней мере, я не видел реализации. Первый вариант реализован, я даже его попробовал. Я постараюсь объяснить, как его воплотить.

В феврале этого года компания ForgeRock решила, что она сделает "forge" проекта OpenSSO, потому что компания Oracle, как известно, в феврале официально завершила сделку по покупке Sun.

Код OpenSSO проекта, с точки зрения ForgeRock, было бы интересно вытащить из репозитория и дальше с ним что-то сделать (поскольку лицензия позволяет). Отлично. Пока что никаких сведений о том, что Oracle что-нибудь плохое будет делать с OpenSSO, нет. Более того, есть сведения, что с ним все будет в порядке.

Почему я советую скачивать именно OpenAM, который и есть та же самая сборка, только от ForgeRock? Потому что на сайте ForgeRock лучше всего описано, как это устанавливать. Самое хорошее описание, как ставить OpenSSO, я видел там.

Теперь нужно установить Glassfish. В Open Solaris нужно при распаковке установить флажок «поставить Glassfish» — он будет установлен. Можно просто скачать Glassfish и запустить программу установки.

Далее нужно запустить демон/daemon amunixd, и системой уже можно пользоваться. OpenSSO будет работать через PAM. Неизвестно, нужно ли вам это, — может быть, вам нужно что-то еще. Но если вам нужно, чтобы все через PAM работало, то это делается, как я описал.

Я рассказал, как правильно и быстро в OpenSolaris поставить Glassfish. Точнее, как поставить — это понятно. Интереснее — как настроить домен.

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

Эта штука называется домен. Она к домену в смысле нечто.ru не имеет никакого отношения. К интернет-доменам это не имеет отношения. Это просто название для совокупности объединенных, связанных между собой компонентов. В принципе, у домена будет какое-то доменное имя (с точки зрения интернет-домена), но это уже потом. Вы его настроите при необходимости.

Теперь самый важный момент. При настройке единого входа нужно указать полностью определенное доменное имя.

На самом деле, в инструкции от ForgeRock крупными буквами на желтом фоне написано: «Напишите FQDN в файл /etc/hosts». Если этого не сделать, то будет выдана малопонятная ошибка. Получится странная диагностика. Что не так, будет абсолютно непонятно.

Он скажет, что вы не сможете обратиться к 80-му порту. Почему не можете? Неизвестно. Важный момент. При настройке этой конфигурации обязательно указывайте в файле /etc/hosts полностью определенное имя вашего хоста.

Заходите по адресу, выполняете вход (по умолчанию администратора зовут amadmin), выбираете Authorization->Unix. Можно выбрать другие варианты авторизации, если требуется. Но в Unix все будет работать через PAM, соответственно.

Зачем нужен Identity Manager и что это такое?

Identity Manager от Oracle "умеет" работать с кучей разных источников информации. Причем в одном источнике информации некий объект зовется Иван Петрович, в другом он Ваня, в третьем он Иван. В этих источниках информации что-то еще про него написано.

Что важно? Что в этих источниках информации не обязана содержаться информация типа первичного ключа (англ. primary key). Нет уникального идентификатора, который лежит в каждом из этих источников. Просто с помощью инструментов управления Identity Manager вы можете разными способами связать между собой разные записи из разных источников информации.

Плюс к этому Identity Manager обеспечивает синхронизацию. Если, например, кого-нибудь увольняют с работы, то его учетная запись удаляется из списка сотрудников, еще из какого-то списка — например, должников или кредиторов организации. В общем, из всех имеющихся источников информации запись удаляется.

Соответственно, если происходит модификация, например, меняются какие-то поля, то это тоже синхронизируется между разными источниками информации, если эти поля там есть.

В качестве стратегического проекта у Oracle остался Oracle Identity Manager, который существовал и раньше. Проект, который назывался Sun Identity Manager, тоже остается. Он будет существовать в прежнем режиме, но главным продуктом, который продает Oracle, будет Oracle Identity Managemer.

Identity Manager — это, на самом деле, вещь, которая стоит каких-то осмысленных денег. Я знаю, что разные клиенты Sun и Oracle в России его действительно покупают.

Есть еще сущность, которая называется Directory Server, о которой мы чуть раньше говорили. Это просто один из вариантов источников информации для Identity Manager. Как правило, это обычный LDAP-сервер. Есть конкретный продукт, он называется OpenDS, который компания Oracle обещает поддерживать. Это просто LDAP-сервер, написанный на языке Java.

Использовать его удобно. Если вам не хочется собирать ничего лишнего, вы можете просто взять этот OpenDS и развернуть его на том же Glassfish.

Расскажу про взаимодействие между клиентом, сервером приложений, Access Manager и Identity Manager.

Есть клиент, который спрашивает доступ к файлу, например, у DEP-сервера приложений с веб-интерфейсом под названием веб-контейнер. К файлу определены не те права доступа. Сервер приложений "спрашивает" у программы Access Manager, можно ли дать доступ к этому файлу.

Access Manager обращается к Identity Manager: «Что у нас с идентичностью такого товарища?» Ему возвращается информация о том, что у товарища в системе роль суперадминистратора. Access Manager говорит: «Этому можно». Информация направляется серверу приложений, например, Glassfish: «Да, можно». Файл выдается.

Вероятно, вы знаете, что в nsswitch.conf в тех системах, где он есть, — например, в Debian и в OpenSolaris можно написать слово ldap в том месте, где определяется, откуда брать аутентификационную информацию. Сведения о том, как это настраивать, есть на на opennet, где описано необходимое добавление к схеме LDAP.

Это самое главное — то, как будет выглядеть будущее, если мы не будем слишком сильно нажимать на него, чтобы оно выглядело как-то иначе. Вариант первый — на что, я очень надеюсь, должны перейти все госслужбы, которые сейчас сообщают мне в окошко: «Извините, мы не можем ничего сделать. У нас компьютер завис, а системный администратор придет завтра». В такие места, безусловно, нужно ставить терминалы, чтобы был один сервер, где системный администратор есть всегда.

Кроме этого, очевидно, есть ситуации, при работе с САПР, когда придется составлять сервер и какие-то рабочие станции, и где приложения с какими угодно клиентами (например, с мобильными телефонами) для всего остального.

Спасибо большое вам за информацию, что 1С:Бухгалтерия уже сделала то, чего мне не хватало.

Спасибо вам! У меня, кажется, осталось 30 секунд на ответы на вопросы.

Вопросы и ответы

Вопрос: — Почему OpenSSO лучше, чем традиционный Kerberos? Филипп Торчинский: — Это хороший вопрос. На самом деле, OpenSSO и вообще любые виды единого входа, насколько я представляю сферу их использования, прежде всего, используются в веб-проектах. Скажем так, я не уверен, что это ответ точно на этот вопрос. Но я думаю, что для Kerberos сфера применения уже более широка Вопрос: — Вопрос про OpenSolaris. Когда ожидается версия? Насколько я знаю, там достаточно давно не было свежих сборок. Филипп Торчинский: — Свежие сборки появляются каждые две недели и по-прежнему доступны на сайте www.genunix.org. Поэтому как раз со сборками нет проблем. Релиз ожидался изначально в марте. Текущее состояние дел: объявлено, что он появится в первом полугодии 2010-го года. Я, к сожалению, не знаю более подробной информации. Это все, что мне сказали. Спасибо большое!

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

389 Directory Server

  • Сайт проекта: directory.fedoraproject.org .
  • Лицензия: GNU GPL.
  • ОС: Fedora/Red Hat/CentOS, будет работать в Linux (Debian, Ubuntu, Gentoo), Solaris, HP/UX 11, Irix, AIX, Windows и OSF/1.

Сервер каталогов уровня предприятия, создаваемый сообществом при спонсорской поддержке Red Hat. Базой для него послужил разрабатываемый с 1996 года Netscape Directory Server. Он получил новое имя - Fedora Directory Server - после того, как права на него в 2005 году приобрела Red Hat. В 2009 году проект снова изменил название на 389 Directory Server (389 - по номеру порта службы LDAP). Причина проста: FDS неразрывно ассоциировался с Fedora, что, по мнению разработчиков, тормозило развитие, в частности интеграцию в другие дистрибутивы. На основе 389DS Red Hat выпустила коммерческую версию Red Hat Directory Server (RHDS) с техподдержкой 24/7. Возможности 389DS включают полную поддержку протокола LDAPv3, SSL/TLS- и SASL-аутентификацию, синхронизацию данных (пользователь, группа, пароль) с Active Directory (при условии, что на КД Win2k3/2k8 установлен компонент Windows Sync), разграничение доступа вплоть до отдельных атрибутов (имя, группа, IP и т. д.) В качестве криптодвижка используется библиотека NSS от Mozilla Project. Конструктивно 389DS состоит из сервера каталогов (Сore Directory Server, CDS) и сервера администрирования (Admin Server). Задача последнего - управление всеми доступными CDS, для чего предлагается графическая консоль (389-console) и утилиты командной строки. В Linux консоль устанавливается автоматически (написана на Java). Для управления из-под Win2k3/2k8 на сайте проекта следует скачать пакет Windows Console.

Разработчики отмечают высокую производительность и масштабируемость 389DS. В одной сети может работать до четырех равноправных мастер-серверов с автоматическим разрешением конфликтов, балансировкой нагрузки и резервированием сервера. Поддерживаются работающие в режиме read-only сервера, некий аналог Read Only Domain Controller в Active Directory Win2k8.

В настоящее время проект официально предлагает репозиторий и пакеты для RHEL/Fedora (подходят и для CentOS). Кроме того, возможна установка в других Linux (Debian, Ubuntu, Gentoo), Solaris, HP/UX 11. Некоторые версии поддерживают также Windows, Irix, AIX и OSF/1. Однако развертывание и последующая поддержка в «неофициальных» системах требует от админа уже некоторой подготовки.

Компоненты 389DS выпускаются по лицензии GNU GPL, но сервер базируется на ряде продуктов с другими лицензиями (MPL/LGPL/GPL/X). Стоит также отметить, что 389DS является составной частью FreeIPA - централизованного решения для управления информацией о пользователях и политиках и для аудита. Речь об этом продукте пойдет чуть ниже.

FusionDirectory

Поскольку доступ к исходному коду GOsa для тех, кто не имеет отношения к компании Gonicus GmbH, был затруднен, разработчики приняли решение о создании более открытого и полностью поддерживаемого сообществом форка для привлечения сторонних специалистов, а также обеспечения условий для написания плагинов под большее количество приложений. Новый проект получил название FusionDirectory . Разработчики обещали не только создать самое «мощное и универсальное» решение для управления, имеющее более удобные инструменты для разработки, но и усовершенствовать документацию. В октябре 2011-го вышла версия FusionDirectory 1.0.2, но, так как работа над проектом началась совсем недавно, о каких-то особых функциональных отличиях от GOsa пока говорить не приходится. Документация, по сути, состоит из пары руководств, но, учитывая родство с GOsa, на стадии ознакомления с FusionDirectory можно использовать документацию на родительский проект. Четко определен список поддерживаемых дистрибутивов (Debian, CentOS 5/RHEL 5, Fedora 14/15, openSUSE 11.3/11.4, SLES 11), и, главное, для каждого из них создан репозиторий, обеспечивающий простую установку.

Еще одно отличие заключается в официально поддерживаемых веб-серверах. Разработчики предлагают готовые конфигурационные файлы для Apache2 и Lighttpd, возможна также установка на nginx, но настройки придется создавать самостоятельно.

Mandriva Directory Server

  • Сайт проекта: mds.mandriva.org .
  • Лицензия: GNU GPL.
  • Дистрибутивы: Mandriva, Debian/Ubuntu, CentOS/RHEL/Fedora, openSUSE, образ VMware.

Сервер Mandriva Directory Server (MDS) - простое в использовании решение, позволяющее при помощи наглядного интерфейса управлять учетными записями пользователей и групп, доступом и сетевыми сервисами. По сути, это удобная надстройка над LDAP - OpenLDAP, хотя возможна и совместная работа с 389DS. Функционально может выступать в качестве PDC (уровня Windows NT4), LDAP-сервера с синхронизацией учетных записей и паролей, полностью заменить Active Directory либо интегрироваться в нее. Клиентскими ОС могут служить Windows, Linux и Mac OS X. Интерфейс позволяет производить настройку аккаунтов и ACL в Samba, управлять совместным доступом, печатью на базе CUPS, доставкой почты (Postfix), конфигурировать Squid и службы DNS/DHCP, администрировать учетные записи GLPI. Пакет включает Kerberos и может быть использован для организации однократной аутентификации (SSO). Разграничение доступа для объектов устанавливается вплоть до отдельных атрибутов: пользователь, группа, IP-адрес, время и т. д.


Особенно приятно, что проблемы, преследовавшие компанию Mandriva, не затронули MDS и продукт постоянно развивается. В последних версиях к указанным возможностям добавилось управление учетными записями системы Zarafa, обеспечивающей совместную работу, централизованное хранение публичных ключей OpenSSH, аудит, политики паролей и многое другое. Модульная архитектура позволяет добавлять нужную функциональность или убирать из интерфейса лишнее. MDS легко масштабируется, поддерживая несколько тысяч записей на один сервер.

Непосредственно для управления сервисами предназначен модуль MMC agent, написанный на Python и использующий для обмена данными XML-RPC. Агенты настраиваются при помощи очень простого в использовании веб-интерфейса MMC (Mandriva Management Console). Администратор может выбрать один из двух режимов отображения: Normal или Expert.

В отличие от 389DS, пакеты предлагаются не только для «родного» дистрибутива: имеется собственный репозиторий Debian, сборки для CentOS/RHEL/Fedora и openSUSE, а также готовый образ VMware. Таким образом, серверную часть MDS можно относительно быстро и без проблем установить в любой *nix-системе. Продукт включен в комплект поставки Mandriva Enterprise Server. MDS представляет собой самое простое в установке и конфигурировании решение, освещенное в нашем обзоре, однако самостоятельная сборка на других системах, кроме MES, все-таки требует некоторых навыков по работе с LDAP. Документация проекта весьма подробна и позволяет разобраться во всех его нюансах.

FreeIPA

  • Сайт проекта: freeipa.org .
  • Лицензия: GNU GPL.
  • Дистрибутивы: сервер - Fedora/CentOS, клиент - Linux, AIX, HP-UX, Solaris, openSUSE.

Цель проекта FreeIPA (Free Identity, Policy and Audit) - создание для Linux-систем среды, представляющей собой альтернативу Active Directory и позволяющей централизованно управлять аутентификацией пользователей, устанавливать политики доступа и аудита. Фактически FreeIPA - это симбиоз нескольких опенсорсных проектов, таких как дистрибутив Fedora, 389DS, MIT Kerberos, NTP и BIND. На этом проекте, развиваемом при финансовой поддержке Red Hat, основан используемый в коммерческом дистрибутиве продукт IPA, который Red Hat представила общественности летом 2008 года.

WARNING

В FreeIPA до версии 2.1.3 включительно имеется CSRF-уязвимость (CVE-2011-3636). Для ее устранения следует обновиться до 2.1.4.

Впервые код FreeIPA появился в составе Fedora 9 (май 2008-го), однако нормальная синхронизация с Active Directory на тот момент еще не была реализована. На первых порах клиенты могли подключаться вручную, но это было неудобно. В октябре 2009-го началась работа над новой веткой 2.0. Ее финальная версия была представлена в конце марта 2011-го. День, в который был анонсирован релиз, запомнился многим пользователям Linux как «Fedora 15 Test Day», посвященный именно тестированию FreeIPA2. В настоящее время реализованы:

  • централизованное управление учетными записями пользователей, групп, компьютеров и сервисов;
  • управление доступом к приложениям, установка политик паролей и настроек Kerberos, управление правилами SUDO;
  • аутентификация Kerberos для пользователей и узлов;
  • Host Based Access Control - управление и хранение ролей в LDAP;
  • служба управления сертификатами (Dogtag Certificate Server).

Сеть, построенная с применением FreeIPA, функционально может состоять из трех типов систем: одного или нескольких серверов, клиентских машин и компьютера администратора. Последний, по сути, представляет собой обычный клиентский десктоп с консольными утилитами для удаленного управления FreeIPA (кстати, использовать их совсем не обязательно - вполне можно обойтись веб-интерфейсом, который написан на Java).


Менеджер аутентификации в Fedora
позволяет выбрать FreeIPA

Чтобы снизить нагрузку на канал, клиент использует локальный кеш (LDB и XML), получая из него настройки в том числе и при отсутствии доступа к серверу. На клиентской системе устанавливается агент управления аутентификацией SSSD (System Security Services Daemon). Клиентская часть реализована не только для Red Hat/Fedora и клонов, но и для других ОС и платформ: AIX, HP-UX, Solaris, openSUSE. Что интересно, над сборкой клиентских пакетов для Ubuntu/Debian и обеспечением их совместимости работают два сотрудника Red Hat.


Специальное приложение (certmonger) упрощает создание сертификатов и управление ими, автоматически генерируя и получая новый сертификат по истечении срока действия старого. Опционально возможна интеграция с DNS-сервером на базе BIND (нужен плагин LDAP BIND с динамическим обновлением через GSS-TSIG). При управлении компьютерами и группами компьютеров полномочия подтверждаются при помощи Kerberos keytab или сертификата. Модульная архитектура серверной и клиентской части позволяет без особых проблем интегрировать FreeIPA и любой продукт. В настоящее время политики используются в том числе и для хранения параметров доступа к локальным приложениям и настройкам рабочего стола. Пока реализованы не все функции управления политиками, аудита и контроля, которые планируется включить в проект. Нет настроек правил SELinux, поддержки Samba, FreeRADIUS, централизованного управления ключами SSH и LVM, OTP и многого другого. Очевидный минус продукта - ориентированность в первую очередь на производные от Red Hat дистрибутивы. Установить серверную часть FreeIPA можно из репозиториев Fedora, CentOS, K12LTSP и совместимых с ними. Разработчики сделали всё, чтобы упростить процесс локализации в версии 2.0 (используется gettext и UTF8). В каталоге install/po имеется файл ru.po, в котором переведена лишь малая часть сообщений.

Проект активно развивается, и при этом обнаруживаются ошибки. Последний релиз 2.1.4 устраняет CSRF-уязвимость (подделка межсайтовых запросов, CVE-2011-3636).

Apache Directory Server

Сервер каталогов, разрабатываемый Apache Software Foundation . Полностью написан на Java, поддерживает LDAPv3, Kerberos и Change Password Protocol. Позиционируется как встраиваемое в другие Java-приложения решение, однако никто не запрещает использовать его автономно. Обеспечивает выполнение LDAP и Kerberos, возможна реализация поддержки любого протокола. Продукт мультиплатформенный. На сайте проекта доступны пакеты для установки в Linux, Windows и Mac OS X, исходные тексты позволяют собрать ADS на любой системе, для которой имеется Java. Кроме стандартных возможностей LDAP, реализованы хранимые процедуры, триггеры, динамические объекты Java и многое другое. Распространяется под лицензией Apache. В рамках проекта разрабатывается Apache Directory Studio, включающий LDAP-браузер, браузер схем, редакторы LDIF и DSML, клиентские программы для администрирования.

GOsa2

  • Сайт проекта: oss.gonicus.de/labs/gosa .
  • Лицензия: GNU GPL.
  • Дистрибутивы: пакеты - Debian/Ubuntu, RedHat/CentOS/Fedora, openSUSE/SLES, из исходных текстов - любой *nix.

Проект GOsa2, являющийся надстройкой для популярных опенсорсных приложений, предоставляет администратору единый центр управления всей ИТ-инфраструктурой. Интерфейс позволяет управлять учетными записями *nix и Samba, правами пользователей и групп, компьютерами, списками рассылок, приложениями, настройками основных сетевых служб: DHCP, DNS, HTTP, SMTP и т. д. Разработка ведется под эгидой компании Gonicus GmbH, которая использует GOsa в своих сервисах.

Все функции вынесены в плагины (принцип «один сервис = один плагин»), поэтому админ собирает конфигурацию в соответствии со своими нуждами.

В настоящее время реализовано более 30 плагинов, обеспечивающих управление такими сервисами, как Squid, DansGuardin, Postfix, Courier-IMAP, Maildrop, GNARWL, Cyrus-SASL, OpenSSL, ISC DHCP, WebDAV, PureFTPd, PPTP, Kerberos, Asterisk, Nagios, OPSI, Netatalk, FAI, rsyslog, и серверами коллективной работы: SOGo, OpenGroupware, Kolab, Scalix. При этом все вышеуказанные плагины не обязательно должны работать на одном сервере, некоторые из них можно установить на отдельные хосты.


Учетные записи пользователей объединяются в группы, для которых назначаются разрешенные приложения. При создании новых аккаунтов применяются шаблоны (админ создает их сам) с прописанными правами доступа к объектам. Набор разрешений ACL состоит из типа, определяющего видимость, объектов (пользователей/групп) и разрешений. Разрешения определяют все возможные действия: создание, удаление, перемещение, чтение, запись и т. д.

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

Поддерживается установка в любом дистрибутиве Linux. Разработчики рекомендуют Debian, под который создан отдельный репозиторий. Также доступны пакеты для Red Hat/CentOS/Fedora и openSUSE/SLES, но, как правило, разработчики не спешат их собирать, поэтому версии немного запаздывают. Можно использовать любой веб-сервер, однако предпочтение отдается Apache2 и nginx. Документация доступна только на английском и не поспевает за развитием проекта, многие моменты отражены в ней весьма поверхностно.

INFO

FreeIPA используется для аутентификации и авторизации в решении oVirt для виртуализации, построенном на основе KVM.

Для синхронизации 389DS с Active Directory необходимо установить Windows Sync.

После установки пакета 389-ds для конфигурации 389DS следует запустить скрипт .

Утилита system-config-autentification, входящая в состав Fedora, содержит вкладку, позволяющую активировать аутентификацию через FreeIPA.

Заключение

Даже невооруженным глазом видно, что наиболее многофункциональным инструментом является GOsa2. Это решение обеспечивает управление учетными записями и многочисленными сервисами, поддерживает установку в большинстве дистрибутивов Linux, имеет локализованный интерфейс. Однако окончательный выбор зависит от конкретной задачи.

Можно спорить о достоинствах и недостатках Linux и вообще open source, но нельзя не признать, что в определенных областях открытая ОС добилась несомненных успехов. К таковым, между прочим, относится и серверный рынок, где популярность Linux растет из года в год.

Данные IDC за 4 квартал 2012 г. свидетельствуют, что при общем росте серверного рынка на 3.1% (по сравнению с годом ранее), продажи оборудования с Linux выросли на 12.7%, с Windows — на 3.2%, а с Unix — снизились на 24.1%. Конечно, отсюда несложно понять, что Linux по-прежнему вытесняет Unix, а не Windows, но, в любом случае, доля рынка в 20.4% уже вполне весома.

Однако серверы — понятие обширное. IDC считает, что популяризации Linux в первую очередь способствуют облачные и высокопроизводительные вычисления. Аналитической фирме вторит и The Linux Foundation, утверждающая что 76% опрошенных ею крупных компаний уже используют Linux для построения «облаков» и 74% планируют сохранить или даже нарастить присутствие открытой ОС.

Linux также широко применяется для развертывания веб-серверов и различных внутренних интернет-сервисов, вроде proxy, почтовых и пр. Последнее исторически довольно популярно у малого бизнеса, в том числе и украинского, так как позволяет ощутимо сэкономить на лицензиях, а сопровождение, к примеру, отдать в аутсорсинг интернет-провайдеру. Главными аргументами в пользу Linux участники опроса The Linux Foundation назвали широту возможностей (75%), низкую общую стоимость владения (71%), высокую безопасность (69%).

Linux может применяться и для построения ИТ-инфраструктуры, благодаря независимым реализациям , и Samba. Однако, если учесть, что большинство рабочих мест в организациях по-прежнему основываются на Windows и кардинально эта ситуация уже вряд ли изменится, то приходится признать, что Linux в данном качестве выглядит довольно бледно. Однако недавно наметился прогресс и здесь.

Выпущенная в конце прошлого года Samba 4 реализует почти полноценный аналог Active Directory (AD), включая контроллер домена, службу DNS, Kerberos-аутентификацию, групповые политики. Естественно, это только первый релиз, содержащий ошибки и недоработки, исправление которых, впрочем, идет полным ходом. Кроме того, с помощью Samba 4 пока нельзя создавать сложные доменные структуры и иерархии и устанавливать доверительные отношения, что ограничивает применимость в крупных организациях.

Таким образом, на текущий момент наиболее реальными применениями Samba 4 являются построение тестовых инфраструктур и учебных классов, а также внедрения в малом бизнесе. Впрочем, западные обозреватели к последнему относятся достаточно скептически: перевесит ли экономия риски нестабильной работы инфраструктуры? В украинских реалиях, однако, система ценностей несколько иная, и финансово-правовые аргументы могут перевесить все прочие.

Тем более, что во многих случаях реальный выбор не так велик. Microsoft предлагает специальные редакции Windows Server 2012 для малого бизнеса — Essentials и Foundation. Первая при цене в $500 представляет собой довольно интересное для 25 пользователей, вторая предлагается для установки OEM и готова поддерживать 15 пользователей. Но проблема в том, что для большего числа потребуется не только докупать CAL, но и менять серверную лицензию на Standard. Samba 4 таких ограничений лишена и может масштабироваться до любого необходимого уровня. Вероятно, для ее распространения также лучше подошла бы OEM-модель, гарантирующая полную совместимость с оборудованием и отсутствие неожиданностей хотя бы на первых порах.

Между тем само внедрение Samba 4 — дело достаточно нехитрое. Естественно, начать лучше с тестирования какого-нибудь специализированного дистрибутива. Таковой, к примеру, предлагает SerNet, немецкий интегратор и участник проекта Samba — SerNet Samba 4 Appliance . Дополнительно на нем можно развернуть ПО коллективной работы Zafara, в состав входит готовый скрипт для корректировки схемы AD.

Novell/SUSE предлагает свой вариант Excellent Samba4 Appliance , причем в виде как загрузочных образов, так и уже развернутых виртуальных дисков для всех популярных систем виртуализации. Данный дистрибутив периодически обновляется, вслед за выходом очередных исправлений к Samba 4.

Собственно, инициализация AD заключается в развертывании дистрибутива или создании и запуске соответствующей виртуальной машины и выполнения готового скрипта dcpromo, который запрашивает немногочисленные параметры (название домена, IP-адрес и пр.).

Поскольку Samba 4 создавалась на основе официально приобретенной , ее совместимость обещает быть довольно высокой. Во всяком случае, можно использовать все стандартные административные инструменты Microsoft, которые в случае Excellent Samba4 Appliance даже доступны через внутренний веб-сервер.

Поскольку Samba 4 реализует все необходимые для AD процедуры RPC, также можно пользоваться утилитами командной строки и PowerShell-скриптами. Linux-сообщество разрабатывает и собственные инструменты, как графические, так и скриптовые, но степень их готовности пока неудовлетворительна.

В случае использования инструментов Microsoft дальнейшее администрирование домена происходит совершенно привычно для любого, хотя бы поверхностно знакомого с AD в Windows Server. Добавление учетных записей, создание групп, разграничение полномочий выполняется совершенно прозрачно.

Одним из наиболее ценных достоинств Samba 4 является поддержка механизма групповых политик, которые представляют собой удобное и эффективное средство администрирования рабочих мест на Windows. По сути, это первый шаг к управляемой инфраструктуре и благодаря Samba 4 сделать его стало еще проще.

Самый простой пример — включить на всех местах нужный режим Windows Update и заблокировать возможность его изменения пользователем. Задача решается совершенно одинаково как в Windows Server, так и в Samba 4:

Результат после перезагрузки рабочей станции или принудительного обновления групповых политик вполне предсказуемый:

Таким образом, Samba 4 позволяет организовать простой домен AD на Linux фактически без необходимости глубоких знаний собственно Linuх. К тому же, гибкость открытой ОС дает возможность создавать компактные монофункциональные дистрибутивы с Samba 4, которые будут надежно работать как в физической, так и виртуальной среде. Под вопросом пока остается стабильность и масштабируемость самой Samba 4, но команда разработчиков, похоже, на достигнутом останавливаться не собирается.







2024 © gtavrl.ru.