Привет, Хабр! Меня зовут Денис Мурунов, я руководитель практики построения ИТ-инфраструктуры К2Тех. Cегодня хотел бы поговорить о базовом ПО для инфраструктуры каждой компании — службе каталогов. Мы видим, что все больше компаний сталкиваются с трудностями при закупке лицензий и продлении поддержки на продукты Microsoft. В такой ситуации задача импортозамещения распространенной MS Active Directory стоит сегодня перед многими организациями.
Конечно, на рынке уже есть альтернативы российского производства, которые мы с командой К2Тех активно внедряем заказчикам — это ALD Pro и Альт Домен. Но найти полезные материалы об этих продуктах вам не составит труда, поэтому сегодня я хочу рассказать вам о новых решениях на рынке — РЕД АДМ Промышленная редакция и Атом.Домен.
Два лагеря
Microsoft Active Directory долгое время оставался стандартом де-факто для решения задач организации корпоративной службы каталогов. И хотя ничто не вечно под луной, развитие альтернативных решений на базе Linux происходило не такими темпами, чтобы догнать лидера. Но сегодня ситуация изменилась, потребность в аналогах выросла многократно, и мы уже видим на рынке целый ряд подрастающих технологий, способных заменить AD если не сегодня, то уже завтра.
Глобально на рынке есть два лагеря решений — одни из них используют Samba DC (фактически клон AD для Linux, который появился в результате реверс-инжиниринга AD группой энтузиастов), а вторые — созданную специально для линуксовых сред систему FreeIPA. Плюсом Samba DC является совместимость с AD, хотя и не полная. А FreeIPA может похвастаться более зрелым состоянием, потому что ее разработку спонсировал RedHat. С Samba DC и FreeIPA мы работаем уже довольно давно (еще до появления отечественных решений на их основе) и за это время накопили приличный опыт их внедрения.
Уже ближе ко дню сегодняшнему в России появились две службы каталогов — ALD Pro, созданная разработчиком Astra Linux на базе FreeIPA, и Альт Домен, которую развивает компания Базальт (разработчик операционных систем Альт) на базе Samba DC. Они вышли на рынок в 2022 году, поэтому я бы отнес их к относительно молодым продуктам. Однако за это время они успели прочно закрепиться, обзавестись боевыми внедрениями (благодаря нам в том числе) и обрести определенную популярность среди заказчиков.
«Новички» рынка — РЕД АДМ и Атом.Домен — также используют разные базовые технологии (Samba DC и FreeIPA соответственно), и это делает продуктовое предложение на рынке еще более разнообразным.
РЕД АДМ Промышленная редакция
Начнем с РЕД АДМ. Это служба каталогов, которую разработала компания «РЕД СОФТ». Они же развивают собственную операционную систему РЕД ОС и другие продукты. Учитывая, что РЕД ОС является потомком CentOS, переход на РЕД будет намного удобнее для тех, кто в той или иной мере использовал соответствующие форки Linux.
Что касается службы каталогов РЕД АДМ, то в своей Стандартной редакции, включающей базовую функциональность, она была выпущена еще в 2022 году, а о выходе более функциональной Промышленной редакции было объявлено в марте 2023 года. Но служба каталога — не такая уж простая вещь, и ее разработка потребовала времени. Поэтому рынок достаточно долго ждал, когда же, наконец, появится готовый релиз. Мы, например, приступили к изучению бета-версии в июле этого года.
Несомненным плюсом РЕД СОФТ является доступность информации о решениях на официальном сайте. Например, о разнице между Стандартной и Промышленной редакциями РЕД АДМ.
Служба каталогов РЕД АДМ Стандартная редакция поставляется вместе с ОС. Промышленная редакция покупается отдельно. Система работает на базе Samba DC, групповые политики реализованы с использованием Ansible. Стоит отметить, что РЕД АДМ, по сути, представляет собой систему управления каталогом, в частности Samba DC, которую разработчики РЕД СОФТ серьезно доработали. Например, сделали ее совместимой с уровнем леса AD 2012R2, в то время как «ванильная» Samba DC поддерживала только уровень 2008R2 (примечание: 4 сентября 2023 года вышла версия Samba 4.19.0, в которой появилась поддержка уровня леса 2016). Даже ходили слухи, что РЕД СОФТ планировал включить в РЕД АДМ также поддержку FreeIPA в качестве службы управляемого каталога, но в официальных источниках подтверждения данной информации мы не нашли. Контроллеры домена Samba DC, управляемые РЕД АДМ, можно включить в существующий домен AD, что в ряде случаев может существенно упростить процесс миграции.
Отмечу, что консоль управления РЕД АДМ представляет собой приятный и светлый веб-интерфейс. Он особенно порадует тех, кто жаловался на темно-синий UX у ALD Pro.
Конечно, у РЕД АДМ есть и свои нюансы. Так, схема применения групповых политик требует доработки — то есть сейчас политики применяются только при входе пользователя. Либо это надо делать вручную, запуская утилиту `gpupdate`. А такие функции, как делегирование прав на подразделения или добавление нового сайта, не реализуемы средствами веб-интерфейса РЕД АДМ. Для выполнения данных операций необходимо использовать консоли Microsoft (RSAT) с компьютера на Windows. Это мешает решить задачу отказа от Windows на 100%.
Пока что в РЕД АДМ совсем немного подсистем. Да, в дорожной карте (презентация на странице «Документация») обозначены амбициозные планы развития, очень хочется увидеть их реализованными. Имеется ролевая модель, но она распространяется непосредственно на консоль управления РЕД АДМ. И, как упоминалось ранее, делегирование прав на уровне организационных подразделений или настройку сайтов не выполнить без оснасток на Windows. Консоли управления для реализации данных функций сейчас в разработке у РЕД СОФТ.
В планах у разработчиков РЕД АДМ есть также инструменты управления DNS, NTP, файловыми папками, но пока для настройки этих сервисов необходимо использовать штатные инструменты операционной системы, что доступно по большей мере опытным администраторов Linux. Преднастроенных шаблонов групповых политик в РЕД АДМ около 100, а также можно добавлять собственные сценарии на языках Ansible и bash. Отмечу, что Ansible однозначно намного популярнее, чем SaltStack, используемый, например, в ALD Pro. Групповые политики РЕД АДМ выполняют конфигурирование операционок РЕД ОС, для других ОС групповые политики можно разработать самостоятельно или привлечь на эту задачу интегратора (у нас такой опыт есть).
Стоит отметить, что Samba DC и, соответственно, РЕД АДМ не поддерживают расширения схемы AD, сделанные, например, для Exchange, Skype, SCCM. Для работы данных систем потребуется иметь хотя бы один контроллер домена на Windows, пока вы окончательно не откажетесь от данных решений от Microsoft. Также не поддерживаются многодоменные леса — пока придется довольствоваться лесом из одного домена.
Вообще, вендор радует тем, что активно допиливает модули, которые реализуют функционал, недоступный в области Open Source, но востребованный пользователями. Более того, у нас в К2Тех уже есть опыт пилотирования РЕД АДМ Промышленная редакция в заказчиках. И как раз во время одного из таких пилотов мы выявили несколько недочетов в ПО, которые РЕД СОФТ очень оперативно исправил. Поэтому, кажется, что крупные внедрения РЕД АДМ не заставят себя долго ждать.
Атом.Домен
Второй «новичок» рынка — это Атом.Домен, продукт компании «Гринатом Простые Решения». По сути, решение представляет собой набор софта, как собственной разработки, так и Open Source, объединенных в единое инфраструктурное решение. К собственным разработкам «Гринатом Простые Решения» относится графический интерфейс управления службой каталогов, называемый Dynamic Directory. К компонентам на базе Open Source относятся FreeIPA (каталог), Puppet (движок групповых политик), Foreman (инструмент централизованного управления, в планах его замена на собственное решение), NextCloud (файлообменник с веб-интерфейсом), а также инфраструктурные сервисы операционной системы (DNS, DHCP).
При этом главный плюс Атом.Домен — гетерогенность. Служба каталога поддерживает различные операционные системы, включая опенсорсные. Официально заявлены российские Astra Linux, РЕД ОС, Альт, ROSA Linux для поддержки групповых политик. Остальные решения на рынке нацелены на реализацию групповых политик только под свои собственные операционные системы. Однако на практике бывает так, что в одной организации могут использоваться несколько разных ОС (на серверах так уж наверняка). Ведь и раньше мы видели у Заказчиков разнообразные дистрибутивы на базе Red Hat, Suse, CentOS, Debian, даже Mint и т.д. в рамках одной инфраструктуры. Так вот в Атом.Домен «из коробки» присутствуют групповые политики для нескольких отечественных ОС, а в других российских службах каталога для «чужих» ОС будет поддерживаться аутентификация в домене, но не групповые политики.
В целом Атом.Домен предлагает удобный десктопный интерфейс управления, похожий на оснастки Microsoft. Отмечу еще, что, как и у Альт.Домена, интерфейс управления у Атома (Dynamic Directory) включает в себя функции поиска, настройки групповых политик и даже системные организационные подразделения, которые очень похожи на системные контейнеры в AD. И это, бесспорно, удобно и упрощает адаптацию администраторов к новой службе каталогов.
Так как Атом.Домен реализован на FreeIPA, миграция на него с Active Directory выполняется путем создания нового домена и переноса в него объектов из каталога AD. Для миграции АРМ с Windows на отечественные ОС «Гринатом Простые Решения» разработал отдельный продукт — Атом.ПОРТ. Однако стоит учитывать, что двусторонние доверительные отношения в этой службе каталога доступны с ограничениями. Во FreeIPA нет глобального каталога, и полноценного взаимодействия с Атом.Домен со стороны MS AD не получается.
Система уже обкатана внедрениями и прошла проверку реально придирчивых безопасников и требовательных ИТ-шников в таких крупных организациях, как Росатом, РЖД и НИЯУ МИФИ. В Атом.Домен уже есть большое количество групповых политик, которые решают множество административных задач. Вендор заявляет о 1,5 тыс. уже реализованных параметрах политик.
Но нужно помнить, что Атом.Домен — это решение, которое разрабатывалось интегратором. Оно собирается из множества компонентов, и в документации Атом.Домен описано, как выполнить их интеграцию.
Для сравнения, ALD Pro, который также работает на базе FreeIPA, предлагает намного больше в области автоматизации. Astra самостоятельно развивает функционал, ведет доработку самой FreeIPA, тогда как «Гринатом Простые Решения» официально сообщает, что будет дожидаться следующих релизов FreeIPA и уже тогда внесет новшества на свой продукт. В этом есть свои плюсы, но есть и минусы — ведь ни для кого не секрет, что в опенсорсном ПО есть пробелы, которые не исправляются в течение нескольких лет.
Заключение
Подводя итог, для каждой ситуации можно рекомендовать свою альтернативу Microsoft Active Directory. Выбор решения будет зависеть от используемых операционных систем, требований к безопасности, сроков миграции с AD, возможности какое-то время параллельно использовать продукты от Microsoft.
Тем не менее появление на рынке Атом.Домен и РЕД АДМ сделали хороший вклад в расширение доступных на сегодняшний день решений для организации службы каталогов. Сегодня идут проекты пилотирования и внедрения всех этих решений, мы активно взаимодействуем с вендорами и заказчиками, чтобы сделать отечественные службы каталога более функциональными.
Все упомянутые в этой статье производители продолжают развивать свои службы каталогов, в том числе создавая решения, которых раньше просто не было в Open Source. И это все более делает возможным замещение MS AD на отечественные аналоги. Если у вас будет интерес, я расскажу о новых обновлениях и сравнении всех 4 служб каталогов в следующей статье.
А если вам интересно получить более подробную информацию о службах каталогов, можете отправить запрос мне на почту DMurunov@k2.tech.
Комментарии (19)
Cruz_Castillo
19.09.2023 12:14Directory Services - службы каталога (не служба каталогов). Каталог един, в этом его смысл, а служб у него много...
mvv-rus
19.09.2023 12:14+1Из обзора совершенно непонятно, что поддерживается каждым продуктом из возможнойстей AD, кроме базовых: каталог LDAP, хранение пользователей и групп в рамках одного домена, доступ к спискам пользователей и групп по протоколу Netlogon, аутентификация с передачей авторизационной информацией по протоколам Kerberos и NTLM. Интересует:
-возмиожность изменения содержимого каталога параллельно на нескольких контроллерах домена с репликацией этих изменений на другие контроллеры и разрешением конфликтов при репликации;
-возможность хранения в одном каталоге учетных записей и групп для нескольких разных доменов (поддержка леса доменов) с автоматическими доверительными отношениями между этими доменами;
-возможность установки доверительных отношений через протоколы NTLM (внешнее доверие) и Kerberos (межлесное доверие);
-возможность репликации с контроллерами AD под Windows (поддержка соответствующего протокола репликации)IMHO в техническом обзоре всё это должно быть.
Denis_Murunov Автор
19.09.2023 12:14+1Да, действительно, данный обзор достаточно верхнеуровневый. Он изначально и задумывался как первые впечатления от новинок рынка (РЕД АДМ и Атом.Домен). Более детальный и глубокий разбор, на мой взгляд, имеет смысл делать на примере сравнения всех 4 решений. Мы с коллегами планировали к нему приступить в том случае, если аудитории Хабра зайдет эта тема. Сейчас вижу, что интерес начинает проявляться :)
sajko
19.09.2023 12:14Ну и чем же ред адм лучше того же ald от астры? По факту - интерфейс старое произведение, да и нотки своего нету, да основана на стареньком и уважаемом samba. Можно сказать freeipa и samba сейчас главнце конкуренты друг друга на линуксе, но эти системы используют только эти наработки в то время как ald может использовать это всё.
Mnemonic0
Объективно, AD нужна там, где есть продукты M$. Exchange, SSCM, SFB, клиентские ОС Windows. Описывамые же продукты всего этого функционала не зыкрывают, точнее будут работать, но со старым софтом 7-10 летней давности. Всё, для чего оно надо - сделать похожее на AD. Но если рассматривать вариант, где нет ни Exchange ни других продуктов M$ (их же планируется импортозаместить), то для чего нужны эти изделия?
tmv002
AD и ее аналоги нужны для централизованного ведения УЗ, средства аутентификации, управления АРМ, политиками пользователей и ПК и много чего ещё. Все это нужно не только для продуктов Microsoft. Для того же Communigate, Р7-офис корпоративный сервер, Naumen и т.д. (аналоги указанных вами продуктов Microsoft).
Mnemonic0
Давайте для объективности. AD требуется для уплавления продуктами M$. Samba DC - форк, чтобы работать с этими же продуктами, но под *nix. Я говорю об объективности, если уж пилится что-то своё, которое якобы отличается от продуктов M$, то давайте и технологии утправления будут отличаться - не? Иначе получается, что вроде и отличается, но только на бумаге - а в реальности всё то же самое.
riv9231
Я с вами и согласен и нет. С одной стороны, вроде бы да, создаётся такое ощущение. А с другой стороны, по моему мнению, MS довольно вдумчиво подошли к проектированию AD. В результате, если вы тоже хорошо поработаете, то просто повторите тоже самое, но чуть чуть иначе. А может и не получится так хорошо. Достойная ли это цель?
Но что если можно было бы сделать гораздо лучше? Проще и гибче, универсальнее? Вы бы, вот, что изменили?
tmv002
AD требуется в первую очередь нужна для централизованной авторизации, это может использоваться в огромном количестве продуктов: Dovecot, Zimbra, Jira, авторизация в различных ОС, Bitbucket, Zabbix и многое другое. Конечно для этого могут использоваться и другие продукт реализующие LDAP.
Странная логика про аналоги. По вашему если есть какой-то продукт, то делать аналоги не имеет никакого смысла? Кроме того в статье указано, что приобрести M$ для корпоративных заказчиков в России нельзя. И функционал "аналогов" отличается, во многом он значительно хуже, но есть и небольшие плюсы, например, "GPO" для ПК с ОС Linux.
Mnemonic0
Если исходить из концепции, что AD требуется для авторизации, то Хьюстон у нас проблемы. Есть отличные протоколы - SAML, OpenID или OAuth - бери да пользуйся, но мы тянем AD, LDAP и Radius в наш современный мир. AD может быть на каком-то из этапов, но не является необходимостью. AD в текущих реалиях всё ещё используется, но по факту, все описанные продукты - чуть переписанные форки OpenSource продуктов (которые выпускались как альтернатива управления AD), которые, в свою очередь, пытаются быть "импортозамещением".
Что называется на коленке бабла срубить.
tmv002
Я может что-то упустил, на ПК можно авторизоваться для интерактивного входа с помощью OAuth или сервис запустить, например, ms sql agent?
Denis_Murunov Автор
Друзья, спасибо за ваши комментарии! Многое сказано верно, действительно, производя такие масштабные изменения в ИТ-инфраструктуре, как пересборка ее ядра на отечественном ПО, нужно воспользоваться моментом и создать систему, лучшую, чем существующая «унаследованная» инфраструктура, соглашусь со следующим:
Вовсе не обязательно создавать отечественную ИТ-инфраструктуру такой же, как она была на Microsoft, поэтому при разработке концепции целевого решения мы внимательно изучаем требования Заказчика, в том числе на уровнях, выше, чем ИТ-инфраструктура (прикладные ИС, иногда даже бизнес-процессы) и формируем архитектуру не всегда такой же, как была на Microsoft.
Те же задачи, которые AD решала для Windows и других продуктов MS, должны решаться и в импортозамещенной ИТ-инфраструктуре, поэтому рассмотренные решения очень востребованы для управления отечественными ОС на базе Linux. И да, многие Заказчики желают видеть те же функции, что были в AD, поэтому нашим продуктам приходится быть на нее похожими.
Действительно, согласно ТРИЗ, «идеальной службой каталога является та, которой нет, но функции аутентификации и централизованного управления выполняются». В каких-то случаях можно организовать инфраструктуру без аналога AD, но скорее не в классической корпоративной ИТ-инфраструктуре, а в каком-нибудь интернет-магазине/маркетплейсе/портале где пользователи преимущественно внешние. Когда будет придумано что-то более успешное (удобное, востребованное), чем служба каталогов для управления учетными записями и аутентификации, наступит новая эра ИТ-инфраструктур.
Denis_Murunov Автор
Что касается «на коленке бабла срубить», хочу сказать, что разработчики данных продуктов на самом деле делают большое дело. Текущее состояние Open Source продуктов таково, что для многих российских организаций очень сложно будет переходить на них – слишком высок порог входа и множество препятствий придется преодолеть. Создавая новые продукты, даже если кажется, что это «просто» сборка из открытых компонентов, они снижают этот порог и вместе с партнерами, такими, как К2Тех, приближают момент реального замещения ИТ-инфраструктуры на отечесественные решения. Мы общаемся с коллегами из всех перечисленных вендоров и видим как у них горят глаза и чувствуется желание сделать качественный и востребованный продукт. Конечно, заработать им тоже необходимо, иначе продукт не выживет. Получается, что все мы (партнеры, заказчики) даже очень заинтересованы в том, чтобы отечественные разработчики зарабатывали, чтобы они и далее развивали и поддерживали свои продукты, придумывали что-то новое, большее, чем «еще один аналог AD».
nitro80
А где отечественное ПО в статье?
atshaman
Ну, в *nix вроде pam_oidc есть - но я лично с ним не работал.
atshaman
Эм. В каком месте оно "форк"? Оно вообще не имеет отношение к кодовой базе MS. ЕМНИП, исходная samba была результатом реверс-инжениринга решения от MS, а четвертую samba'у еще и переписали примерно полностью.
mvv-rus
Сомневаюсь, что там кто-то занимался обратной разработкой, ибо не нужно: все протоколы работы с AD подробно описаны на сайте MS (не совсем по доброй воле: антимонопольные регуляторы заставили).
atshaman
Гм. Это чуть-чуть, самую капельку, малость - не совсем так. AD прежде всего - централизованное управление учетными записями, прозрачная аутентификация для пользователей на РМ, плюс политики управления этими самыми РМ в достаточно широких пределах + немножко интегрированной инфраструктуры в виде DHCP+DNS, CA и т.д.
Да, теоретически можно сделать троллейбус-из-буханки почти как настоящий - openldap + keyrberos + какой ansible\puppet - но работать оно ээээ... будет эээ... как-то. Причем скорее "нет", чем "да".
Если обсуждать вариант замены ОС на РМ на что-то "более другое"(ТМ) то рассматривать альтернативы можно (А какие?), но в большинстве случаев это игра ну очень "в долгую" - и тут идея слепить "из палка и веревка" что-нибудь "никакввинде!" но чтобы управлять в том числе и "виндой" - ну, такоэ.
mvv-rus
AD (точнее, AD DS) — это, прежде всего, иерархический каталог общего назначения, поддерживающий доступ через LDAP, с надстроенной поверх него подсистемой хранения учетных записией, с аутентификации и авторизации на их основе по протоколам Kerberos(с расширениями от MS для авторизации)/NTLM — для любых клиентов, которые эти протоколы поддерживают. Ещё на контроллере домена AD DS используется для хранения зон DNS (вместо файлов зон), при этом сам сервер DNS — это отдельная служба. CA — это вообще отдельная служба, со своей БД, из AD он может брать только шаблоны сертификатов и права доступа к ним. DHCP — совсем отдельная служба, к AD отношения не имеющая (просто в маленьких сетях удобно ставить ее на КД). В групповых политиках AD тоже используется как каталог, хранящий информацию (и то не всю): реально он содержит иерархию политик применяемых к клиентам, содержимое политик живет в файловой системе (на SYSVOL), а интепретация политик и применение их — это чисто клиентская задача, выполняемая на конкретных ПК.
Так что всю описанную вами функциональность ничто не мешает собрать из кусоков (разработчику дистрибутива или самому администратору, по месту работы) — лишь бы куски поддерживали нужные протоколы.