В современной сети нередко организованы сотни пользовательских аккаунтов, работают десятки служб и сервисов. Чтобы большое количество точек управления не вызывало несогласованности, нужна единая база учетных записей и приложений. В последнее время появился целый ряд интересных опенсорсных проектов, расширяющих стандартные возможности 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.

Консоль управления 389 Directory Server
Консоль управления 389 Directory Server

Разработчики отмечают высокую производительность и масштабируемость 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 Management Console проста и понятна в работе
Mandriva Management Console проста и понятна в работе

Особенно приятно, что проблемы, преследовавшие компанию 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
Менеджер аутентификации в Fedora
позволяет выбрать FreeIPA

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

Для настройки FreeIPA можно использовать консоль
Для настройки FreeIPA можно использовать консоль

Специальное приложение (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. При этом все вышеуказанные плагины не обязательно должны работать на одном сервере, некоторые из них можно установить на отдельные хосты.

GOsa позволяет управлять учетными записями *nix и сервисами
GOsa позволяет управлять учетными записями *nix и сервисами

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

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

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

Девиз Identity Policy Audit хорошо поясняет сущность FreeIPA
Девиз Identity Policy Audit хорошо поясняет сущность FreeIPA

 

INFO

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

Инсталляцию описываемых продуктов рекомендуется производить на «чистую» систему, не выполняющую никаких других функций.

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

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

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

 

Заключение

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

 

Теги:

Оставить мнение

Check Also

Скрытая сила пробела. Эксплуатируем критическую уязвимость в Apache Tomcat

В этой статье мы поговорим о баге в Apache Tomcat, популярнейшем веб-сервере для сайтов на…