Представлен релиз Samba 4.15.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2000 и способного обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 10. Samba 4 является многофункциональным серверным продуктом, предоставляющим также реализацию файлового сервера, сервиса печати и сервера идентификации (winbind).
Ключевые изменения в Samba 4.15:
- Завершена работа по модернизации слоя VFS. По историческим причинам код с реализацией файлового сервера был завязан на обработку файловых путей, которая применялась, в том числе для протокола SMB2, переведённого на использование дескрипторов. Модернизация свелась к переводу кода, обеспечивающего доступ к файловой системе сервера, на использование файловых дескрипторов вместо файловых путей (например, задействован вызов fstat() вместо stat() и SMB_VFS_FSTAT() вместо SMB_VFS_STAT()).
- В реализацию технологии BIND DLZ (Dynamically-loaded zones), позволяющую клиентам отправлять запросы передачи DNS-зон серверу BIND и получать ответ от Samba, добавлена возможность определения списков доступа, позволяющих определять каким клиентам подобные запросы разрешены, а каким нет. В плагине DLZ DNS прекращена поддержка веток Bind 9.8 и 9.9.
- Включена по умолчанию и стабилизирована поддержка многоканального расширения SMB3 (протокол SMB3 Multi-Channel), позволяющего клиентам устанавливать несколько соединений для распараллеливания передачи данных в рамках одного SMB-сеанса. Например, при обращении к одному файлу операции ввода/вывода могут распределяться сразу по нескольким открытым соединениям. Данный режим позволяет повысить пропускную способность и увеличить устойчивость к сбоям. Для отключения SMB3 Multi-Channel в smb.conf следует изменить опцию «server multi channel support», которая отныне включена по умолчанию на платформах Linux и FreeBSD.
- Обеспечена возможность использования команды samba-tool в конфигурациях Samba, собранных без поддержки контроллера домена Active Directory (при указании опции «—without-ad-dc»). Но в этом случае не вся функциональность доступна, например, ограничены возможности команды ‘samba-tool domain’.
- Улучшен интерфейс командной строки: Предложен новый парсер опций командной строки, задействованный в различных утилитах samba. Унифицированы похожие опции, которые отличались в разных утилитах, например, унифицирована обработка опций, связанных с шифрованием, работой с цифровыми подписями и использованием kerberos. В smb.conf определены настройки для задания значений опций по умолчанию. Для вывода ошибок во всех утилитах задействован STDERR (для вывода в STDOUT предложена опция «—debug-stdout»).
Добавлена опция «—client-protection=off|sign|encrypt».
Переименованы опции:
--kerberos -> --use-kerberos=required|desired|off
--krb5-ccache -> --use-krb5-ccache=CCACHE
--scope -> --netbios-scope=SCOPE
--use-ccache -> --use-winbind-ccache
Удалены опции: «-e|—encrypt» и «-S|—signing».
Проведена работа по чистке дубликатов опций в утилитах ldbadd, ldbdel, ldbedit, ldbmodify, ldbrename и ldbsearch, ndrdump, net, sharesec, smbcquotas, nmbd, smbd и winbindd.
- По умолчанию отключено сканирование списка доверенных доменов (Trusted Domain) при запуске winbindd, которое имело смысл во времена NT4, но не актуально для Active Directory.
- Добавлена поддержка механизма ODJ (Offline Domain Join), позволяющего присоединить компьютер к домену без прямого обращения к контроллеру домена. В Unix-подобных ОС на базе Samba для присоединения предложена команда ‘net offlinejoin’, а в Windows можно использовать штатную программу djoin.exe.
- В команде ‘samba-tool dns zoneoptions’ реализованы опции для задания интервала обновления и управления чисткой устаревших DNS-записей. В случае удаления всех записей для имени DNS узел переводится в состояние удалённого («tombstone»).
- DCE/RPC DNS-сервера теперь может использоваться утилитой samba-tool и утилитами Windows для манипуляции с DNS-записями на внешнем сервере.
- При выполнении команды «samba-tool domain backup offline» обеспечено корректное выставление блокировок к БД LMDB для защиты от параллельной модификации данных во время резервного копирования.
- Прекращена поддержка экспериментальных диалектов протокола SMB — SMB2_22, SMB2_24 и SMB3_10, которые использовались только в тестовых сборках Windows.
- В сборках с экспериментальной реализацией Active Directory на базе MIT Kerberos подняты требования к версии данного пакета. Для сборки теперь необходима как минимум версия MIT Kerberos 1.19 (поставляется в Fedora 34).
- Удалена поддержка NIS.
- Устранена уязвимость CVE-2021-3671, позволяющая неаутентифицированному пользователю вызвать крах контроллера домена на базе Heimdal KDC в случае отправки пакета TGS-REQ, в котором не указано имя сервера.