Блок сообщений сервера
Блок сообщений сервера ( SMB ) — это протокол связи. [1] используется для совместного использования файлов, принтеров , последовательных портов и других коммуникаций между узлами в сети . В Microsoft Windows реализация SMB состоит из двух служб Windows с расплывчатыми названиями : «Сервер» (ID: LanmanServer
) и «Рабочая станция» (ID: LanmanWorkstation
). [2] он использует протоколы NTLM или Kerberos Для аутентификации пользователей . Он также обеспечивает механизм аутентифицированного межпроцессного взаимодействия (IPC).
SMB был первоначально разработан в 1983 году Барри А. Фейгенбаумом из IBM. [3] для совместного доступа к файлам и принтерам в сети систем, работающих под управлением IBM OS/2 . В 1987 году Microsoft и 3Com реализовали SMB в LAN Manager для OS/2, и тогда SMB использовал службу NetBIOS поверх протокола NetBIOS Frames в качестве основного транспорта. Позже Microsoft реализовала SMB в Windows NT 3.1 и с тех пор обновляла его, адаптируя для работы с новыми базовыми транспортами: TCP/IP и NetBT . SMB через QUIC был представлен в Windows Server 2022 .
В 1996 году Microsoft опубликовала версию SMB 1.0. [4] с небольшими изменениями под названием Common Internet File System ( CIFS / s ɪ f s / ). CIFS был совместим даже с самыми ранними версиями SMB, включая LAN Manager . [4] Он поддерживает символические ссылки, жесткие ссылки и файлы большего размера, но не поддерживает ни одну из функций SMB 2.0 и более поздних версий. [4] [5] Однако предложение Microsoft так и осталось интернет-проектом и так и не получило статуса стандарта. [6] С тех пор Microsoft прекратила использование названия CIFS, но продолжает развивать SMB и публиковать последующие спецификации. Samba — это бесплатная программная реализация протокола SMB и расширений Microsoft к нему.
Функции
[ редактировать ]Блок сообщений сервера (SMB) обеспечивает общий доступ к файлам , общий доступ к принтерам , просмотр сети и межпроцессное взаимодействие (через именованные каналы ) через компьютерную сеть . SMB служит основой для реализации распределенной файловой системы Microsoft .
Для транспортировки SMB использует протоколы TCP и IP . Эта комбинация позволяет обмениваться файлами в сложных взаимосвязанных сетях , включая общедоступный Интернет. SMB Серверный компонент использует TCP- порт 445. Первоначально SMB работал на NetBIOS через IEEE 802.2 ( NetBIOS Frames или NBF) и через IPX/SPX , а затем на NetBIOS через TCP/IP (NetBT), но с тех пор Microsoft прекратила поддержку этих протоколов. В NetBT серверный компонент использует три порта TCP или UDP : 137 (служба имен NETBIOS), 138 (служба дейтаграмм NETBIOS) и 139 (служба сеансов NETBIOS).
В Microsoft Windows две службы Windows с расплывчатыми названиями реализуют SMB. Услуга «Сервер» (ID: LanmanServer
) отвечает за обслуживание общих ресурсов . Услуга «Рабочая станция» (ID: LanmanWorkstation
) сохраняет имя компьютера и помогает получить доступ к общим ресурсам на других компьютерах. [2] SMB использует протокол Kerberos для аутентификации пользователей в Active Directory в доменных сетях Windows. В более простых одноранговых сетях SMB использует протокол NTLM .
Windows NT 4.0 SP3 и более поздние версии могут использовать цифровую подпись SMB-сообщений для предотвращения некоторых атак типа «злоумышленник посередине» . [7] [8] [9] Подпись SMB можно настроить индивидуально для входящих SMB-подключений (с помощью службы «LanmanServer») и исходящих SMB-соединений (с помощью службы «LanmanWorkstation»). Настройка по умолчанию для контроллеров домена Windows под управлением Windows Server 2003 и более поздних версий — не разрешать неподписанные входящие соединения. [10] Таким образом, более ранние версии Windows, которые не поддерживают подпись SMB с самого начала (включая Windows 9x ), не могут подключаться к контроллеру домена Windows Server 2003. [8]
SMB поддерживает уступающую блокировку (см. ниже) файлов для повышения производительности. Поддержка уступающей блокировки менялась с каждым выпуском Windows Server.
Оппортунистическая блокировка
[ редактировать ]В протоколе SMB уступающая блокировка — это механизм, предназначенный для повышения производительности за счет управления кэшированием сетевых файлов клиентом. [11] В отличие от традиционных блокировок , уступающая блокировка (OpLocks) не является строго блокировкой файлов и не используется для обеспечения взаимного исключения.
Существует четыре типа оппортунистических блокировок.
- Пакетные замки
- Пакетные OpLocks изначально были созданы для поддержки определенного поведения операции выполнения пакетного файла DOS, при котором файл открывается и закрывается много раз за короткий период времени, что является проблемой производительности. Чтобы решить эту проблему, клиент может запросить OpLock типа «batch». В этом случае клиент задерживает отправку запроса на закрытие, и если подается последующий запрос на открытие, два запроса отменяют друг друга. [12]
- OpLocks уровня 1/эксклюзивные замки
- Когда приложение открывает в «совместном режиме» файл, размещенный на SMB-сервере, который не открывается каким-либо другим процессом (или другими клиентами), клиент получает эксклюзивный OpLock от сервера. Это означает, что теперь клиент может предположить, что это единственный процесс, имеющий доступ к этому конкретному файлу, и теперь клиент может кэшировать все изменения в файле перед передачей его на сервер. Это улучшение производительности, поскольку для чтения и записи в файл требуется меньше циклов обработки. Если другой клиент/процесс пытается открыть тот же файл, сервер отправляет клиенту сообщение (называемое прерыванием или отзывом ) , которое аннулирует монопольную блокировку, ранее предоставленную клиенту. Затем клиент сбрасывает все изменения в файл.
- Операционные блокировки уровня 2
- Если эксклюзивный OpLock удерживается клиентом, а заблокированный файл открывается третьей стороной, клиент должен отказаться от своего эксклюзивного OpLock, чтобы разрешить другому клиенту доступ для записи/чтения. Затем клиент может получить от сервера «OpLock уровня 2». OpLock уровня 2 позволяет кэшировать запросы на чтение, но исключает кэширование записи.
- Фильтрация OpLocks
- Фильтрационные блокировки, добавленные в Windows NT 4.0, аналогичны OpLocks уровня 2, но предотвращают нарушения режима общего доступа между открытием файла и получением блокировки. Microsoft советует использовать OpLocks с фильтром только в тех случаях, когда важно разрешить несколько считывателей, а OpLocks уровня 2 — в других обстоятельствах. Клиенты, у которых есть OpLock, на самом деле не удерживают блокировку файла, вместо этого они уведомляются через разрыв , когда другой клиент хочет получить доступ к файлу способом, несовместимым с их блокировкой. Запрос другого клиента задерживается на время обработки перерыва.
- Перерывы
- В отличие от «стандартного» поведения протокола SMB, запрос на прерывание может быть отправлен с сервера клиенту . Он информирует клиента о том, что OpLock больше не действителен. Это происходит, например, когда другой клиент желает открыть файл способом, который делает OpLock недействительным. Затем первому клиенту отправляется разрыв OpLock, и ему необходимо отправить все свои локальные изменения (в случае пакетных или эксклюзивных OpLocks), если таковые имеются, и подтвердить разрыв OpLock. После этого подтверждения сервер может последовательно ответить второму клиенту.
Производительность
[ редактировать ]Использование протокола SMB часто коррелирует со значительным увеличением широковещательного трафика в сети. Однако сам SMB не использует широковещательные рассылки — проблемы широковещания, обычно связанные с SMB, на самом деле возникают из-за протокола определения местоположения службы NetBIOS . [ нужны разъяснения ] По умолчанию сервер Microsoft Windows NT 4.0 использовал NetBIOS для объявления и поиска служб. NetBIOS функционирует путем широковещательной рассылки служб, доступных на конкретном хосте, через регулярные промежутки времени. Хотя это обычно является приемлемым значением по умолчанию в сети с меньшим количеством хостов, увеличение широковещательного трафика может вызвать проблемы по мере увеличения количества хостов в сети. Реализация инфраструктуры разрешения имен в виде службы имен Интернета Windows (WINS) или системы доменных имен (DNS) решает эту проблему. WINS была собственной реализацией, используемой в сетях Windows NT 4.0, но вызывала свои проблемы и сложности при проектировании и обслуживании сети Microsoft.
С момента выпуска Windows 2000 использование WINS для разрешения имен было прекращено Microsoft, а иерархический динамический DNS теперь настроен в качестве протокола разрешения имен по умолчанию для всех операционных систем Windows. Разрешение (коротких) имен NetBIOS с помощью DNS требует, чтобы DNS-клиент расширял короткие имена, обычно путем добавления DNS-суффикса, специфичного для соединения, к своим DNS-запросам поиска. WINS по-прежнему можно настроить на клиентах в качестве вторичного протокола разрешения имен для обеспечения совместимости с устаревшими средами и приложениями Windows. Кроме того, DNS-серверы Microsoft могут перенаправлять запросы разрешения имен на устаревшие WINS-серверы, чтобы поддерживать интеграцию разрешения имен с устаревшими (до Windows 2000) средами, которые не поддерживают DNS.
Разработчики сетей обнаружили, что задержка оказывает существенное влияние на производительность протокола SMB 1.0, поскольку он работает хуже, чем другие протоколы, такие как FTP . Мониторинг выявляет высокую степень «болтливости» и игнорирование сетевых задержек между хостами. [13] Например, VPN- соединение через Интернет часто приводит к задержкам в сети. Microsoft объяснила, что проблемы с производительностью возникают в первую очередь потому, что SMB 1.0 — это протокол блочного уровня, а не потоковой передачи , который изначально был разработан для небольших локальных сетей ; размер блока ограничен 64 КБ, подписывание SMB создает дополнительные издержки, а размер окна TCP не оптимизирован для каналов глобальной сети. [14] Решение этой проблемы включает обновленный протокол SMB 2.0, [15] Автономные файлы , устройства масштабирования окон TCP и оптимизации WAN от различных сетевых поставщиков, которые кэшируют и оптимизируют SMB 1.0. [16] и 2.0. [17]
История
[ редактировать ]СМБ 1.0
[ редактировать ]Барри Фейгенбаум первоначально разработал SMB в IBM в начале 1983 года с целью превратить 21-часовой доступ к локальным файлам DOS INT в сетевую файловую систему. [3] Microsoft внесла значительные изменения в наиболее часто используемую версию и включила поддержку SMB в операционную систему LAN Manager, которую она начала разрабатывать для OS/2 вместе с 3Com примерно в 1990 году. [18] [19] [20] Microsoft продолжала добавлять функции к протоколу в Windows для рабочих групп ( ок. 1992 г. ) и в более поздних версиях Windows. Аутентификация LAN Manager была реализована на основе исходного требования устаревшей спецификации SMB об использовании паролей IBM «LAN Manager», но DES был реализован ошибочным образом , что позволяло взламывать пароли. [21] Позже Kerberos была также добавлена аутентификация . Протоколы входа в домен Windows изначально использовали 40-битное шифрование за пределами США из-за ограничений на экспорт более сильного 128-битного шифрования. [22] (впоследствии отменено в 1996 году, когда президент Билл Клинтон подписал Указ № 13026). [23] ).
SMB 1.0 (или SMB1) изначально был разработан для работы с фреймами NetBIOS (NetBIOS через IEEE 802.2 ). С тех пор он был адаптирован для NetBIOS через IPX/SPX (NBX) и NetBIOS через TCP/IP (NetBT). Кроме того, начиная с Windows 2000 , SMB работает по протоколу TCP с использованием TCP-порта 445 — функция, известная как «SMB прямого хоста». [24] Между SMB и TCP по-прежнему существует тонкий слой (аналогичный пакету сообщений сеанса службы сеансов NetBT). [24] Windows Server 2003 и устаревшие устройства NAS изначально используют SMB1.
SMB1 — чрезвычайно разговорчивый протокол, который не представляет такой проблемы в локальной сети (LAN) с низкой задержкой. (WAN) он становится очень медленным, В глобальных сетях поскольку двустороннее подтверждение протокола увеличивает присущую такой сети высокую задержку. Более поздние версии протокола сократили большое количество обменов рукопожатиями. Одним из подходов к снижению неэффективности протокола является использование продуктов оптимизации WAN , таких как продукты Riverbed , Silver Peak или Cisco . Лучшим подходом является обновление до более поздней версии SMB. Сюда входит обновление как устройств NAS, так и Windows Server 2003. Самый эффективный метод идентификации трафика SMB1 — использование инструмента сетевого анализатора, такого как Wireshark . инструмент аудита Microsoft также предоставляет в Windows Server 2016 для отслеживания устройств, использующих SMB1. [25]
В июне 2013 года Microsoft пометила SMB1 как устаревший . [26] В Windows Server 2016 и Windows 10 версии 1709 SMB1 не установлен по умолчанию. [27]
КИФС
[ редактировать ]В 1996 году, когда Sun Microsystems анонсировала WebNFS , [28] Microsoft выступила с инициативой переименовать SMB в Common Internet File System (CIFS). [3] и добавил больше функций, включая поддержку символических ссылок , жестких ссылок , файлов большего размера и первоначальную попытку поддержки прямых соединений через TCP-порт 445 без необходимости использования NetBIOS в качестве транспорта (в значительной степени экспериментальная попытка, потребовавшая дальнейшей доработки). некоторые частичные спецификации в качестве интернет-черновиков Microsoft представила в IETF . [6] Срок действия этих материалов истек.
СМБ 2.0
[ редактировать ]Microsoft представила новую версию протокола (SMB 2.0 или SMB2) в 2006 году с Windows Vista и Windows Server 2008 . [29] Хотя протокол является запатентованным, его спецификация была опубликована, чтобы позволить другим системам взаимодействовать с операционными системами Microsoft, использующими новый протокол. [30]
SMB2 снижает «болтливость» протокола SMB 1.0 за счет сокращения количества команд и подкоманд с более чем сотни до девятнадцати. [13] Он имеет механизмы конвейерной обработки , то есть отправки дополнительных запросов до того, как поступит ответ на предыдущий запрос, тем самым улучшая производительность по каналам с высокой задержкой . Он добавляет возможность объединять несколько действий в один запрос, что значительно сокращает количество обращений клиента к серверу, что в результате повышает производительность. [13] SMB1 также имеет механизм объединения, известный как AndX, для объединения нескольких действий, но клиенты Microsoft редко используют AndX. [ нужна ссылка ] Он также вводит понятие «надежных дескрипторов файлов»: они позволяют соединению с SMB-сервером выдерживать кратковременные сбои в сети, что типично для беспроводной сети, без необходимости нести накладные расходы на повторное согласование нового сеанса.
SMB2 включает поддержку символических ссылок . Другие улучшения включают в себя кэширование свойств файлов, улучшенную подпись сообщений с помощью алгоритма хеширования HMAC SHA-256 и лучшую масштабируемость за счет увеличения количества пользователей, общих ресурсов и открытых файлов на сервере, среди прочего. [13] Протокол SMB1 использует 16-битные размеры данных, что, среди прочего, ограничивает максимальный размер блока до 64 КБ. SMB2 использует поля хранения шириной 32 или 64 бита и 128 бит в случае дескрипторов файлов , тем самым устраняя предыдущие ограничения на размеры блоков, что повышает производительность при передаче больших файлов по быстрым сетям. [13]
Операционные системы Windows Vista/ Server 2008 и более поздних версий используют SMB2 при обмене данными с другими компьютерами, также поддерживающими SMB2. SMB1 продолжает использоваться для соединений со старыми версиями Windows, а также с решениями NAS различных производителей . Samba 3.5 также включает экспериментальную поддержку SMB2. [31] Samba 3.6 полностью поддерживает SMB2, за исключением изменения пользовательских квот с помощью инструментов управления квотами Windows. [32]
Когда был представлен SMB2, он принес ряд преимуществ по сравнению с SMB1 для сторонних разработчиков протоколов SMB. SMB1, первоначально разработанный IBM , был реконструирован и позже стал частью широкого спектра операционных систем, отличных от Windows, таких как Xenix , OS/2 и VMS ( Pathworks ). X/Open частично стандартизировал его; Microsoft представила в IETF интернет-проекты, описывающие SMB2 , отчасти в ответ на официальную стандартизацию IETF версии 4 сетевой файловой системы в декабре 2000 года как IETF RFC 3010; [33] однако срок действия этих Интернет-проектов, связанных с малым и средним бизнесом, истек без получения какого-либо одобрения стандартов IETF или какого-либо другого одобрения IETF. (Исторические подробности см . на http://ubiqx.org/cifs/Intro.html .) SMB2 также является относительно чистым разрывом с прошлым. Код Microsoft SMB1 должен работать с большим количеством клиентов и серверов SMB. SMB1 содержит множество версий информации для команд (выбор структуры, возвращаемой для конкретного запроса), поскольку такие функции, как поддержка Unicode, были добавлены позже. SMB2 предполагает значительно сокращенное тестирование совместимости для разработчиков протокола. Код SMB2 имеет значительно меньшую сложность, поскольку существует гораздо меньше изменчивости (например, пути кода, не поддерживающие Unicode, становятся избыточными, поскольку SMB2 требует поддержки Unicode).
Apple перешла на SMB2 (со своего собственного Apple Filing Protocol , теперь устаревшего), начиная с OS X 10.9 «Mavericks» . [34] Однако этот переход был чреват проблемами совместимости. [35] [36] Нестандартная поддержка SMB2 появилась фактически в OS X 10.7, когда Apple отказалась от Samba в пользу собственной реализации SMB под названием SMBX. [34] Apple перешла на собственную реализацию SMBX после того, как Samba приняла GPLv3 . [37] [38] MacOS также поддерживает сетевую файловую систему IETF (NFS) в течение многих лет (и продолжает поддерживать ее с 2021 года).
Клиентская файловая система CIFS ядра Linux поддерживает SMB2, начиная с версии 3.7. [39]
СМБ 2.1
[ редактировать ]В SMB 2.1, представленном в Windows 7 и Server 2008 R2, были внесены незначительные улучшения производительности за счет нового уступающего механизма блокировки. [40]
СМБ 3.0
[ редактировать ]SMB 3.0 (ранее называвшийся SMB 2.2) [41] был представлен вместе с Windows 8 [41] и Windows Сервер 2012 . [41] Он внес несколько существенных изменений, призванных добавить функциональность и улучшить производительность SMB2. [42] особенно в виртуализированных центрах обработки данных :
- протокол SMB Direct (SMB через удаленный прямой доступ к памяти [RDMA])
- SMB Multichannel (несколько подключений за сеанс SMB), [43] [44]
- Прозрачное аварийное переключение SMB [45] [46]
Он также вводит несколько улучшений безопасности, таких как сквозное шифрование и новый алгоритм подписи на основе AES . [47] [48]
СМБ 3.0.2
[ редактировать ]SMB 3.0.2 (известный в то время как 3.02) был представлен в Windows 8.1 и Windows Server 2012 R2; [49] [50] в этих и более поздних выпусках более раннюю версию SMB 1 можно дополнительно отключить для повышения безопасности. [51] [52]
СМБ 3.1.1
[ редактировать ]SMB 3.1.1 был представлен в Windows 10 и Windows Server 2016 . [53] Эта версия поддерживает шифрование AES-128 GCM в дополнение к шифрованию AES-128 CCM , добавленному в SMB3, и реализует проверку целостности перед аутентификацией с использованием SHA-512 хэша . SMB 3.1.1 также делает обязательным безопасное согласование при подключении к клиентам, использующим версии SMB, которые его поддерживают. [54]
Технические характеристики
[ редактировать ]Спецификации для SMB являются частными и изначально были закрыты, что вынудило других поставщиков и проекты перепроектировать протокол для взаимодействия с ним. Протокол SMB 1.0 был в конечном итоге опубликован через некоторое время после его обратного проектирования, тогда как протокол SMB 2.0 с самого начала был доступен в Центре разработчиков открытых спецификаций Microsoft. [55]
Сторонние реализации
[ редактировать ]Самба
[ редактировать ]Этот раздел необходимо обновить . ( апрель 2016 г. ) |
В 1991 году Эндрю Триджелл начал разработку Samba, бесплатного программного обеспечения повторной реализации (с использованием обратного проектирования ) сетевого протокола SMB/CIFS для Unix-подобных систем, первоначально для реализации SMB-сервера, позволяющего клиентам ПК запускать DEC Pathworks. клиент для доступа к файлам на компьютерах с ОС SunOS . [3] [56] Из-за важности протокола SMB во взаимодействии с широко распространенной платформой Microsoft Windows Samba стала популярной бесплатной программной реализацией совместимого клиента и сервера SMB, позволяющей операционным системам, отличным от Windows, например Unix-подобным взаимодействовать операционным системам. Окна.
Начиная с версии 3 (2003 г.), Samba предоставляет службы файлов и печати для клиентов Microsoft Windows и может интегрироваться с доменом сервера Windows NT 4.0 либо в качестве основного контроллера домена (PDC), либо в качестве члена домена. Установки Samba4 могут выступать в качестве контроллера домена Active Directory или рядового сервера на домена и леса Windows 2008. функциональных уровнях [57]
Менеджеры пакетов в дистрибутивах Linux могут искать пакет cifs-utils . Пакет предоставлен сопровождающими Samba.
Нетсмб
[ редактировать ]NSMB (Netsmb и SMBFS) — это семейство реализаций клиента SMB в ядре в операционных системах BSD. Впервые он был добавлен в FreeBSD 4.4 Борисом Поповым и теперь встречается во многих других системах BSD, включая NetBSD и macOS . [58] С тех пор реализации существенно разошлись. [59]
Версия NSMB для macOS отличается общепринятой схемой представления символических ссылок. Этот формат «Minshall-French» отображает символические ссылки в виде текстовых файлов с расширением .symlink
расширение и Xsym\n
магическое число, всегда длиной 1067 байт. Этот формат также используется для хранения символических ссылок на собственных серверах SMB или в неподдерживаемых файловых системах. Samba поддерживает этот формат с помощью mfsymlink
вариант. [60] Docker в Windows, похоже, тоже его использует. [ нужна ссылка ]
НК
[ редактировать ]NQ — это семейство портативных реализаций клиентов и серверов SMB, разработанное Visuality Systems , израильской компанией, основанной в 1998 году Сэмом Видерманом, бывшим генеральным директором Siemens Data Communications. Семейство NQ включает встроенный стек SMB (написанный на C), SMB-клиент Pure Java и реализацию SMB-сервера хранилища. Все решения поддерживают новейший диалект SMB 3.1.1. NQ для Linux , NQ для WinCE , iOS, Android, VxWorks и другие операционные системы реального времени поддерживаются настраиваемым решением NQ.
МоСМБ
[ редактировать ]MoSMB — это расширенная реализация SMB в пользовательском пространстве для Linux. Он поддерживает SMB 2.x и SMB 3.x. Ключевые функции включают облачные масштабируемые кластеры «активный-активный», SMB Direct (RDMA), многоканальный SMB, прозрачное аварийное переключение и непрерывную доступность. MoSMB также поддерживает объектное хранилище S3 в качестве серверной части хранилища в дополнение к файловым системам POSIX, таким как ZFS, Lustre, Ceph и т. д. [61]
Общий доступ к файлам Fusion от Tuxera
[ редактировать ]Fusion File Share от Tuxera — это собственная реализация SMB-сервера, разработанная Tuxera , которую можно запускать как в ядре, так и в пользовательском пространстве . [62] Он поддерживает SMB 3.1.1 и все предыдущие версии, а также дополнительные расширенные функции SMB, такие как масштабирование непрерывной доступности (постоянные дескрипторы), RDMA (SMB Direct), многоканальность SMB, прозрачное сжатие, теневое копирование .
Так же
[ редактировать ]Аналогичным образом в 2009 году была разработана реализация CIFS/SMB (версии 1.0, 2.0, 2.1 и NFS 3.0), которая предоставила многопротокольную платформу с идентификацией для сетевого доступа к файлам, используемым в OEM- продуктах хранения данных, построенных на устройствах на базе Linux/Unix. Платформу можно использовать для традиционных устройств NAS, Cloud Gateway и Cloud Caching для обеспечения безопасного доступа к файлам в сети. Аналогично был куплен EMC Isilon в 2012 году.
КСМБД
[ редактировать ]KSMBD — это встроенная реализация сервера CIFS/SMB с открытым исходным кодом для ядра Linux. По сравнению с реализациями в пользовательском пространстве он обеспечивает более высокую производительность и упрощает реализацию некоторых функций, таких как SMB Direct. Он поддерживает SMB 3.1.1 и предыдущие версии.
Безопасность
[ редактировать ]За прошедшие годы в реализации Microsoft протокола или компонентов, от которых он напрямую зависит, появилось множество уязвимостей безопасности. [63] [64] Уязвимости безопасности других поставщиков заключаются в первую очередь в отсутствии поддержки новых протоколов аутентификации , таких как NTLMv2 и Kerberos, в пользу таких протоколов, как NTLMv1, LanMan или паролей в виде открытого текста . Отслеживание атак в реальном времени [65] показывает, что SMB является одним из основных векторов атак для попыток вторжения, [66] например, атака на Sony Pictures в 2014 году , [67] и атака программы-вымогателя WannaCry в 2017 году. [68] В 2020 году были обнаружены две высокосерьёзные уязвимости SMB, получившие название SMBGhost ( CVE-2020-0796 ) и SMBleed ( CVE-2020-1206 ), которые при объединении в цепочку могут предоставить RCE (удаленное выполнение кода) . злоумышленнику привилегию [69]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Обзор протокола Microsoft SMB и протокола CIFS» . Майкрософт . 22 октября 2009 года. Архивировано из оригинала 2 августа 2016 года . Проверено 10 апреля 2019 г.
- ^ Перейти обратно: а б «Концепции сети Lan Manager» . Поддерживать . Майкрософт. Архивировано из оригинала 30 декабря 2012 года . Проверено 18 сентября 2014 г.
- ^ Перейти обратно: а б с д Триджелл, Эндрю . «Мифы о самбе» . Архивировано из оригинала 20 октября 2017 года . Проверено 3 января 2016 г.
- ^ Перейти обратно: а б с «Общая файловая система Интернета» . Технический обзор веб-служб и служб приложений Windows 2000 . Майкрософт. 18 июля 2012 года. Архивировано из оригинала 30 января 2022 года . Проверено 30 января 2022 г. - через Microsoft Docs .
- ^ Коултер, Дэвид; Сатран, Майкл; Бэтчелор, Дрю (8 января 2021 г.). «Обзор протокола Microsoft SMB и протокола CIFS» . Разработка приложений для Windows . Майкрософт . Архивировано из оригинала 28 января 2022 года . Проверено 30 января 2022 г. - через Microsoft Docs .
- ^ Перейти обратно: а б Видеть:
- Хейзер, И.; Лич, П.; Перри, Д. (13 июня 1996 г.). «Общий протокол файловой системы Интернета (CIFS/1.0)» . Архивировано из оригинала 8 августа 2019 года.
- Лич, Пол Дж.; Наик, Дилип К. (3 января 1997 г.). «Вход в систему CIFS и сквозная аутентификация» . Архивировано из оригинала 31 мая 2024 года . Проверено 10 декабря 2017 г.
- Лич, Пол Дж.; Наик, Дилип К. (10 января 1997 г.). «Протокол браузера CIFS/E» . Архивировано из оригинала 31 мая 2024 года . Проверено 10 декабря 2017 г.
- Лич, Пол Дж.; Наик, Дилип К. (31 января 1997 г.). «Спецификация печати CIFS» . Архивировано из оригинала 31 мая 2024 года . Проверено 10 декабря 2017 г.
- Лич, Пол Дж.; Наик, Дилип К. (26 февраля 1997 г.). «Протокол удаленного администрирования CIFS» . Архивировано из оригинала 31 мая 2024 года . Проверено 10 декабря 2017 г.
- Лич, Пол Дж.; Наик, Дилип К. (19 декабря 1997 г.). «Протокол общей файловой системы Интернета (CIFS/1.0)» . Архивировано из оригинала 31 мая 2024 года . Проверено 10 декабря 2017 г.
- ^ «Обзор подписания блока сообщений сервера» . Устранение неполадок Windows-сервера . Майкрософт . 24 ноября 2021 года. Архивировано из оригинала 29 января 2022 года . Проверено 29 января 2022 г. - через Microsoft Docs .
- ^ Перейти обратно: а б Йоханссон, Йеспер М. (20 мая 2005 г.). «Как выстрелить себе в ногу с помощью охраны, часть 1» . Руководство по безопасности . Майкрософт . Архивировано из оригинала 19 октября 2018 года . Проверено 19 октября 2018 г. - через Microsoft Docs .
В этой статье рассматривается [...] подписание сообщений Server Message Block (SMB).
- ^ Баррето, Хосе (1 декабря 2010 г.). «Основы подписи SMB (охватывающие как SMB1, так и SMB2)» . Архив блога Хосе Баррето . Майкрософт . Архивировано из оригинала 2 декабря 2012 года — через Microsoft Docs .
Этот механизм безопасности в протоколе SMB помогает избежать таких проблем, как подделка пакетов и атаки «человек посередине». [...] Подпись SMB доступна во всех поддерживаемых в настоящее время версиях Windows, но по умолчанию она включена только на контроллерах домена. Это рекомендуется для контроллеров домена, поскольку SMB — это протокол, используемый клиентами для загрузки информации о групповой политике. Подписание SMB позволяет гарантировать, что клиент получает подлинную групповую политику.
- ^ «MSKB887429: Обзор подписывания блоков сообщений сервера» . Майкрософт . 30 ноября 2007 года. Архивировано из оригинала 20 ноября 2010 года . Проверено 24 октября 2012 г.
По умолчанию подпись SMB требуется для входящих сеансов SMB на контроллерах домена под управлением Windows Server 2003.
- ^ «Оппортунистические замки» . Майкрософт. 31 мая 2018 года. Архивировано из оригинала 19 августа 2021 года . Проверено 19 августа 2021 г.
- ^ «Все об оппортунистических блокировках» . Сфера ИТ . 2014. Архивировано из оригинала 19 августа 2021 года . Проверено 19 августа 2021 г.
- ^ Перейти обратно: а б с д и Хосе Баррето (9 декабря 2008 г.). «SMB2, полная переработка основного протокола удаленных файлов для Windows» . Блоги Microsoft о серверах и управлении. Архивировано из оригинала 12 января 2013 года . Проверено 1 ноября 2009 г.
- ^ Нил Карпентер (26 октября 2004 г.). «Производительность SMB/CIFS по каналам глобальной сети» . Майкрософт . Архивировано из оригинала 13 февраля 2020 года . Проверено 13 февраля 2020 г.
- ^ «Что нового в SMB в Windows Server» . Майкрософт . 31 августа 2016. Архивировано из оригинала 11 февраля 2017 года . Проверено 6 февраля 2017 г.
- ^ Марк Рабинович, Игорь Гохман. «Методы ускорения CIFS» (PDF) . Конференция разработчиков систем хранения данных, SNIA, Санта-Клара, 2009 г. Архивировано (PDF) из оригинала 30 сентября 2020 г. . Проверено 6 июля 2020 г.
- ^ Марк Рабинович. «Ускорение SMB2» (PDF) . Конференция разработчиков систем хранения данных, SNIA, Санта-Клара, 2011 г. Архивировано (PDF) из оригинала 31 мая 2024 г. . Проверено 6 июля 2020 г.
- ^ Скорость, Ричард. «Придется использовать SMB 1.0? Обновление Windows 10 за апрель 2018 года говорит НЕТ» . theregister.com . Архивировано из оригинала 18 февраля 2023 года . Проверено 18 февраля 2023 г.
- ^ Генни (15 июня 2017 г.). «Microsoft планирует деактивировать SMBv1 в Windows 10 V1709» . Born's Tech и Windows World . Архивировано из оригинала 18 февраля 2023 года . Проверено 18 февраля 2023 г.
- ^ Жире, Лоран (20 апреля 2022 г.). «Microsoft готовится отключить протокол SMB1 в Windows 11» . Турротт.com . Архивировано из оригинала 31 мая 2024 года . Проверено 18 февраля 2023 г.
- ^ Кристофер Хертель (1999). «SMB: протокол блокировки сообщений сервера» . Архивировано из оригинала 10 марта 2010 года . Проверено 1 ноября 2009 г.
- ^ «Описание Microsoft Windows Encryption Pack 1» . Майкрософт . 1 ноября 2006 г. Архивировано из оригинала 2 октября 2009 г. Проверено 1 ноября 2009 г.
- ^ «Указ президента США 13026» (PDF) . Правительство Соединенных Штатов . 1996. Архивировано (PDF) из оригинала 10 октября 2009 года . Проверено 1 ноября 2009 г.
- ^ Перейти обратно: а б «Прямой хостинг SMB через TCP/IP» . Майкрософт . 11 октября 2007. Архивировано из оригинала 26 марта 2011 года . Проверено 1 ноября 2009 г.
- ^ Киттл, Ральф (13 мая 2017 г.). «SMB1 — аудит активного использования с помощью анализатора сообщений» . Microsoft TechNet . Майкрософт. Архивировано из оригинала 28 марта 2019 года . Проверено 28 марта 2019 г.
- ^ «Устаревание SMB1. Вам следует планировать избавиться от этого старого диалекта SMB — Блог Хосе Баррето» . blogs.technet.microsoft.com . 21 апреля 2015 г. Архивировано из оригинала 21 мая 2017 г. Проверено 9 октября 2019 г.
- ^ «SMBv1 не устанавливается по умолчанию в Windows 10 Fall Creators Update и Windows Server версии 1709 и более поздних версий» . support.microsoft.com . Архивировано из оригинала 10 октября 2019 года . Проверено 9 октября 2019 г.
- ^ «WebNFS — Технический обзор» . Архивировано из оригинала 18 мая 2007 г.
- ^ Навджот Вирк и Прашант Прахалад (10 марта 2006 г.). «Что нового в SMB в Windows Vista» . Проверьте свои диски . Майкрософт . Архивировано из оригинала 5 мая 2006 года . Проверено 1 мая 2006 г.
- ^ Протокол блока сообщений сервера (SMB) версий 2 и 3 . Протоколы Windows. Открытые спецификации (Технический отчет). Документы Майкрософт . Майкрософт . МС-СМБ2 . Проверено 29 ноября 2020 г.
- ^ «Samba 3.5.0 доступна для скачивания» . Архивировано из оригинала 24 июля 2011 года . Проверено 8 июля 2011 г.
- ^ «Samba 3.6.0 доступна для скачивания» . Архивировано из оригинала 24 сентября 2011 года . Проверено 10 августа 2011 г.
- ^ Протокол NFS версии 4 . Декабрь 2000 г. doi : 10.17487/RFC3010 . РФК 3010 .
- ^ Перейти обратно: а б Эран, Дэниел (11 июня 2013 г.). «Apple переходит от совместного использования файлов AFP к SMB2 в OS X 10.9 Mavericks» . Appleinsider.com. Архивировано из оригинала 12 февраля 2017 года . Проверено 12 января 2014 г.
- ^ Воган, Стивен Дж. (28 октября 2013 г.). «Проблема Mavericks SMB2 и ее исправления» . ЗДНет. Архивировано из оригинала 5 января 2014 года . Проверено 12 января 2014 г.
- ^ МакПарк. «10.9: Переключите стек SMB на использование SMB1 по умолчанию» . Советы по Mac OS X. macworld.com. Архивировано из оригинала 12 января 2014 года . Проверено 12 января 2014 г.
- ^ Тофер Кесслер (23 марта 2011 г.). «Попрощайтесь с Samba в OS X» . CNET. Архивировано из оригинала 15 января 2014 года . Проверено 12 января 2014 г.
- ^ Том Холверда (26 марта 2011 г.). «Apple отказывается от SAMBA в пользу отечественной замены» . Архивировано из оригинала 2 ноября 2013 года . Проверено 12 января 2014 г.
- ^ «Linux 3.7 — новички в ядре Linux» . Архивировано из оригинала 11 сентября 2016 года . Проверено 4 сентября 2016 г.
- ^ «Внедрение решения по централизации данных конечных пользователей» . Майкрософт . 21 октября 2009 г. стр. 10–11. Архивировано из оригинала 6 сентября 2010 года . Проверено 2 ноября 2009 г.
- ^ Перейти обратно: а б с Джеффри Сновер (19 апреля 2012 г.). «SMB 2.2 теперь является SMB 3.0» . Блог Windows Server . Архивировано из оригинала 8 июля 2020 года . Проверено 6 июля 2020 г.
- ^ Челсио Коммуникейшнз (2 апреля 2013 г.). «40G SMB Direct» . Архивировано из оригинала 7 сентября 2013 года . Проверено 18 июня 2013 г.
- ^ Хосе Баррето (19 октября 2012 г.). «Руководство SNIA по протоколу SMB» (PDF) . Ассоциация производителей сетей хранения данных . Архивировано (PDF) оригинала 3 июня 2013 г. Проверено 28 ноября 2012 г.
- ^ Томас Пфеннинг. «Будущее файловых протоколов: SMB 2.2 в центрах обработки данных» (PDF) . Архивировано из оригинала (PDF) 20 июля 2012 г.
- ^ Йоргенсен, Клаус (7 июня 2012 г.). «Прозрачное аварийное переключение SMB – постоянная доступность общих файловых ресурсов» . Microsoft TechNet . Архивировано из оригинала 11 января 2019 года . Проверено 1 февраля 2017 г.
- ^ Сэвилл, Джон (21 августа 2012 г.). «Новые способы обеспечения высокой доступности общих файловых ресурсов» . Windows ИТ-специалист . Архивировано из оригинала 27 ноября 2016 года . Проверено 1 февраля 2017 г.
- ^ «Усовершенствования безопасности малого и среднего бизнеса» . Майкрософт Технет. 15 января 2014. Архивировано из оригинала 9 октября 2014 года . Проверено 18 июня 2014 г.
- ^ Хосе Баррето (5 мая 2013 г.). «Обновленные ссылки на файловом сервере Windows Server 2012 и SMB 3.0» . Блоги Microsoft TechNet о серверах и управлении. Архивировано из оригинала 3 августа 2016 года . Проверено 14 августа 2016 г.
- ^ Хосе Баррето (7 июля 2014 г.). «Обновленные ссылки на файловом сервере Windows Server 2012 R2 и SMB 3.02» . Блоги Microsoft TechNet о серверах и управлении. Архивировано из оригинала 26 августа 2016 года . Проверено 14 августа 2016 г.
- ^ Хосе Баррето (12 декабря 2013 г.). «Конференция разработчиков систем хранения данных — слайды SDC 2013 теперь общедоступны. Вот ссылки на слайды Microsoft…» . Блоги Microsoft TechNet о серверах и управлении. Архивировано из оригинала 26 августа 2016 года . Проверено 14 августа 2016 г.
- ^ Эрик Гейер (5 декабря 2013 г.). «WindowsNetworking.com: улучшения в обновлениях протоколов SMB 3.0 и 3.02» . WindowsNetworking.com . Архивировано из оригинала 9 апреля 2015 года . Проверено 6 апреля 2015 г.
- ^ Хосе Баррето (30 апреля 2015 г.). «Сетевые ссылки SMB3 для Windows Server 2012 R2» . Блоги Microsoft TechNet о серверах и управлении. Архивировано из оригинала 26 августа 2016 года . Проверено 14 августа 2016 г.
- ^ Хосе Баррето (5 мая 2015 г.). «Что нового в SMB 3.1.1 в технической предварительной версии 2 Windows Server 2016» . Блоги Microsoft TechNet о серверах и управлении. Архивировано из оригинала 8 октября 2016 года . Проверено 14 августа 2016 г.
- ^ «Улучшения безопасности SMB» . Microsoft Learn. Архивировано из оригинала 10 апреля 2023 г. Проверено 10 апреля 2023 г.
- ^ «Протоколы Windows» . Архивировано из оригинала 26 сентября 2009 года . Проверено 13 октября 2009 г.
- ^ Триджелл, Эндрю (27 июня 1997 г.). «Немного истории и немного веселья» . Архивировано из оригинала 17 июля 2011 года . Проверено 26 июля 2011 г.
- ^ «Самба 4 функциональных уровня» . 25 февраля 2011. Архивировано из оригинала 29 июля 2014 года . Проверено 12 января 2014 г.
- ^ "netsmb(4)" . Страницы руководства по NetBSD 8.0 . Архивировано из оригинала 17 ноября 2022 года . Проверено 5 января 2020 г.
- ^ FreeBSD по форматам файлов Руководство . –
- ^ «Расширения UNIX» . СамбаВики . Архивировано из оригинала 12 июня 2020 года . Проверено 15 марта 2020 г.
- ^ Суну Инженер. «Создание высокомасштабируемого и производительного сервера протокола SMB» (PDF) . Архивировано (PDF) из оригинала 27 сентября 2016 г. Проверено 25 сентября 2016 г.
- ^ «Microsoft и Tuxera укрепляют партнерство с помощью Tuxera SMB Server» . Майкрософт . Центр новостей Майкрософт. 14 сентября 2016 г. Архивировано из оригинала 17 ноября 2016 г. . Проверено 6 февраля 2017 г.
- ^ «MS02-070: Ошибка в подписи SMB может позволить изменить групповую политику» . Майкрософт . 1 декабря 2007 года. Архивировано из оригинала 8 октября 2009 года . Проверено 1 ноября 2009 г.
- ^ «MS09-001: Уязвимости в SMB делают возможным удаленное выполнение кода» . Майкрософт . 13 января 2009 года. Архивировано из оригинала 5 октября 2009 года . Проверено 1 ноября 2009 г. ,
- ^ «Sicherheitstacho.eu» . Дойче Телеком . 7 марта 2013. Архивировано из оригинала 8 марта 2013 года . Проверено 7 марта 2013 г.
- ^ «Оповещение (TA14-353A) Целевое деструктивное вредоносное ПО» . США-СЕРТ . Архивировано из оригинала 20 декабря 2014 года . Проверено 20 декабря 2014 г.
- ^ «Хакеры Sony использовали инструмент-червь Server Message Block (SMB)» . 19 декабря 2014 года. Архивировано из оригинала 20 декабря 2014 года . Проверено 20 декабря 2014 г.
- ^ «Атака программы-вымогателя WannaCry поразила жертв с помощью эксплойта Microsoft SMB» . электронная неделя . Проверено 13 мая 2017 г.
- ^ «Описание SMBleedingGhost: объединение SMBleed (CVE-2020-1206) с SMBGhost» . Блог ZecOps . 09.06.2020. Архивировано из оригинала 27 ноября 2020 г. Проверено 19 ноября 2020 г.
Дальнейшее чтение
[ редактировать ]Спецификации для малого и среднего бизнеса
[ редактировать ]- «[MS-CIFS]: протокол общей файловой системы Интернета (CIFS)» . Открытые спецификации . Майкрософт . 30 октября 2020 г.
- Определяет протокол общей файловой системы Интернета (CIFS), кросс-платформенный, независимый от транспорта протокол, который предоставляет клиентским системам механизм использования файловых служб и служб печати, доступных серверным системам по сети.
- «[MS-SMB]: протокол блока сообщений сервера (SMB)» . Открытые спецификации . Майкрософт . 25 июня 2021 г.
- Указывает протокол блока сообщений сервера (SMB), который определяет расширения существующей спецификации общей файловой системы Интернета (CIFS), реализованной Microsoft с момента публикации спецификации CIFS.
- «[MS-SMB2]: протокол блока сообщений сервера (SMB) версий 2 и 3» . Открытые спецификации . Майкрософт . 14 декабря 2021 г.
- Указывает протокол блокировки сообщений сервера (SMB) версий 2 и 3, которые поддерживают совместное использование файлов и ресурсов печати между компьютерами и расширяют концепции протокола блокировки сообщений сервера.
- «[MS-SMBD]: Транспортный протокол удаленного прямого доступа к памяти (RDMA) SMB2» . Открытые спецификации . Майкрософт . 25 июня 2021 г.
- Указывает транспортный протокол удаленного прямого доступа к памяти (RDMA) SMB2, оболочку для существующего протокола SMB2, которая позволяет доставлять пакеты SMB2 через транспорты с поддержкой RDMA, такие как iWARP или Infiniband, при этом используя возможности прямого размещения данных (DDP) этих транспортов. . Преимущества включают снижение нагрузки на ЦП, меньшую задержку и улучшенную пропускную способность.
Разнообразный
[ редактировать ]- Хертель, Кристофер (2003). Реализация CIFS — Общая файловая система Интернета. Архивировано 2 февраля 2004 г. на Wayback Machine . Прентис Холл. ISBN 0-13-047116-X . (Текст доступен по лицензии Open Publication License , версии 1.0 или новее, доступен по ссылке выше.)
- Стивен М. Френч, Рождение новой сетевой файловой системы: сравнение SMB2, CIFS и NFS. Архивировано 7 сентября 2012 г. на Wayback Machine , симпозиум Linux 2007 г.
- Стив Френч, Будущее файловых протоколов: SMB2 встречает Linux. Архивировано 17 августа 2018 г. на Wayback Machine , Linux Collaboration Summit 2012.