Как выбрать между FreeIPA и Samba для управления доменом Linux
ПО Импортонезависимость
Российские компании сейчас активно переходят с зарубежных ИТ-решений на отечественные продукты, заменяя не только прикладное, но и системное программное обеспечение, в том числе и службу каталогов. Напомним, что с ее помощью обеспечивается единая точка входа, централизованное управление учетными записями пользователей, автоматическая настройка компьютеров и многое другое. Ранее в этом сегменте безраздельно доминировала компания Microsoft и ее Active Directory, но сейчас компаниям нужна альтернатива, и одним из таких решений является продукт ALD Pro от «Группы Астра», над которым последние три года работает большая команда (100+ сотрудников). С подробностями — Анатолий Лысов, менеджер продукта ALD Pro, «Группа Астра».
Продукт создавался на основе компонентов с открытым исходным кодом, к подбору которых разработчики подходили очень тщательно. Одним из наиболее сложных решений был выбор между Samba AD и FreeIPA. Следует понимать, что служба Samba AD создавалась для интеграции с Windows, поэтому она могла дать некоторые преимущества на начальных этапах миграции, когда в инфраструктуре еще остается много Windows-компьютеров. Служба FreeIPA ориентирована, в первую очередь, на потребности Linux-мира, поэтому в стратегическом плане это был наиболее правильный выбор, так как в целевой картине импортозамещения Windows-компьютеров в инфраструктуре предприятий не должно остаться вовсе.
Участвуя в крупных проектах, предъявляющих высокие требования по масштабированию, отказоустойчивости и безопасности, продуктовая команда находит все больше подтверждений тому, что выбор в пользу FreeIPA был самым верным. Некоторые из наших аргументов станут понятны только в контексте истории создания этих двух технологий.
Samba AD
Когда речь заходит о Samba (https://www.samba.org), нужно определиться, в каком контексте обсуждается продукт, ведь этот «швейцарский нож» может предоставлять как общий доступ к файлам, так и совместное использование принтеров и доменные сервисы в любых форматах.
Работу над созданием службы совместного доступа к файлам Эндрю Триджелл начал еще в конце 1991 года, когда обучался в аспирантуре и отвечал за сетевое администрирование. Университет закупил программное обеспечение eXcursion от компании DEC и Триджеллу понадобилось организовать доступ из этой системы к файлам, которые были размещены на других серверах под управлением Sun OS. Программного обеспечения, которое бы решало эту задачу, в то время не было, и Триджелл, анализируя сетевой трафик, повторил реализацию одного из наиболее успешных продуктов компании DEC, хотя в последствии оказалось, что у протокола все-таки была открытая спецификация.
Изначально проект так и назывался — SMB Server, но это имя оказалось занято, и Триджелл выбрал новое название. В дальнейшем работа над Samba стала для Триджелла его основной деятельностью. С 1994 года он возглавляет в университете проект, в рамках которого создавалась распределенная файловая система HiDIOS. В 2001 году Триджелл начал работу в VA Linux Systems над устройствами сетевого хранения данных и развивал Samba в части оптимизации под ядро Linux. Работая в Quantum с конца 2001 года над корпоративными системами хранения, Триджелл добавил в Samba возможность работы Linux-компьютера в составе домена Active Directory. С января 2003 года Триджелл начал работу над развитием систем хранения в исследовательском центре IBM, в том же году вышла Samba 3, в которой была реализована поддержка протоколов SMB 2.2 и SMB 3.
Наиболее значимое событие для проекта Samba произошло в 2004 году, когда Европейская комиссия признала Microsoft виновной в злоупотреблении монопольным положением и наложила штраф в размере 500 миллионов евро, потребовав предоставить полную информацию об используемых протоколах для обеспечения возможности разработки совместимых решений. В Samba Team решили воспользоваться этой ситуацией и запросили необходимые спецификации по Active Directory, но сотрудничество с Samba теперь оказалось в интересах Microsoft, и компания даже наняла их разработчика Криса Хартела для составления документации, что помогло компании Microsoft укрепить свои позиции в судебных разбирательствах.
Благодаря открытости Microsoft уже через 7 лет разработчики выпустили Samba 4 с возможностью работы в роли контроллера Active Directory с Heimdal Kerberos. Несмотря на то что была анонсирована возможность промышленной эксплуатации, в момент релиза было доступно не более 40% от необходимого функционала, однако этого хватило, чтобы ряд компаний стал делать на этом бизнес. Дальше всех в миграции на Samba AD продвинулась французская компания Tranquil IT, в портфолио которой более насчитывается почти 300 проектов. На конференции SambaXP в 2017 году основатели компании отметили, что единственной проблемой для миграции небольших инфраструктур на Samba AD является недостаточная квалификация персонала. Опытные инженеры высоко оценивают возможности Samba AD, но указывают на проблемы с документацией и на то, что некоторые функции могут работать не так, как ожидается, или не работать вовсе.
Крупные проекты на Samba долгое время были возможны только при условии значительных доработок продукта, которые Tranquil IT воплощала через коммерческие заказы в компанию Catalyst, являющейся одним из наиболее крупных мейнтейнеров Samba. Например, в рамках проекта миграции Министерства окружающей среды Франции в версиях 4.7.0 и 4.9.0 была реализована поддержка дополнительных протоколов шифрования, журналирования событий безопасности в формате json и экспорт/импорт объектов групповых политик.
Большинство улучшений в Samba вносят сотрудники коммерческих компаний — Catalyst, Red Hat, SerNet, SUSE и других, которые имеют прямой интерес, а иногда даже конкурируют между собой. При этом Microsoft никуда не делась и будет вставлять палки в колеса в той мере, насколько это будет уместно в рамках установленных правил, поэтому участники Samba Team всегда будет зависеть от политической конъюнктуры и находиться в роли догоняющих.
FreeIPA
Компания Red Hat, не желая оставаться в догоняющих, в 2007 году запустила проект по созданию службы каталога, ориентированной на потребности Linux-компьютеров. Если в 90е годы Microsoft заимствовала у Unix такие передовые технологии, как LDAP, DNS и Kerberos для создания своей службы каталога, то компания Red Hat решила заимствовать у Microsoft передовые бизнес-практики.
Подготовка к этому шагу началась намного заранее еще в 2004 году, когда Red Hat приобрела у компании AOL права на код их LDAP-серверы Netscape Directory Server вместе с командой разработчиков. В первые годы главным драйвером развития технологии LDAP служили телекоммуникационные компании, которым нужно было предоставлять авторизованные услуги сотовой связи и подключения к сети Интернет миллионам абонентов, но после того, как Microsoft показала альтернативный способ применения технологии для построения корпоративных доменов, развитие технологии подхватили уже ИТ-гиганты.
На момент сделки программный код Netscape DS вобрал в себя последние разработки ведущих игроков рынка, поэтому в бэкенде FreeIPA до сих пор скрыт большой потенциал, еще не задействованный в продукте. Например, 389 Directory Server позволяет выстраивать трехуровневую архитектуру, состоящую из Мастеров, Хабов и Потребителей, в которой практически нет ограничений по количеству запросов на чтение.
Еще более значимыми оказались усилия FreeIPA в развитии клиентской части. Переосмысление потребностей Linux в части аутентификации привело к созданию службы SSSD (System Security Services Daemon), работа над которой в 2009 году была выделена в самостоятельный проект. Для становления проекта потребовалось некоторое время, но сегодня эта служба вытеснила Winbind и является самым правильным ответом на вопрос о том, как обеспечить работу Linux-компьютера в составе домена. С помощью SSSD можно присоединить Linux к домену Samba AD, Kerberos-области и даже обычному LDAP v3 каталогу, но во всей полноте продукт раскрывается, конечно же, при работе в составе домена FreeIPA. Стоит заметить, что при использовании ОС Astra Linux, оснащенных подсистемой безопасности PARSEC, в составе домена FreeIPA из репозиториев Astra Linux можно централизованно управлять в том числе и мандатным доступом для защиты конфиденциальной информации.
Выгодно отличается FreeIPA и по качеству кода. В то время, как разработка Samba 4 шла в условиях большой нехватки ресурсов, исходники предыдущей версии пришлось добавлять в спешке и практически без изменений, в случае FreeIPA разработчики постоянно инвестируют в рефакторинг кода. Например, с выходом Python 3 весь код был переписан под этот язык, чтобы задействовать его новые возможности. Еще более показательным окажется сравнение динамики изменений. Если посмотреть на количество добавляемых/удаляемых строк, то станет очевидным, что в проект FreeIPA в последние годы вкладывают значительно больше усилий, чем в Samba.
Выводы
Службу каталога действительно можно построить как на FreeIPA, так и на Samba AD. Более того, при желании провести замещение только серверной группировки, не затрагивая сервисы и рабочие станции, выбор Samba AD может показаться совершенно безальтернативным. Но если вы все же пойдете по этому пути, то обязательно резервируйте значительные временные и финансовые ресурсы на проверку совместимости с другими компонентами инфраструктуры и решение сопутствующих проблем. Стоит также иметь в виду, что если в составе домена будут одновременно и контроллеры Samba AD, и Microsoft Active Directory — эксплуатация такой инфраструктуры потребует от системных администраторов высоких компетенций как по устройству активной директории в целом и каждой реализации в частности.
Если же вы делаете ставку на развитие своей ИТ-инфраструктуры, а также планируете полностью перейти на отечественные операционные системы, использующие в подавляющем большинстве ядро Linux, то внедрение службы каталога, основанной на FreeIPA, будет более чем обоснованным, и выгоды от принятия такого решения — очевидными.
Полный текст статьи читайте на CNews