После 6 месяцев разработки представлен релиз Samba 4.21.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2008 и способного обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 11. Samba 4 является многофункциональным серверным продуктом, предоставляющим также реализацию файлового сервера, сервиса печати и сервера идентификации (winbind).
Ключевые изменения в Samba 4.20:
- Усилена безопасность обработки списков “valid users”, “invalid users”, “read list” и “write list”. Если из-за ошибки передачи данных не удалось определить SID по имени пользователя или группы, проблемная запись в списках не игнорируется, а приводит к выводу ошибки. Несуществующие пользователи и группы игнорируются.
- В сервере LDAP реализована возможность аутентификации при помощи SASL через Kerberos или NTLMSSP с пробросом соединений поверх TLS (ldaps или starttls). Значение по умолчанию настройки ‘ldap server require strong auth’ теперь подразумевает использование SASL поверх TLS, что эквивалентно выставлению LdapEnforceChannelBinding в параметрах NTDS на платформе Windows.
- Реализация БД LDB, используемая в Samba AD DC, теперь собирается в форме публичной библиотеки без создания обособленного tar-архива. Удалена обвязка с LDB Modules API для Python, которая уже несколько лет неработоспособна. Изменена обработка Unicode в LDB.
- Некоторые публичные библиотеки Samba (dcerpc-samr, samba-policy, tevent-util, dcerpc, samba-hostconfig, samba-credentials, dcerpc_server и samdb) переведены по умолчанию в разряд внутренних (private).
- Предоставлена возможность использования ldaps из ‘winbindd’ и ‘net ads’.
В настройку ‘client ldap sasl wrapping’ добавлена поддержка значений ‘starttls’ для использования STARTTLS на tcp-порту 389 и ‘ldaps’ для использования TLS на tcp-порту 636. - Добавлена новая опция “dns hostname” для установки имени клиента в DNS (по умолчанию “[netbios name].[realm]”).
- В Samba AD реализована ротация просроченных паролей для учётных записей, для входа с которых используются смарткарты (указана настройка “smart card require for logon”), а пароль применяется как запасной вариант при откате на NTLM или для шифрования локального профиля.
- Разрешено определение настроек “veto files” и “hide files” в привязке к отдельным пользователям и группам. Например, “hide files : USERNAME = /somefile.txt/”.
- Обеспечено автоматическое обновление keytab после смены пароля, используемого для аутентификации компьютера в домене (machine password).
- Добавлен новый VFS-модуль для ФС Ceph, использующий низкоуровневый API libcephfs и позволяющий добиться более высокой производительности по сравнению с существующим модулем cephfs. Для настройки нового модуля в smb.conf следует использовать имя ‘ceph_new’ вместо ‘ceph’.
- Добавлена поддержка управляемых учётных учётных записей gMSA (Group Managed Service Account), соответствующая функциональному уровню доменных служб Active Directory 2012 (Functional Level 2012). В утилиту samba-tool добавлены команды для работы с корневыми ключами gMSA (KDS), такие как “samba-tool domain kds root_key create” и “samba-tool domain kds root_key list”.
- Реализована поддержка функционального уровня доменных служб Active Directory 2012R2 (Functional Level 2012R2).
- Проведена работа по обеспечению повторяемых сборок, позволяющих удостовериться, что бинарный файл собран из предоставляемых исходных текстов. Например, результат сборки теперь не зависит от настроек локали и каталога, в котором осуществлялась сборка.
- Добавлена защита от отражения в /proc конфиденциальных данных, указываемых при вызове утилит Samba, чтобы эти данные не были видны в выводе ps или top.
Release.
Ссылка here.