После 6 месяцев разработки представлен релиз Samba 4.20.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2008 и способного обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 11. Samba 4 является многофункциональным серверным продуктом, предоставляющим также реализацию файлового сервера, сервиса печати и сервера идентификации (winbind).
Ключевые изменения в Samba 4.20:
- По умолчанию включена сборка новой утилиты “wspsearch” с реализацией экспериментального клиента для протокола WSP (Windows Search Protocol). Утилита позволяет отправлять поисковые запросы на Windows-сервер, на котором запущен сервис WSP.
- В команде “smbcacls” реализована поддержка записи списков управления доступом DACL в файл и восстановления DACL из файла. Данные сохраняются в формате, поддерживаемом Windows-утилитой ‘icacls.exe’, что обеспечивает переносимость файлов с сохранёнными DACL (Discretionary Access Control List).
- В утилиту “samba-tool” добавлены расширения для централизованных политик доступа Active Directory (Claims), политик аутентификации (Authentication Policies) и контейнеров политик (Authentication Silos). Samba-tool теперь можно использовать для связывания пользователя c утверждениями (claims) для последующего использования в правилах, определяющих возможность доступа к рамках политики аутентификации.
Кроме того, утилита samba-tool теперь может применяться для создания политик аутентификации и управления ими, а также для создания и управления контейнерами политик. Например, при помощи samba-tool можно определить откуда и куда может подключиться пользователь, если разрешено использование NTLM, и в каких сервисах пользователь может быть аутентифицирован.
- В реализуемом на базе Samba контроллере домена Active Directory добавлена поддержка политик аутентификации (Authentication Policies) и контейнеров политик (Authentication Silos), созданных через утилиту samba-tool или импортированных из конфигураций Microsoft AD. Возможность доступна только на системах с функциональным уровнем Active Directory как минимум 2012_R2 (“ad dc functional level = 2016” в smb.conf).
- В утилиту samba-tool добавлена работающая на стороне клиента поддержка управляемых учётных учётных записей gMSA (Group Managed Service Account), в которых используются автоматически обновляемые пароли. Предоставляемые в samba-tool команды управления паролем, которые раньше могли использоваться только с локальной БД sam.ldb, теперь можно применять и к внешнему серверу при аутентифицированном доступе, используя опцию “-H ldap://$DCNAME”. Среди поддерживаемых операций: “samba-tool user getpassword” для чтения текущего и прошлого пароля gMSA; “samba-tool user get-kerberos-ticket” для записи Kerberos TGT (Ticket Granting Ticket) в локальный кэш учётных записей.
- Добавлена поддержка условных записей контроля доступа (Conditional ACE), позволяющих разрешать или блокировать доступ в зависимости от дополнительных условий – если условное выражение не сработало, ACE игнорируется, а иначе применяется как обычный ACE. Условные проверки также могут применяться к атрибутам защищаемого объекта, описываемым
атрибутами системных ресурсов (Resource Attribute ACE). - В реализацию кластера ctdb добавлена возможность предоставления сервиса MS-SWN (Service Witness Protocol), при помощи которого клиенты могут отслеживать свои SMB-cоединения к узлам кластера. Например, подключённый к узлу “A” клиент может запросить узел “B” отправить уведомление, если узел “A” окажется недоступен. Для управления сервисом предложена серия команд “net witness [list|client-move|share-move|force-unregister|force-response]”, позволяющих администратору кластера просматривать зарегистрированных клиентов и запрашивать перенос соединения на другие узлы кластера.
- Для конфигураций с MIT Kerberos5, работающих в роли контроллера домена Active Directory, теперь требуется как минимум версия MIT Krb5 1.21, в которой появилась дополнительная защита от уязвимости CVE-2022-37967.
- При сборке с импортированным Heimdal Kerberos больше не требуется установка Perl-модуля JSON, вместо которого используется встроенный в Perl5 модуль JSON::PP.
- В командах “samba-tool user getpassword” и “samba-tool user syncpasswords”, используемых для определения и синхронизации пароля, изменён вывод при использовании параметра “;rounds=” с атрибутами virtualCryptSHA256 и virtualCryptSHA512 (например, ‘–attributes=”virtualCryptSHA256;rounds=50000″‘).
Было: virtualCryptSHA256: {CRYPT}$5$rounds=2561$hXem.M9onhM9Vuix$dFdSBwF
Стало: virtualCryptSHA256;rounds=2561:{CRYPT}$5$rounds=2561$hXem.M9onhM9Vuix$dFdSBwF - В реализации MS-WKST (Workstation Service Remote Protocol) прекращена поддержка вывода списка подключённых пользователей на основе содержимого файла /var/run/utmp, хранящего данные о пользователях, в данный момент работающих в системе. Поддержка utmp прекращена из-за подверженности данного формата проблеме 2038 года.