Блок сообщений сервера

редактировать
Протокол сетевой связи для обеспечения общего доступа к ресурсам

В компьютерных сетях, Блок сообщений сервера (SMB ), одна версия которого также была известна как Общая файловая система Интернета (CIFS ), это протокол связи для обеспечения общего доступа к файлам, принтерам и последовательным портам между узлами в сети. Он также обеспечивает механизм межпроцессного взаимодействия с аутентификацией. В большинстве случаев SMB используется на компьютерах под управлением Microsoft Windows, где он был известен как «Сеть Microsoft Windows» до появления Active Directory. Соответствующие службы Windows : LAN Manager Server для компонента server и рабочая станция LAN Manager для компонента client.

Contents

  • 1 Функции
  • 2 История
    • 2.1 SMB / CIFS / SMB1
    • 2.2 SMB 2.0
    • 2.3 SMB 2.1
    • 2.4 SMB 3.0
    • 2.5 SMB 3.0.2
    • 2.6 SMB 3.1.1
  • 3 Реализация
    • 3.1 Общие проблемы
      • 3.1.1 Проблемы с производительностью
      • 3.1.2 Модификации Microsoft
    • 3.2 Samba
    • 3.3 Netsmb
    • 3.4 NQ
    • 3.5 MoSMB
    • 3.6 Tuxera SMB
    • 3.7 Аналогично
    • 3.8 CIFSD
  • 4 Оппортунистическая блокировка
  • 5 Безопасность
  • 6 Технические характеристики
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки

Возможности

Блок сообщений сервера обеспечивает совместное использование файлов, просмотр сети, услуги печати и межпроцессное взаимодействие по сети.

Протокол SMB использует протоколы нижнего уровня для транспорта.

Протокол Microsoft SMB часто использовался с NetBIOS через TCP / IP (NBT) через UDP, используя номера портов 137 и 138, а также номера портов TCP 137 и 139. NBT для использования NetBIOS поддерживается в Windows Server 2003, Windows XP, Windows 2000, Windows NT и Windows Me / 98/95. NetBIOS не поддерживается в Windows Vista, Windows Server 2008 и последующих версиях Windows. Комбинация SMB / NBT обычно используется для обратной совместимости.

Протокол NetBIOS через NetBEUI обеспечивает поддержку NetBIOS для протокола NetBEUI. Этот протокол также называется кадры NetBIOS (NBF). NBF поддерживается в Windows 2000, Windows NT и Windows Me / 98/95. NetBEUI больше не поддерживается в Windows XP и более поздних версиях. Однако протокол SMB также может использоваться без отдельного транспортного протокола непосредственно через TCP, порт 445. NetBIOS также поддерживался несколькими устаревшими протоколами, такими как IPX / SPX.

. Система межпроцессного взаимодействия SMB (IPC) обеспечивает именованные каналы и был одним из первых межпроцессных механизмов, обычно доступных программистам, который предоставляет сервисам средства для наследования аутентификации, выполняемой при первом подключении клиента к серверу SMB.

Некоторые службы, которые работают через именованные каналы, например те, которые используют собственную реализацию Microsoft DCE / RPC через SMB, известную как MSRPC через SMB, также позволяют клиентским программам MSRPC выполнять аутентификацию, который отменяет авторизацию, предоставленную сервером SMB, но только в контексте клиентской программы MSRPC, которая успешно выполняет дополнительную аутентификацию.

Подпись SMB: Windows NT 4.0 с пакетом обновления 3 и выше имеет возможность использовать шифрование для цифровой подписи подключений SMB. Самый распространенный официальный термин - «подписание SMB». Другие официально использованные термины: «Подписи безопасности [SMB]», «Порядковые номера SMB» и «Подписание сообщений SMB». Подпись SMB может быть настроена индивидуально для входящих соединений SMB (обрабатываемых службой LanManServer) и исходящих соединений SMB (обрабатываемых службой LanManWorkstation). По умолчанию в Windows 98 и более поздних версиях используется условно подписать исходящие соединения, если сервер также поддерживает это, и откатить к неподписанному SMB, если это позволяют оба партнера. Настройка по умолчанию для контроллеров домена Windows начиная с Windows Server 2003 и более поздних версий - не разрешать откат для входящих подключений. Эту функцию также можно включить для любого сервера под управлением Windows NT 4.0 с пакетом обновления 3 или более поздней версии. Это защищает от атак типа "злоумышленник посередине" против клиентов, извлекающих свои политики с контроллеров домена при входе в систему.

SMB поддерживает гибкую блокировку - особый тип механизма блокировки - для файлов с целью повышения производительности.

SMB служит основой для реализации Распределенной файловой системы Microsoft.

История

SMB / CIFS / SMB1

изначально был разработан SMB в IBM в начале 1983 года с целью превратить DOS INT 21h доступ к локальным файлам в сетевой файловой системе. Microsoft внесла значительные изменения в наиболее часто используемую версию. Microsoft объединила протокол SMB с продуктом LAN Manager, который она начала разрабатывать для OS / 2 с 3Com примерно в 1990 году, и продолжила добавлять функции в протокол. в Windows для рабочих групп (c.1992) и в более поздних версиях Windows.

SMB изначально был разработан для работы поверх NetBIOS / NetBEUI API (обычно реализуется с помощью NBF, NetBIOS поверх IPX / SPX или NBT ). Начиная с Windows 2000, SMB по умолчанию работает с тонким слоем, аналогичным пакету сообщений сеанса службы сеансов NBT, поверх TCP, используя TCP-порт 445, а не TCP. порт 139 - функция, известная как «прямой хост SMB».

Windows Server 2003 и более старые устройства NAS изначально используют SMB1 / CIFS. SMB1 / CIFS - чрезвычайно болтливый протокол, поскольку он неэффективно использует сетевые ресурсы, особенно при передаче по дорогостоящим каналам глобальной сети. По оценкам Microsoft, SMB1 / CIFS составляет менее 10% сетевого трафика в средней корпоративной сети, но это по-прежнему значительный объем трафика. Одним из подходов к снижению неэффективности протокола является использование продуктов WAN Acceleration, таких как продукты Riverbed, Silver Peak или Cisco Systems. Лучший подход - просто отказаться от SMB1 / CIFS путем обновления серверной инфраструктуры, которая его использует. Сюда входят как устройства NAS, так и Windows Server 2003. В настоящее время наиболее эффективным методом определения трафика SMB1 / CIFS является использование инструмента сетевого анализатора, такого как Wireshark и т. Д., Для определения «говорящих» SMB1 / CIFS и последующего вывода из эксплуатации. или обновите их со временем. Microsoft также предоставляет инструмент аудита в Windows Server 2016, который можно использовать для отслеживания говорящих SMB1 / CIFS.

В 1996 году, когда Sun Microsystems анонсировала WebNFS, Microsoft выступила с инициативой по переименованию SMB в общую файловую систему Интернета (CIFS) и добавлены дополнительные функции, включая поддержку символических ссылок, жестких ссылок, файлов большего размера и первоначальную попытку поддержки прямых подключений через порт TCP 445, не требуя NetBIOS в качестве транспорта (в значительной степени экспериментальная работа, потребовавшая дальнейшей доработки). Microsoft представила некоторые частичные спецификации как Интернет-проекты в IETF, хотя срок действия этих представлений истек.

Microsoft «добавила SMB1 в список устаревших Windows Server 2012 R2 в июне 2013 года». В Windows Server 2016 и некоторых версиях Windows 10 Fall Creators Update по умолчанию SMB1 не установлен.

SMB 2.0

Microsoft представила новую версию протокола (SMB 2.0 или SMB2) с Windows Vista в 2006 году и Server 2008. Хотя протокол является проприетарным, его спецификация была опубликована, чтобы позволить другим системам взаимодействовать с операционными системами Microsoft, которые используют новый протокол.

SMB2 снижает «болтливость» протокола SMB 1.0 за счет уменьшения количества команд и подкоманды от сотни до девятнадцати. Он имеет механизмы для конвейерной обработки, то есть отправки дополнительных запросов до того, как поступит ответ на предыдущий запрос, тем самым повышая производительность по каналам с высокой задержкой. Он добавляет возможность объединять несколько действий в один запрос, что значительно сокращает количество круговых обращений, необходимых клиенту для обращения к серверу, в результате повышая производительность. SMB1 также имеет механизм сложения, известный как AndX, для объединения нескольких действий, но клиенты Microsoft редко используют AndX. Он также вводит понятие «надежных дескрипторов файлов»: они позволяют подключению к серверу SMB выдерживать кратковременные сбои в работе сети, что типично для беспроводной сети, без дополнительных затрат на повторное согласование нового сеанса.

SMB2 включает поддержку символических ссылок. Другие улучшения включают кэширование свойств файлов, улучшенное подписание сообщений с помощью алгоритма хеширования HMAC SHA-256 и лучшую масштабируемость за счет увеличения числа пользователей, общих ресурсов и открытых файлов на сервере, среди прочего. Протокол SMB1 использует 16-битные размеры данных, что, помимо прочего, ограничивает максимальный размер блока до 64 КБ. SMB2 использует 32- или 64-битные поля хранения и 128 бит в случае файловых дескрипторов, тем самым снимая предыдущие ограничения на размеры блоков, что повышает производительность при передаче больших файлов по быстрым сетям.

Windows Vista / Server 2008 и более поздние операционные системы используют SMB2 при обмене данными с другими машинами, которые также могут использовать SMB2. SMB1 продолжает использоваться для соединений со старыми версиями Windows, а также с решениями NAS различных поставщиков. Samba 3.5 также включает экспериментальную поддержку SMB2. Samba 3.6 полностью поддерживает SMB2, за исключением изменения пользовательских квот с помощью инструментов управления квотами Windows.

Когда был представлен SMB2, он принес ряд преимуществ по сравнению с SMB1 для сторонних разработчиков протоколов SMB. SMB1, первоначально разработанный IBM, был реконструирован, а позже стал частью широкого спектра операционных систем, отличных от Windows, таких как Xenix, OS / 2 и VMS (Pathworks ). X / Open частично стандартизировал его; у него также был проект стандартов IETF, срок действия которого истек. (Исторические подробности см. На http://ubiqx.org/cifs/Intro.html.) SMB2 также является относительно полным разрывом с прошлым. Код SMB1 от Microsoft должен работать с большим количеством клиентов и серверов SMB. SMB1 содержит множество версий информации для команд (выбор структуры, возвращаемой для конкретного запроса), поскольку такие функции, как поддержка Unicode, были модернизированы позже. SMB2 предполагает значительно сокращенное тестирование совместимости для разработчиков протокола. Код SMB2 имеет значительно меньшую сложность, поскольку существует гораздо меньшая изменчивость (например, пути кода, отличные от Unicode, становятся избыточными, поскольку SMB2 требует поддержки Unicode).

Apple также переходит на SMB2 (со своего собственного Apple Filing Protocol, теперь устаревшего) с OS X 10.9. Однако этот переход был чреват проблемами совместимости. Поддержка SMB2 по умолчанию появилась в OS X 10.7, когда Apple отказалась от Samba в пользу собственной реализации SMB под названием SMBX. Apple перешла на собственную реализацию SMBX после того, как Samba приняла GPLv3.

Клиентская файловая система CIFS ядра Linux имеет поддержку SMB2, начиная с версии 3.7.

SMB 2.1

SMB 2.1, представленный в Windows 7 и Server 2008 R2, привнес незначительные улучшения производительности с новым механизмом гибкой блокировки.

SMB 3.0

SMB 3.0 (ранее назывался SMB 2.2) с Windows 8 и Windows Server 2012. Он внес несколько существенных изменений, которые призваны добавить функциональность и улучшить производительность SMB2, в частности, в виртуализированных центрах обработки данных :

Он также вводит несколько улучшений безопасности, таких как сквозное шифрование и новое Алгоритм подписи на основе AES.

SMB 3.0.2

SMB 3.0.2 (в то время известный как 3.02) был представлен в Windows 8.1 и Windows Server 2012 R2; в этих и более поздних выпусках более раннюю версию SMB 1 можно дополнительно отключить для повышения безопасности.

SMB 3.1.1

SMB 3.1.1 был представлен в Windows 10 и Windows Server 2016. Эта версия поддерживает шифрование AES-128 GCM в дополнение к шифрованию AES-128 CCM, добавленному в SMB3, и реализует проверку целостности перед аутентификацией с использованием SHA -512 хеш. SMB 3.1.1 также делает обязательным безопасное согласование при подключении к клиентам, использующим SMB 2.x и выше.

Реализация

Общие проблемы

SMB работает по принципу клиент-сервер, когда клиент выполняет конкретные запросы, а сервер отвечает соответственно. Один раздел протокола SMB специально занимается доступом к файловым системам, так что клиенты могут делать запросы к файловому серверу ; но некоторые другие разделы протокола SMB специализируются на межпроцессном взаимодействии (IPC). Общий ресурс межпроцессного взаимодействия (IPC) или ipc $ - это общий сетевой ресурс на компьютерах под управлением Microsoft Windows. Этот виртуальный общий ресурс используется для облегчения связи между процессами и компьютерами по SMB, часто для обмена данными между компьютерами, которые прошли проверку подлинности.

Разработчики оптимизировали протокол SMB для использования в локальной подсети, но пользователи также заставили SMB работать для доступа к различным подсетям в Интернете - эксплойты с использованием совместного использования файлов или совместное использование печати в средах MS Windows обычно ориентировано на такое использование.

Серверы SMB делают свои файловые системы и другие ресурсы доступными для клиентов в сети. Клиентским компьютерам может потребоваться доступ к совместно используемым файловым системам и принтерам на сервере, и в этой основной функции SMB стал наиболее известным и широко используемым. Однако аспект файлового сервера SMB мало что значил бы без набора протоколов доменов NT, которые, по крайней мере, обеспечивают аутентификацию на основе доменов в стиле NT. Почти все реализации серверов SMB используют аутентификацию домена NT для проверки прав доступа пользователей к ресурсам.

Проблемы с производительностью

Использование протокола SMB часто коррелирует со значительным увеличением трафика широковещательной передачи в сети. Однако сам SMB не использует широковещательные рассылки - проблемы широковещания, обычно связанные с SMB, на самом деле возникают из-за протокола определения местоположения служб NetBIOS. По умолчанию сервер Microsoft Windows NT 4.0 использовал NetBIOS для рекламы и поиска служб. NetBIOS функционирует путем широковещательной передачи служб, доступных на определенном хосте, через равные промежутки времени. Хотя это обычно является приемлемым значением по умолчанию в сети с меньшим количеством хостов, увеличение широковещательного трафика может вызвать проблемы по мере увеличения количества хостов в сети. Реализация инфраструктуры разрешения имен в форме Windows Internet Naming Service (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. Мониторинг показывает высокую степень «болтливости» и игнорирование сетевых задержек между хостами. Например, соединение VPN через Интернет часто вызывает задержку в сети. Microsoft объяснила, что проблемы с производительностью возникают главным образом из-за того, что SMB 1.0 является блочным, а не протоколом потоковой передачи, который изначально был разработан для небольших локальных сетей ; он имеет размер блока, ограниченный 64 КБ, подписывание SMB создает дополнительные накладные расходы, а размер окна TCP не оптимизирован для каналов WAN. Решения этой проблемы включают обновленный протокол SMB 2.0, автономные файлы, масштабирование окна TCP и ускорение WAN устройств от различных сетевых поставщиков, которые кэшируют и оптимизируют SMB 1.0 и 2.0.

Модификации Microsoft

Microsoft добавила несколько расширений в свою собственную реализацию SMB. Например, он добавил NTLM, а затем протоколы аутентификации NTLMv2, чтобы устранить слабые места в безопасности в исходной аутентификации LAN Manager. Аутентификация LAN Manager была реализована на основе требования оригинальной устаревшей спецификации SMB использовать пароли IBM «LAN Manager», но реализована DES некорректным способом, что позволяло взламывать пароли. Позже была добавлена ​​аутентификация Kerberos. Протоколы входа в домен NT 4.0 изначально использовали 40-битное шифрование за пределами США из-за экспортных ограничений на более сильное 128-битное шифрование (впоследствии отмененное в 1996 г., когда президент Билл Клинтон подписал Указ 13026 ). Поддержка оппортунистических блокировок менялась с каждым выпуском сервера.

Samba

В 1991 году Эндрю Триджелл начал разработку Samba, повторной реализации бесплатного программного обеспечения (с использованием обратного проектирования ) сетевого протокола SMB / CIFS для Unix-подобных систем, первоначально для реализации сервера SMB, чтобы клиенты ПК, работающие с клиентом DEC Pathworks, могли доступ к файлам на машинах SunOS. Из-за важности протокола SMB для взаимодействия с широко распространенной платформой Microsoft Windows Samba стала популярной бесплатной реализацией совместимого клиента и сервера SMB, позволяющей использовать операционные системы, отличные от Windows., например, Unix-подобные операционные системы, для взаимодействия с Windows.

Начиная с версии 3 (2003), Samba предоставляет файловые службы и службы печати для клиентов Microsoft Windows и может интегрироваться с серверным доменом Windows NT 4.0 в качестве основного контроллера домена (PDC) или как член домена. Установки Samba4 могут выступать в качестве контроллера домена Active Directory или рядового сервера на функциональных уровнях домена Windows 2008 и леса.

Менеджеры пакетов в дистрибутивах Linux могут искать cifs-utils пакет. Пакет предоставлен разработчиками Samba.

Netsmb

NSMB (Netsmb и SMBFS) - это семейство встроенных в ядро ​​клиентских и серверных реализаций SMB в операционных системах BSD. Впервые он был добавлен во FreeBSD 4.4 Борисом Поповым, а теперь встречается во многих других системах BSD, включая NetBSD и macOS. С тех пор реализации значительно разошлись.

Версия NSMB для macOS примечательна своей теперь распространенной схемой представления символических ссылок. В этом «миншалло-французском» формате символические ссылки отображаются в виде текстовых файлов с расширением .symlinkи магическим числом Xsym \ n, всегда длиной 1067 байт. Этот формат также используется для хранения символических ссылок на простых серверах SMB или в неподдерживаемых файловых системах. Samba поддерживает этот формат с помощью параметра mfsymlink. Docker в Windows, похоже, тоже его использует.

NQ

NQ - это семейство портативных реализаций SMB-клиента и сервера, разработанное Visuality Systems, израильской компанией, основанной в 1998 году Сэм Видерман, бывший генеральный директор Siemens Data Communications. Семейство NQ включает встроенный стек SMB (написанный на C), клиент SMB на чистом Java и реализацию SMB-сервера хранилища. Все решения поддерживают последнюю версию диалекта SMB 3.1.1. NQ для Linux, NQ для WinCE, iOS, Android, VxWorks и другие операционные системы реального времени поддерживаются конфигурируемым решением NQ.

MoSMB

MoSMB - это проприетарная реализация SMB для Linux и других Unix-подобных систем, разработанная Ryussi Technologies. Он поддерживает только SMB 2.x и SMB 3.x.

Tuxera SMB

Tuxera SMB - это проприетарная реализация сервера SMB, разработанная Tuxera, которую можно запускать либо в ядро или пользовательское пространство. Он поддерживает SMB 3.1.1 и предыдущие версии.

Аналогично

Аналогичным образом разработали реализацию CIFS / SMB (версии 1.0, 2.0, 2.1 и NFS 3.0) еще в 2009 году, которая предоставила многопротокольную платформу с поддержкой идентификации для сетевого доступа к файлам, используемым в OEM-продукты для хранения данных, построенные на устройствах на базе Linux / Unix. Платформа может использоваться для традиционных NAS, облачных шлюзов и устройств облачного кэширования для обеспечения безопасного доступа к файлам в сети. Аналогичным образом был приобретен EMC Isilon в 2012 году.

CIFSD

CIFSD - это реализация встроенного сервера CIFS / SMB с открытым исходным кодом для ядра Linux. Он имеет следующие преимущества по сравнению с реализациями в пользовательском пространстве: он обеспечивает лучшую производительность и упрощает реализацию некоторых функций, таких как SMB Direct. Он поддерживает SMB 3.1.1 и предыдущие версии.

Оппортунистическая блокировка

В протоколе SMB гибкая блокировка - это механизм, предназначенный для повышения производительности за счет управления кэшированием сетевых файлов клиентом. В отличие от традиционных блокировок, OpLocks не являются строго блокировкой файлов и не используются для обеспечения взаимного исключения.

Существует четыре типа гибких блокировок:

Пакетные блокировки
Пакетные OpLocks были созданы изначально для поддержки определенного поведения операции выполнения пакетного файла DOS, при котором файл открывается и закрывается во многих случаях. раз за короткий период, что является проблемой производительности. Чтобы решить эту проблему, клиент может запросить OpLock типа «пакет». В этом случае клиент задерживает отправку запроса на закрытие, и если последующий запрос на открытие дается, два запроса отменяют друг друга.
OpLocks / Exclusive Locks уровня 1
Когда приложение открывается в «общий режим» - файл, размещенный на сервере SMB, который не открывается никаким другим процессом (или другими клиентами). Клиент получает эксклюзивный OpLock от сервера. Это означает, что теперь клиент может предполагать, что это единственный процесс, имеющий доступ к этому конкретному файлу, и теперь клиент может кэшировать все изменения в файле перед их фиксацией на сервере. Это улучшение производительности, так как для чтения и записи в файл требуется меньше циклов обработки. Если другой клиент / процесс пытается открыть тот же файл, сервер отправляет клиенту сообщение (называемое разрывом или отзывом), которое аннулирует монопольную блокировку, ранее предоставленную клиенту. Затем клиент сбрасывает все изменения в файл.
OpLocks уровня 2
Если исключительный OpLock удерживается клиентом, а заблокированный файл открывается третьей стороной, клиент должен отказаться его эксклюзивный OpLock, чтобы разрешить другому клиенту доступ для записи / чтения. Затем клиент может получить от сервера «OpLock уровня 2». OpLock уровня 2 позволяет кэшировать запросы чтения, но исключает кэширование записи.
OpLocks фильтра
Добавленные в NT 4.0, Oplocks фильтра аналогичны OpLock уровня 2, но предотвращают нарушения режима совместного использования файлов открыть и заблокировать прием. Microsoft рекомендует использовать фильтр OpLocks только там, где важно разрешить несколько считывателей и OpLock уровня 2 в других обстоятельствах.

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

Breaks
В отличие от "стандартного" поведения протокола SMB, запрос на прерывание может быть отправлен от сервера к клиенту. Он сообщает клиенту, что OpLock больше не действует. Это происходит, например, когда другой клиент хочет открыть файл способом, который делает недействительным OpLock. Затем первому клиенту отправляется прерывание OpLock и требуется отправить все свои локальные изменения (в случае пакетных или эксклюзивных OpLocks), если таковые имеются, и подтвердить прерывание OpLock. После этого подтверждения сервер может ответить второму клиенту согласованным образом.

Безопасность

За прошедшие годы в реализации протокола или компонентов, на которые он напрямую полагается, Microsoft обнаружила множество уязвимостей. Уязвимости системы безопасности других производителей заключаются в основном в отсутствии поддержки новых протоколов аутентификации, таких как NTLMv2 и Kerberos в пользу протоколов, таких как NTLMv1, LanMan или пароли в виде открытого текста. Отслеживание атак в реальном времени показывает, что SMB является одним из основных векторов атак для попыток вторжения, например, атака Sony Pictures 2014 г. и атака программы-вымогателя WannaCry 2017 г. были обнаружены две уязвимости SMB высокой степени серьезности, названные SMBGhost (CVE-2020-0796 ) и SMBleed (CVE-2020-1206 ), которые при объединении в цепочку могут предоставить злоумышленнику привилегию RCE (удаленное выполнение кода).

Спецификации

Спецификации SMB являются частными и изначально были закрыты, что вынуждает других поставщиков и проекты перепроектировать протокол для взаимодействия с ним. Протокол SMB 1.0 был в конечном итоге опубликован через некоторое время после его реинжиниринга, тогда как протокол SMB 2.0 с самого начала был предоставлен в Центре разработчиков открытых спецификаций Microsoft MSDN. Существует ряд спецификаций, относящихся к протоколу SMB:

  • [MS-CIFS]: протокол общей файловой системы Интернета (CIFS)
    • Определяет протокол общей файловой системы Интернета (CIFS), кроссплатформенный, транспортно-независимый протокол, который обеспечивает механизм для клиентских систем для использования файловых служб и служб печати, предоставляемых серверными системами по сети
  • [MS-SMB]: протокол блока сообщений сервера (SMB)
    • Определяет блок сообщений сервера ( SMB), который определяет расширения для существующей спецификации Common Internet File System (CIFS), которые были реализованы Microsoft с момента публикации спецификации CIFS.
  • [MS-SMB2]: версии протокола блока сообщений сервера (SMB) 2 и 3
    • Определяет версии 2 и 3 протокола блока сообщений сервера (SMB), которые поддерживают совместное использование файловых ресурсов и ресурсов печати между машинами и расширяют концепции протокола блока сообщений сервера.
  • [MS-SMBD]: SMB2 Remote Direct Memory Access (RDMA) Transport Pro tocol
    • Определяет транспортный протокол удаленного прямого доступа к памяти (RDMA) SMB2, оболочку для существующего протокола SMB2, которая позволяет доставлять пакеты SMB2 через транспортные средства с поддержкой RDMA, такие как iWARP или Infiniband, при использовании прямого размещения данных (DDP) возможности этих транспортов. Преимущества включают снижение нагрузки на ЦП, меньшую задержку и повышенную пропускную способность.
  • [MS-FSSO]: Обзор системы служб доступа к файлам (заархивированный документ статус)
    • Описывает предполагаемое функциональность системы служб доступа к файлам, как она взаимодействует с системами и приложениями, которым требуются файловые службы, и как она взаимодействует с административными клиентами для настройки и управления системой. Службы доступа к файлам используют несколько протоколов для доступа к файлам и администрирования файлового сервера. В этом документе перечислены эти протоколы и описано, как они используются для реализации системы служб доступа к файлам. Обзоры системы заменены более новыми.

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-08 01:22:48
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте