[Из песочницы] Возможности и ограничения Samba 4 как контроллера домена Active Directory
Изначально, Samba представляла собой пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS, но, начиная с версии 4 в Samba, была реализована возможность выступать в роли контроллера домена и аналога сервиса Active Directory.
Несмотря на то, что Samba 4 является неплохим решением для замены служб Active Directory Domain Services и в ней реализована значительная часть функциональности AD, она, все же, имеет ряд существенных ограничений, которые могут стать критичными при внедрении и эксплуатации решения в продуктивной среде.
В данной статье мы постараемся ответить на вопрос, насколько хороша может быть такая замена и с какими проблемами и ограничениями можно столкнуться.
Устанавливая Samba и базовые сетевые службы (DNS, NTP, Kerberos…) на один из Linux-дистрибутивов вы получаете следующую функциональность:
- Контроллер домена Active Directory:
•Служба Аутентификации на базе Kerberos v5;
•LDAP-совместимая служба каталогов c возможностью репликации по DRS;
•Сервер управления групповыми политиками;
•DNS-сервер на базе BIND, обеспечивающий безопасную динамическую регистрацию имен. - Файловый сервер.
- Сервер печати.
Благодаря преемственности в подходах к реализации службы каталога Active Directory (разработчики Samba использовали открытые спецификации Microsoft), клиентами домена на базе Samba могут быть рабочие станции с операционными системами Microsoft Windows XP-2012R2. В качестве инструментов управления доменными службами Active Directory, реализованными на Samba, могут быть использованы привычные системным администраторам Microsoft Remote Server Administration Tools.
Кроме того, Samba является программным обеспечением с открытым исходным кодом и распространяется по лицензии GPL, а это в конечном счете позволяет:
- Снизить риски, связанные с использованием импортного программного обеспечения (для госучреждений это будет особенно актуально с первого января 2016 года).
- Снизить совокупную стоимость владения информационной системой.
Для небольших и средних организаций, которые планируют организовать домен для хранения и поиска информации об объектах информационных систем, а также для организаций, которые по ряду причин планируют переход на СПО, Samba может быть неплохой альтернативой Microsoft Active Directory.
Но всем ли так хороша Samba и действительно ли она позволяет полностью закрыть функционал Active Directory? Постараемся ответить на этот вопрос.
Общую информацию по ограничениям функциональности AD в реализации Samba можно найти и в вики-базе знаний на wiki.samba.org, но данные там придется собирать по крупицам, и далеко не все ограничения будут упомянуты.
Описанные ограничения, действительны для актуальной, на момент написания статьи версии Samba 4.3.1.
И так, начнем с функциональных ограничений:
Максимальный размер базы данных Samba ограничен 4 Гб
Ограничение максимального размера базы данных Samba связано с 32-битной архитектурой tdb. Для крупных организаций, c сотнями тысяч объектов в каталоге Active Dirtectory, переход на Samba может оказаться невозможным. (Кстати, информация о данном ограничении появилась 13 ноября 2015, спустя почти 3 года после выхода Samba 4.0 и то, в основном, благодаря активным обсуждениям в mailing list).
Доверительные отношения (forest/domain trust)
Наиболее полная реализация доверительных отношений появилась в версии Samba 4.3, тем не менее, в ней присутствует ряд существенных ограничений:
- Поддерживаются только двухсторонние доверительные отношения;
- Отсутствует функция SID Filtering, отказ от нее существенно снижает уровень безопасности при организации доверительных отношений;
- Не поддерживается добавление пользователей или групп из доверенного домена «А» в группы домена «В». Данное ограничение делает невозможным применение Samba 4 в сколько-нибудь больших инсталляциях, требующих отношений доверия.
Поддержка многодоменной структуры/поддержка поддоменов
Поддержка многодоменной структуры отсутствует, как на уровне кода, так и на уровне базы данных Samba. Фактически, в Samba нет реализации глобального каталога (при запросе глобального каталога производится редирект в общий LDAP-каталог).
Если вы создаете поддомен на базе Samba, или вводите Samba в состав домена второго уровня, записи о других доменах и корневом домене будут потеряны, а «благодаря» ограничениям в поддержке фантомных объектов, работа в многодоменной среде может быть весьма нестабильной. К сожалению, на любые вопросы к сообществу в mailing list вы будете получать ответы типа:
«We would also like to improve Samba to scale up, and to support more diverse domain structures, but it isn’t a small task.
Sorry,»
Репликация SYSVOL
Несмотря на то, что групповые политики полноценно функционируют в Samba (за исключением политики паролей, назначаемых на конкретное организационное подразделение), из-за отсутствия поддержки протоколов DFS-R и FRS, репликацию SYSVOL придется проводить в ручном режиме, или при помощи скрипта. Информация о настройках rsync для репликации между контроллерами Samba есть на сайте wiki.samba.org.
По вопросам реализации репликации SYSVOL между Windows контроллером домена и samba — можете писать мне на почту.
Поддержка KCC
В Release notes к Samba 4.3.0 заявлено, что разработчики приблизились к реализации KCC, в соответствии с открытой спецификацией Microsoft, на деле же, стоит приготовиться к многочисленным ошибкам в журналах событий и созданию/корректировке графа репликации вручную.
Другие ограничения
- Отсутствие полноценной поддержки RODC;
- Отсутствие поддержки контроллеров домена на базе Windows Server 2012 и Windows 2012 R2 совместно с Samba в роли AD DC;
- Отсутствие поддержки MIT Kerberos;
- Проблемы в реализации модуля репликации DRS*;
- Проблемы при репликации расширений схемы (Schema Extension) **.
*В части реализации DRS, большинство функций работает корректно, но есть ряд ограничений, с которыми можно ознакомиться на странице DRS_TODO_List.
**Несмотря на то, что расширение схемы является штатной операцией, после ее выполнения, результат может быть весьма неожиданным. Например, может появиться ошибка werr_ds_dra_schema_mismatch. Вообще, данная ошибка может возникать даже когда схемы совпадают, но раскрытие этой темы требует отдельно написанной статьи, поэтому, сейчас мы не будем заострять на этом внимание.
Стоит учитывать, что в уже реализованных функциональных модулях присутствуют баги, и судя по оживленной переписке в mailing list их весьма немало (подробнее можно почитать на сайте bugzilla.samba.org).
Помимо функциональных ограничений, у Samba AD DC также имеются ограничения, связанные с функционированием ряда приложений и служб. На тестовом полигоне мной были протестированы некоторые базовые инфраструктурные сервисы. С результатами тестирования можно ознакомиться ниже.
Все приложения были протестированы в базовой конфигурации. Глубокий анализ природы возникновения ошибок не проводился.
Приложение | Результат тестирования | Перечень проверок |
Microsoft Exchange Server 2003/2010/2013 | Не поддерживается* | Установка Запуск служб |
Microsoft SQL Server 2012R2 | Поддерживается | Установка (в том числе и в отказоустойчивой конфигурации с Failover cluster) Создание групп доступности Аутентификация пользователей |
Citrix Xen App 6.5 | Поддерживается* | Установка Запуск опубликованного приложения Применение политик Citrix Применение перемещаемых профилей пользователей |
Microsoft System Center Configuration Manger 2007 | Поддерживается* | Установка Функционал отчетности Удаленный доступ к рабочему столу |
*Комментарии:
- Microsoft Exchange Server 2003/2010/2013
После установки Exchange могут возникнуть проблемы с репликацией. Службы, необходимые для функционирования Exchange, у меня не запустились. Подробнее с проблемой можно ознакомиться по следующим ссылкам Ссылка 1 и Ссылка 2.
- Citrix Xen App 6.5
После успешной установки Citrix Xen App, у меня возникли проблемы с репликацией, проблема оказалась в некорректном регистре для записи SPN (с описанием похожей проблемы можно ознакомиться тут).
- Microsoft System Center Configuration Manger 2007
Удаленный доступ к рабочему столу у меня так и не заработал из-за ошибки идентификации в DCOM.
В целом, приложения, которые используют Active Directory исключительно для аутентификации, должны работать в домене под управлением Samba без особых проблем, но протестировать их работу на полигоне все же стоит.
Если подвести итог, получается, что у Samba AD DC имеется довольно много ограничений, которые могут стать серьезной проблемой при крупных внедрениях. В тоже время Samba, на текущий момент, является наиболее зрелой открытой заменой Active Directory и службы каталогов в целом. Решение активно развивается благодаря наличию коммерческой поддержки со стороны зарубежных компаний, а также интеграции с облачными сервисами (использование Samba в Amazon) и интересу к продукту со стороны интеграторов — все это дает основание надеяться на скорейшее разрешение всех имеющихся проблем и доработку необходимой функциональности.