После полутора лет разработки представлен значительный выпуск Samba 4.2.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2000 и способного обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 8. Samba 4 является многофункциональным серверным продуктом, предоставляющим также реализацию файлового сервера, сервиса печати и сервера идентификации (winbind).

Одновременно сообщается о прекращении поддержки ветки Samba 3. Администраторам продолжающим использовать Samba 3.6.x рекомендуется не затягивать с обновлением до актуальных веток Samba (4.0 - 4.2), которые, вопреки расхожим заблуждениям, не ограничиваются функциями контроллера домена Active Directory. Новые возможности Samba 4 лишь дополняют ранее созданную в Samba 3 функциональность, но не заменяют её. Samba 4 обеспечивает всю функциональность Samba 3, в том числе реализацию файлового сервера и классических доменов NT4. Таким образом обновление контроллера домена NT4 с Samba 3.x на Samba 4.x мало чем отличается от обновления с Samba 3.5.x на ветку 3.6.x и не требует перехода на Active Directory.

Ключевые изменения в Samba 4.2:

  • В VFS-модуль интеграции с файловой системой Btrfs добавлена поддержка прозрачного сжатия файлов и директорий. Предоставляемые в SMB2+ флаги сжатия могут быть установлены удалённо из блока расширенных настроек Windows Explorer. При установке подобного флага включаются функции Btrfs по прозрачному сжатию и распаковке данных при доступе и модификации файла;
  • Добавлен новый VFS-модуль Snapper, предоставляющий средства для работы со срезами состояния файловой системы (снапшотами) для обеспечения доступа к прошлым состояниям файлов. Как и в случае со сжатием удалённые клиенты могут получить доступ к содержимому созданных снапшотов через диалог "прошлые версии" в Windows Explorer. Работа со снапшотами организована через использование инструментария Snapper;
  • Добавлен новый VFS-модуль WORM (Write once read many), реализующий дополнительный слой поверх хранилища Sambа, предоставляющий клиенту возможность управления совершением операций записи для файлов и директорий. Например, модуль позволяет клиенту один раз записать файл и разрешить дальнейший доступ к нему только в режиме чтения;
  • Полностью переработана концепция обеспечения работы защищённой связи Netlogon с другими контроллерами доменов, который теперь сохраняет сведения о глобальном состоянии в БД netlogon_creds_cli.tdb и требует обязательного применения хорошо защищённого сессионного ключа. Подобные изменения могут привести к отклонению соединений со старыми серверами или клиентами при использовании настроек по умолчанию.

    Для управления поведением подключения клиента добавлены новые настройки "require strong key" (по умолчанию - yes) и "reject md5 servers" (по умолчанию - no). Для серверов добавлены опции "allow nt4 crypto" (по умолчанию - no) и "reject md5 client" (по умолчанию - no). Таким образом, для совместимости клиента с Samba 3.0.37 требуется указать "require strong key = no", а для работы с контроллерами домена NT4 - "require strong key = no" и "client NTLMv2 auth = no". Для обеспечения возможности работы с сервером старых клиентов Samba (до 3.0.27) и членов домена NT4 следует указать "allow nt4 crypto = yes";

  • Для протокола SMB2 реализована технология агрессивного локального кэширования файлов (SMB2 leases), которая позволяет существенно сократить трафик для SMB2-соединений. Для включения нового режима кэширования в настройках следует указать "smb2 leases = yes" в секции "[global]";
  • Winbindd теперь используется по умолчанию в контроллере домена Active Directory, вместо применяемой в Samba 4.0 и 4.1 отдельной частично переработанной реализации. Теперь реализации объединены и базируются на единой кодовой базе, что открывает двери для поддержки в AD DC доверительных доменов. При желании можно активировать старую встроенную реализацию winbind, указав в настройках 'server services = +winbind -winbindd'. При необходимости использования новых возможностей в существующих конфигурациях следует убедиться, что в настройках вместо 'winbind' указан 'winbindd'. Запуск winbindd осуществляется автоматически процессом 'samba';
  • Для защиты от атак со стороны подконтрольных злоумышленниками подставных контроллеров доменов в Winbind теперь поддерживается установка только защищённых соединений. Аналогичные меры защиты приняты для DCE/RPC каналов и соединений с LDAP. Для отключения верификации клиентов в настройках следует указать 'client signing = off', а для отключения защиты DCE/RPC - 'require strong key = false' и 'winbind sealed pipes = false'. Для обеспечения целостности соединений с LDAP теперь применяется настройка 'client ldap sasl wrapping', для отключения которой следует указать 'client ldap sasl wrapping = plain';
  • В winbindd прекращён вывод списка членов группы (getent group) при использовании настроек по умолчанию, в которых теперь указано "winbind expand groups = 0", по аналогии с "winbind enum users = no" и "winbind enum groups = no";
  • В основное дерево исходных текстов Samba интегрирован компонент CTDB ("clustered tdb"), предназначенный для обеспечения работы кластерных конфигураций, что избавило проект от путаницы, связанной с поставкой отдельных CTDB-сборок Samba. Для сборки Samba с поддержкой кластеризации следует указать "--with-cluster-support". CTDB обеспечивает распределение мета-данных Samba-разделов на несколько хостов в кластере, что позволяет реализовать гибкие механизмы балансировки нагрузки и автоматическое восстановление в случае сбоя одного из узлов. Для клиентов кластер Samba выглядит как один монолитный сервер, предоставляющий доступ к единому хранилищу, при подключении к которому данные отдаются клиенту с наименее загруженного узла;
  • В контроллер домена Active Directory добавлена функция блокировки подбора паролей. В случае обнаружения многократных неудачных попыток входа система может автоматически блокировать аккаунт на определённый промежуток времени. Поведение при смене пароля приведено в соответствие с Windows 2003 SP1, допускающем NTLM-авторизацию по старому паролю в течение 60 минут с момента смены пароля. Управление связанным с паролем поведением осуществляется командой 'samba-tool domain passwordsettings set';
  • Увеличен используемый по умолчанию размер сетевых буферов для протоколов SMB2 и SMB3. Настройки "smb2 max read", "smb2 max write" и "smb2 max trans" теперь установлены в 8МБ, что соответствует параметрам Windows 2012R2;
  • Реализована возможность проверки заголовков DCERPC по цифровой подписи с целью защиты от осуществления MITM-атак.
  • В интерфейс "net idmap" добавлены новые команды для чтения и записи в autorid idmap БД.
  • Улучшена система блокировок, используемых для обеспечения совместного доступа процессов к общим данным через библиотеку tdb. Для включения новых блокировок, которые доступны в Linux и Solaris, следует указать в настройках "dbwrap_tdb_mutexes:* = yes". Увеличена эффективность хранения данных и уменьшена фрагментация в БД;
  • Переписана внутренняя система обмена сообщениями между процессами samba, которая переведена на использование unix domain сокетов;
  • Переработана утилита для навигации по реестру настроек Samba (Samba Registry Editor). Новый samba-regedit предоставляет интерфейс, похожий на файловый менеджер Midnight Commander, позволяющий просматривать и редактировать различные ключи и значения. В программу добавлен встроенный редактор шестнадцатеричных последовательностей;
  • Добавлен модуль vfs_fruit, обеспечивающий переносимость с файловыми серверами Netatalk 3 AFP и дополнительный уровень совместимости с клиентами OS X.
  • В утилите smbclient переработаны средства для создания архивов и извлечения из них данных. Для работы с архивами вместо встроенной реализации tar теперь используется библиотека libarchive, что позволило избавиться от большой порции проблем и дало возможность реализовать поддержку формата zip.


Источник: http://www.opennet.ru/opennews/art.shtml?num=41788