Samba представляет собой бесплатное программное обеспечение повторно реализация SMB сетевого протокола , и был первоначально разработан Эндрю Tridgell . Samba предоставляет файловые службы и службы печати для различных клиентов Microsoft Windows и может интегрироваться с доменом Microsoft Windows Server либо в качестве контроллера домена (DC), либо в качестве члена домена. Начиная с версии 4, он поддерживает домены Active Directory и Microsoft Windows NT .
Первый выпуск | 1992 [1] |
---|---|
Стабильный выпуск | 4.14.6 [2] / 13 июля 2021 г . |
Репозиторий | |
Написано в | C , Python |
Операционная система | Мультиплатформенность |
Тип | Сетевая файловая система |
Лицензия | GPLv3 |
Веб-сайт | www |
Samba работает в большинстве Unix-подобных систем, таких как Linux , Solaris , AIX и варианты BSD , включая MacOS Server от Apple и клиент macOS ( Mac OS X 10.2 и выше). Samba также работает на ряде других операционных систем, таких как OpenVMS и IBM i . Samba является стандартной почти для всех дистрибутивов Linux и обычно включается в качестве базовой системной службы и в другие операционные системы на основе Unix. Samba выпускается на условиях Стандартной общественной лицензии GNU . Название Samba происходит от SMB ( Server Message Block ), названия проприетарного протокола, используемого сетевой файловой системой Microsoft Windows.
Ранняя история
Эндрю Триджелл разработал первую версию Samba Unix в декабре 1991 г. и январе 1992 г., будучи аспирантом Австралийского национального университета , используя анализатор пакетов для анализа сети протокола, используемого серверным программным обеспечением DEC Pathworks . Во время первых выпусков версий 0.1, 0.5 и 1.0, выпущенных в первой половине января 1992 года, у него не было собственного имени, и Триджелл просто назвал его "файловым сервером Unix для Dos Pathworks". Во время выпуска версии 1.0 он понял, что «фактически реализовал протокол netbios» и что «это программное обеспечение можно было использовать с другими клиентами ПК».
Сосредоточив внимание на взаимодействии с Microsoft LAN Manager , Tridgell выпустила "netbios for unix", "обозреватель", версию 1.5 в декабре 1993 года. Этот выпуск был первым, который включал клиентское программное обеспечение, а также сервер. Кроме того, в это время GPL2 была выбрана в качестве лицензии.
В середине серии 1.5 имя было изменено на smbserver . Однако Tridgell получил уведомление о товарном знаке от компании «Синтаксис», которая продавала продукт под названием TotalNet Advanced Server и владела товарным знаком «SMBserver». Имя «Samba» было получено путем запуска команды Unix grep через системный словарь для поиска слов, содержащих буквы S, M и B, в указанном порядке (т . Е. ). [3]grep -i '^s.*m.*b' /usr/share/dict/words
Версии 1.6, 1.7, 1.8 и 1.9 последовали за ним относительно быстро, последняя была выпущена в январе 1995 года. Триджелл считает, что принятие CVS в мае 1996 года ознаменовало собой рождение команды Samba, хотя был и вклад других людей, особенно Джереми Эллисон , ранее. [4]
Версия 2.0.0 была выпущена в январе 1999 года, а версия 2.2.0 - в апреле 2001 года.
История версий
Версия 3.0.0, выпущенная 23 сентября 2003 г., была серьезным обновлением. Samba получила возможность присоединяться к Active Directory в качестве члена, но не в качестве контроллера домена. [5] В последующих выпусках версии 3.0 были добавлены незначительные новые функции. В настоящее время последней версией этой серии является 3.0.37, выпущенная 1 октября 2009 г. и поставляемая на добровольной основе. [6] Серия 3.0.x официально закончилась 5 августа 2009 года. [6]
Версия 3.1 использовалась только для разработки.
В версии 3.2 проект решил перейти на выпуски с ограничением по времени. Новые основные выпуски, такие как 3.3, 3.4 и т. Д., Будут появляться каждые шесть месяцев. Новые функции будут добавлены только после того, как будет выпущен основной выпуск, точечные выпуски будут только для исправления ошибок. [7] Кроме того, версия 3.2 ознаменовала изменение лицензии с GPL2 на GPL3, при этом некоторые части выпущены под LGPL3. [8] Основным техническим изменением в версии 3.2 было автоматическое создание большей части кода DCE / RPC, который раньше создавался вручную. Версия 3.2.0 была выпущена 1 июля 2008 года [9], а ее текущий выпуск - 3.2.15 от 1 октября 2009 года. Серия 3.2.x официально достигла конца жизненного цикла 1 марта 2010 года. [9]
Дата | Версия | Описание |
---|---|---|
23 сентября 2003 г. | 3.0 | Поддержка Active Directory [10] |
1 июля 2008 г. | 3.2 | Он будет обновляться по мере необходимости только по вопросам безопасности [11] |
27 января 2009 г. | 3.3 | |
3 июля 2009 г. | 3,4 | Это был первый выпуск, который включал исходный код Samba 3 и Samba 4. [12] |
1 марта 2010 г. | 3.5 | Это был первый выпуск, включающий экспериментальную поддержку SMB2 . [13] |
9 августа 2011 г. | 3,6 | Это первая ветка, которая включает полную поддержку SMB2. [14] |
11 декабря 2012 г. | 4.0 | Это серьезная переработка, которая позволяет Samba быть контроллером домена Active Directory, полностью участвующим в домене Windows Active Directory. Его первая техническая предварительная версия (4.0.0TP1) была выпущена в январе 2006 года после трех лет разработки. [15] [16] |
10 октября 2013 г. | 4.1 | поддержка SMB3 |
4 марта 2015 г. | 4.2 | Btrfs на основе сжатия файлов, снимки и Winbind интеграции [17] |
8 сентября 2015 г. | 4.3 | Новые функции ведения журнала, поддержка SMB 3.1.1 [18] |
22 марта 2016 г. | 4.4 | Асинхронные запросы на сброс [19] |
7 сентября 2016 г. | 4.5 | NTLM v1 отключен по умолчанию, виртуальный список, различные улучшения производительности |
7 марта 2017 г. | 4.6 | Поддержка нескольких процессов Netlogon |
21 сентября 2017 г. | 4,7 | Samba AD с MIT Kerberos |
13 марта 2018 г. | 4.8 | Поддержка Apple Time Machine . Для настроек, использующих режимы безопасности «домен» или «реклама», теперь требуется запустить winbindd. [20] |
13 сентября 2018 г. | 4.9 | Многие изменения: см. Примечания к выпуску |
19 марта 2019 г., | 4.10 | |
17 сентября 2019 г., | 4.11 | SMB1 отключен по умолчанию в качестве средства защиты от уязвимости WannaCry . |
3 марта 2020 г. | 4,12 | |
22 сентября 2020 г. | 4,13 | Samba 4.13 повышает минимальную версию Python до 3.6. |
9 марта 2021 г. | 4,14 | Капитальный ремонт подсистемы VFS и многое другое, см. Примечания к выпуску . |
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск |
Безопасность
Некоторые версии Samba 3.6.3 и ниже страдают серьезными проблемами безопасности, которые могут позволить анонимным пользователям получить root- доступ к системе через анонимное соединение, используя ошибку в удаленном вызове процедуры Samba . [21]
12 апреля 2016 года был обнаружен Badlock [22], критическая ошибка безопасности в Windows и Samba. На Badlock для Samba ссылается CVE - 2016-2118 (возможны атаки SAMR и LSA в середине). [23]
24 мая 2017 года было объявлено, что в Samba была обнаружена уязвимость удаленного выполнения кода под названием EternalRed или SambaCry , затрагивающая все версии, начиная с 3.5.0. [24] Этой уязвимости был присвоен идентификатор CVE - 2017-7494 . [24] [25]
14 сентября 2020 года был создан экспериментальный эксплойт для уязвимости сетевого входа под названием Zerologon ( CVE - 2020-1472 ), патч для которого существует с августа. [26] Некоторым федеральным агентствам, использующим это программное обеспечение, было приказано установить исправление. [27]
Функции
Samba обеспечивает совместное использование файлов и принтеров между компьютерами под управлением Microsoft Windows и Unix. Это реализация десятков сервисов и десятков протоколов, в том числе:
- NetBIOS через TCP / IP ( NBT )
- SMB (в некоторых версиях известен как CIFS)
- Samba поддерживает расширения POSIX для CIFS / SMB. Первоначальное расширение было CIFS VFS (CAP_UNIX) с 2004 года, которое было несколько заменено SMB3. [28]
- DCE / RPC или, более конкретно, MSRPC , набор протоколов сетевого окружения.
- WINS - сервер также известен как NetBIOS сервера имен (NBNS)
- Набор протоколов домена NT, который включает вход в домен NT
- База данных диспетчера учетных записей безопасности (SAM)
- Служба местного органа безопасности (LSA)
- Служба печати в стиле NT (SPOOLSS)
- NTLM
- Вход в Active Directory с использованием модифицированных версий Kerberos и LDAP
- Сервер DFS
Все эти службы и протоколы часто ошибочно называют просто NetBIOS или SMB. Протоколы NBT (NetBIOS через TCP / IP) и WINS, а также их базовый протокол SMB версии 1 в Windows не рекомендуются. Поскольку Windows Vista WS-Discovery протокол был включен вместе с SMB2 и его наследниками, которые вытесняют их. (WS-Discovery реализуется на Unix-подобных платформах сторонними демонами, которые позволяют обнаруживать общие ресурсы Samba, когда устаревшие протоколы отключены).
Samba устанавливает общие сетевые ресурсы для выбранных каталогов Unix (включая все содержащиеся подкаталоги). Они выглядят для пользователей Microsoft Windows как обычные папки Windows, доступные через сеть. Пользователи Unix могут монтировать общие ресурсы напрямую как часть своей файловой структуры с помощью команды mount.cifs или, в качестве альтернативы, могут использовать утилиту smbclient (libsmb), установленную вместе с Samba, для чтения общих ресурсов с интерфейсом, аналогичным стандартной командной строке FTP. программа. Каждый каталог может иметь разные права доступа, наложенные поверх обычных средств защиты файлов Unix. Например: домашние каталоги будут иметь доступ для чтения и записи для всех известных пользователей, что позволит каждому получить доступ к своим файлам. Однако у них по-прежнему не будет доступа к файлам других лиц, если такое разрешение обычно не существует. Обратите внимание, что общий ресурс netlogon, обычно распространяемый как общий ресурс только для чтения из / etc / samba / netlogon , является каталогом для входа в систему для сценариев входа пользователя.
Сервисы Samba реализованы в виде двух демонов :
- smbd, предоставляющий службы общего доступа к файлам и принтерам, и
- nmbd, который предоставляет службу имен NetBIOS-to-IP-address. NetBIOS через TCP / IP требует некоторого метода сопоставления имен компьютеров NetBIOS с IP-адресами сети TCP / IP.
Конфигурация Samba достигается путем редактирования одного файла (обычно устанавливается как /etc/smb.conf или /etc/samba/smb.conf ). Samba также может предоставлять сценарии входа пользователей и реализацию групповой политики через poledit .
Samba входит в состав большинства дистрибутивов Linux и запускается в процессе загрузки. В Red Hat, например, сценарий /etc/rc.d/init.d/smb запускается во время загрузки и запускает оба демона. Samba не включена в Solaris 8, но версия, совместимая с Solaris 8, доступна на веб-сайте Samba. OS / 2 -На ArcaOS включает Samba , чтобы заменить старый IBM LAN Server программного обеспечения. [29]
Samba включает инструмент веб-администрирования под названием Samba Web Administration Tool (SWAT). [30] [31] SWAT был удален, начиная с версии 4.1. [32]
Самба TNG
Samba TNG (The Next Generation) был разветвлен в конце 1999 года после разногласий между лидерами Samba Team и Люком Лейтоном по поводу направлений проекта Samba. Им не удалось прийти к соглашению о пути перехода к разработке, который позволил бы разрабатываемой им исследовательской версии Samba (известной в то время как Samba-NTDOM) постепенно интегрироваться в Samba. [33] Разработка была минимальной из-за отсутствия разработчиков. Команда Samba TNG часто направляла потенциальных пользователей на Samba из-за ее лучшей поддержки и развития. [34]
Ключевой целью проекта Samba TNG было переписать все службы NT Domains как проекты FreeDCE . [35] Это было затруднительно, поскольку сервисы разрабатывались вручную посредством обратного проектирования сети, с ограниченными ссылками на документацию DCE / RPC или без них. [ необходима цитата ]
Ключевое отличие от Samba заключалось в реализации набора протоколов NT Domains и сервисов MSRPC . Samba делает все службы доменов NT доступными из одного места, тогда как Samba TNG разделяет каждую службу в отдельную программу. [ необходима цитата ]
ReactOS начал использовать сервисы Samba TNG для реализации SMB. Разработчики обоих проектов были заинтересованы в том, чтобы использовать дизайн Samba TNG, чтобы помочь ReactOS взаимодействовать с сетями Windows. Они вместе работали над адаптацией сетевого кода и системы сборки. Многоуровневый и модульный подход упростил перенос каждой службы в ReactOS. [36]
Смотрите также
- LM хеш
- SSLBridge
Рекомендации
- ^ "Последние новости Самбы" . Проверено 28 ноября 2017 года .
- ^ «Самба 4.14.6» .
- ^ «Немного истории и немного веселья» . 27 июня 1997 . Проверено 28 мая 2009 года .
- ^ "10 лет Samba!" . Проверено 21 сентября 2015 года .
- ^ «Доступен первый стабильный выпуск Samba 3.0» . Проверено 21 сентября 2015 года .
- ^ а б «Планирование выпуска Samba 3.0» . Проверено 21 сентября 2015 года .
- ^ «Понедельник, 28 апреля - Отчет о Samba Mashup» . Проверено 21 сентября 2015 года .
- ^ «Samba принимает GPLv3 для будущих выпусков» . Проверено 21 сентября 2015 года .
- ^ а б «Планирование выпуска Samba 3.2» . Проверено 21 сентября 2015 года .
- ^ «Команда Samba объявляет о первом официальном выпуске Samba 3.0» . Проверено 24 сентября 2003 года .
- ^ «[ОБЪЯВЛЕНИЕ] Samba 3.2.0 доступна для загрузки» . Проверено 21 сентября 2015 года .
- ^ "Samba - Архив примечаний к выпуску" . Проверено 21 сентября 2015 года .
- ^ "Samba - Архив примечаний к выпуску" . Проверено 21 сентября 2015 года .
- ^ "Samba - Архив примечаний к выпуску" . Проверено 21 сентября 2015 года .
- ^ «Самба - открывая окна в большой мир» . Проверено 21 сентября 2015 года .
- ^ «Samba 4.0.0TP1 доступна для загрузки» . Архивировано из оригинала 22 июля 2006 года . Проверено 11 января 2014 года .
- ^ "Samba - Архив примечаний к выпуску" . Проверено 21 сентября 2015 года .
- ^ "Samba - Архив примечаний к выпуску" . Проверено 8 сентября 2015 года .
- ^ "Samba - Архив примечаний к выпуску" . Проверено 22 марта 2016 .
- ^ «Примечания к выпуску Samba 4.8.0» . 13 марта 2018 . Проверено 19 марта 2019 .
- ^ CVE-2012-1182 - объявление безопасности, касающееся серьезной проблемы с Samba 3.6.3 и ниже.
- ^ «Бэдлок» . Проверено 12 апреля +2016 .
- ^ "Microsoft, Samba Patch" Badlock "Уязвимость" . Проверено 13 апреля +2016 .
- ^ а б «Samba 4.6.4 - Примечания к выпуску» . 24 мая 2017 . Дата обращения 24 мая 2017 .
- ^ «Скоро SambaCry» . Securelist - исследования и отчеты «Лаборатории Касперского» по киберугрозам . Проверено 19 марта 2018 .
- ^ Чимпану, Каталин. «Microsoft заявляет, что обнаружила активные атаки, использующие уязвимость Zerologon» . ZDNet . Проверено 9 октября 2020 .
- ^ Константин, Лучиан (23 сентября 2020 г.). «Что такое Zerologon? И зачем исправлять эту брешь в Windows Server сейчас» . CSO Online . Проверено 9 октября 2020 .
- ^ «Расширения UNIX» . SambaWiki .
- ^ «ArcaMapper» . arcanoae.com . Проверено 11 сентября 2020 .
- ^ «Глава 37. SWAT: Инструмент веб-администрирования Samba» . Проверено 21 сентября 2015 года .
- ^ «Linux.com» . Проверено 21 сентября 2015 года .
- ^ «Функции Samba 4.1 добавлены / изменены» . Проверено 21 сентября 2015 года .
- ^ «FAQ по проекту - каковы отношения между Samba и Samba TNG?» . Проверено 19 февраля 2008 года .
- ^ «FAQ по проекту - Что мне использовать - Samba или Samba TNG?» . Проверено 19 февраля 2008 года .
- ^ «Вопросы и ответы по проекту - Что все это такое о FreeDCE?» . Проверено 19 февраля 2008 года .
- ^ Винсент, Брайан. «Интервью со Стивеном Эдвардсом» . Винный штаб . Проверено 19 февраля 2008 года .
Внешние ссылки
- Официальный веб-сайт