Samba

Продукт
Разработчики: The Samba Team
Дата премьеры системы: 1992 г
Дата последнего релиза: 2023/09/04

Содержание

Samba представляет собой широко используемый пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS. У Samba есть и клиентская, и серверная компоненты.

2023: Samba 4.19.0

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

Как сообщалось, ключевые изменения в Samba 4.19 коснулись следующего:

  • Утилита smbget переведена на общий с другими утилитами Samba код для разбора параметров командной строки (ранее в smbget применялся специфичный для данной утилиты парсер). Переход на общий парсер позволил реализовать в smbget дополнительные возможности, такие как аутентификация через Kerberos, но ценой этому стало прекращение поддержки файла smbgetrc и нарушение обратной совместимости на уровне опций.
  • В команде gpupdate объявлена устаревшей функция libgpo.get_gpo_list, на смену которой пришла реализация, написанная на языке Python, которую можно импортировать через указание "import samba.gp". Для подключения к Active Directory в реализации задействован модуль SamDB вместо ADS.
  • Расширены возможности winbind, связанные с ведением логов при указании в smb.conf настройки 'winbind debug traceid = yes'. Добавлена поддержка полей: 'traceid' для отражения в логе записей, связанных с одним и тем же запросом, и 'depth' для сохранения в логе уровня вложенности запроса. Для оптимизации разбора логов в состав включена утилита samba-log-parser.
  • Проведена подготовка базы Active Directory к использованию функционального уровня доменных служб Active Directory 2016 (Functional Level 2016) и схемы хранения 2019 (AD Schema 2019) в доменах AD.
  • Предложена начальная частичная реализация функциональных уровней Active Directory 2012, 2012R2 и 2016 (ранее в Samba поддерживался по умолчанию уровень 2008R2). Samba сможет передавать утверждения политик аутентификации Active Directory (Claims) в PAC (Privilege Account Certificate) для входящих в домен серверов, поддерживающих такие операции, а также учитывать конфигурацию для политик аутентификации (Authentication Policies) и контейнеров политик (Authentication Silos). При этом Samba может только читать и записывать утверждения (claims) и передавать их в PAC, но пока не может их использовать при принятии решений о предоставлении доступа. Изменение функционального уровня осуществляется через настройку "ad dc functional level" в smb.conf.
  • Оптимизированы средства аудита KDC (Key Distribution Center). Добавлена возможность отражения в логе, хранимом в формате JSON, большинства сбоев и всех выданных билетов Kerberos, включая те, что нарушают не применённую политику аутентификации.
  • Для клиентов с Windows при включении функционального уровня Active Directory 2012, 2012_R2 или 2016 реализована поддержка Kerberos-расширения FAST (Armoring) для организации защищённого туннеля между рабочей станцией и KDC в контроллере домена (например, для защиты паролей от перехвата).
  • В Active Directory PAC добавлена поддержка сжатия атрибутов централизованных политик доступа (Claims), используя тот же алгоритм сжатия, что и в Microsoft Windows.
  • В Active Directory PAC добавлена поддержка сжатия идентификаторов ресурсов (Resource SID), что позволяет сократить размер идентификатора до 4 байт на группу.
  • В конфигурациях контроллера домена на базе Heimdal Kerberos добавлена поддержка ограниченного делегирования, основанного на ресурсах (RBCD, Resource Based Constrained Delegation). Для конфигураций на базе MIT Kerberos поддержка RBCD появилась в версии Samba 4.17.
  • В утилите samba-tool реализована поддержка отображения, добавления и изменения Authentication Silos (silos) и Active Directory Authentication Claims (claims), а также поддержка показа сайтов и подсетей Active Directory.
  • Удалён код с реализацией встроенных криптографических функций. Для работы теперь требуется сборка с GnuTLS как минимум версии 3.6.13 (для систем без функции getrandom() требуется как минимум GnuTLS 3.7.2).
  • Используемый в Samba код Heimdal Kerberos (ветка lorikeet-heimdal) обновлён до состояния master-репозитория основного проекта Heimdal.
  • Добавлен тестовый набор для проверки PKINIT (вход при помощи смарт-карт).
  • В Heimdal KDC добавлена возможность отзыва сертификатов смарт-карт, применяемых для аутентификации PKINIT.
  • Изменение атрибутов unicodePwd и userPassword в контроллере домена теперь допускается только при использовании шифрованного соединения.
  • Добавлена команда "smbcontrol ldap_server reload-certs" для перезагрузки сертификатов TLS, используемых в контроллере домена Active Directory, без перезапуска компонентов Samba[1].

2022: Samba 4.17.0 с возможностью сборки без поддержки протокола SMB1 в smbd

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

Проведена работа по устранению регрессий в производительности нагруженных SMB-серверов, появившихся в результате добавления защиты от уязвимостей, манипулирующих символическими ссылками. Из проведённых оптимизаций упоминается сокращение системных вызовов при проверке имени каталога и не использование wakeup-событий при обработке конкурирующих операций, приводящих к задержкам.

Предоставлена возможность сборки Samba без поддержки протокола SMB1 в smbd. Для отключения SMB1 в сборочном скрипте configure реализована опция "--without-smb1-server" (влияет только на smbd, в клиентских библиотеках поддержка SMB1 сохраняется).

При использовании MIT Kerberos 1.20 реализована возможность противодействия атаке "Bronze Bit" (CVE-2020-17049), благодаря передаче дополнительной информации между компонентами KDC и KDB. В используемом по умолчанию KDC на базе Heimdal Kerberos проблема была устранена в 2021 году.

При сборке с MIT Kerberos 1.20 в контроллере домена на базе Samba реализована поддержка Kerberos-расширений S4U2Self и S4U2Proxy, а также добавлена возможность ограниченного делегирования, основанного на ресурсах (RBCD, Resource Based Constrained Delegation). Для управления RBCDВ в команду "samba-tool delegation" добавлены подкоманды 'add-principal' и 'del-principal'. В применяемом по умолчанию KDC на базе Heimdal Kerberos режим RBCD пока не поддерживается.

Во встроенном DNS-сервисе предоставлена возможность изменения сетевого порта, принимающего запросы (например, для запуска на той же системе другого DNS-сервера, перенаправляющего определённые запросы к Samba).

В компоненте CTDB, отвечающем за работу кластерных конфигураций, снижены требования к синтаксису файла ctdb.tunables. При сборке Samba с опциями "--with-cluster-support" и "--systemd-install-services" обеспечена установка сервиса systemd для CTDB. Прекращена поставка скрипта ctdbd_wrapper - процесс ctdbd теперь запускается напрямую из сервиса systemd или из скрипта инициализации.

Реализована настройка 'nt hash store = never' запрещающая хранение "голых" (без соли) хэшей паролей пользователей Active Directory. В следующей версии настройка 'nt hash store' по умолчанию будет выставлена в значение "auto", при котором режим "never" будет применяться в случае наличия настройки 'ntlm auth = disabled'.

Предложена обвязка для обращения к API библиотеки smbconf из кода на языке Python.

В программе smbstatus реализована возможность вывода информации в формате JSON (включается опцией "--json"). В контроллере домена реализована поддержка группы безопасности "Защищенные пользователи", появившейся в Windows Server 2012 R2 и не допускающей использование ненадёжных типов шифрования (для пользователей в группе отключается поддержка аутентификации NTLM, Kerberos TGTs на базе RC4, ограниченного и неограниченного делегирования).

Прекращена поддержка хранилища паролей и метода аутентификации на базе LanMan (настройка "lanman auth = yes" теперь не имеет значения)[2].

2017: Уявзимость

В наборе открытого ПО Samba выявлена серьезнейшая уязвимость, аналогичная той, что привела к массированной эпидемии вредоносной программы WannaCry на компьютерах под управлением Windows. Эксперты опасаются повторения ситуации на машинах под управлением Linux и Unix. Под угрозой компьютерные системы во всем мире, включая Россию.

Уязвимость в серверном коде, получившая индекс CVE-2017-7494 [3] позволяет удаленно запускать произвольный код при наличии у злоумышленника возможности записи данных в какой-либо каталог на сервере. Для успешной атаки требовалось загрузить сформированную специальным образом библиотеку общего пользования в каталог, и сервер загружал и выполнял ее, вместе с любым вредоносным кодом, который мог в этой библиотеке содержаться.

В наборе открытого ПО Samba выявлена серьезнейшая уязвимость, аналогичная той, что привела к массированной эпидемии вредоносной программы WannaCry

Уязвимость присутствует во всех версиях от 3.5.0 и до самой последней версии (к 27 мая 2017 года) — 4.6.4. Учитывая, что версия 3.5.0 вышла в 2010 году, уязвимость оставалась незамеченной в течение семи лет. [4]

Разработчики Samba выпустили необходимые патчи и разослали всем пользователям уведомления о необходимости их срочной установки. Для версий 4.6.4, 4.5.10 и 4.4.14 вышли обновления безопасности, в то время как более старые версии придется патчить вручную. Исправления доступны по этой ссылке: [5].

Эксперт по безопасности Эйч Ди Мур (HD Moore), создатель Metasploit Project, заявил, что эксплуатировать уязвимость предельно просто: достаточно одной строки кода - simple.create_pipe("/path/to/target.so").[6]

Таким образом, использовать эту уязвимость могут даже совсем уж начинающие хакеры с минимальной подготовкой. Соответствующий модуль в Metasploit уже добавлен.

Компания Rapid7 отмечает, что к концу мая 2017 года в Сети насчитывается более 104 тыс. устройств, на которые установлены уязвимые версии Samba, и которые открыты для подключений извне — через порт 445. Почти 90% из них используют версии [Samba], для которых на данный момент прямого патча не существует, указывается в публикации Rapid7.[7]

«
Эксперты Rapid7 опасаются повторения истории с WannaCry: Samba позволяет системам под Unix и Linux открывать общий доступ к каталогам, так же, как это делается под Windows. Червь-шифровальщик WannaCry атаковал системы под управлением Windows, но его было легко опознать и существует четкий алгоритм ликвидации последствий. В то же время, уязвимость в Samba затрагивает системы под Unix и Linux, и устранение последствий возможной атаки может столкнуться с серьезными техническими затруднениями. Они, скорее всего, проявятся в ситуациях, когда для атакованных устройств отсутствуют средства управления обновлениями или когда установка пользователями патчей на уровне операционной системы невозможна в принципе. В результате, мы опасаемся, что такие системы могут стать точками входа в корпоративные сети.
»

Большое количество сетевых устройств хранения данных, как персональных, так и корпоративных, используют Samba, причем их пользователи могут и не знать об этом. Разработчики дистрибутивов Linux уже выпустили необходимые патчи. Разработчики NAS-накопителей не торопятся это делать.

Соответственно, существует угроза, что исправить проблему полностью не удастся, даже если системные администраторы прислушаются к призыву разработчиков и оперативно установят обновления.

В любом случае, необходимо хотя бы попытаться установить исправления или, если это невозможно, отредактировать файл smb.conf, добавив в секции [global] параметр nt pipe support = no, а затем перезапустить демон Samba - smbd. Это помешает эксплуатации уязвимости злоумышленниками, но может также негативно сказаться на доступности файлов и каталогов на накопителе из-под Windows-клиентов. Также необходимо закрыть порт 445 для доступа извне.

«
Устройства, программную оболочку которых невозможно обновить, это в принципе одна из главных проблем сегодняшней Всемирной сети, особенно учитывая их многочисленность, — говорит Георгий Лагода, технический директор компании «Монитор безопасности». — Даже вне контекста с недавними эпидемиями шифровальщиков, необновляемые устройства создают идеальные точки для организации атак на корпоративные сети и индивидуальных пользователей, причем эти атаки могут продолжаться и оставаться незамеченными сколько угодно долго. Чем быстрее подобные устройства выйдут из употребления, тем лучше. Стоит отметить, что среднее время APT-атаки на предприятия среднего и крупного масштаба может составлять до полутора лет, при этом в большинстве случаев атакованные организации не замечают загруженного в их сети вредоносного ПО. Основным вектором атаки как раз и оказываются уязвимости, подобные описанной выше.
»

Примечания



СМ. ТАКЖЕ (23)