Server message block что это
Боремся с вирусами и инфраструктурой, или отключение SMB v1
В связи с недавной эпидемией шифровальщика WannaCry, эксплуатирующим уязвимость SMB v1, в сети снова появились советы по отключению этого протокола. Более того, Microsoft настоятельно рекомендовала отключить первую версию SMB еще в сентябре 2016 года. Но такое отключение может привести к неожиданным последствиям, вплоть до курьезов: лично сталкивался с компанией, где после борьбы с SMB перестали играть беспроводные колонки Sonos.
Специально для минимизации вероятности «выстрела в ногу» я хочу напомнить об особенностях SMB и подробно рассмотреть, чем грозит непродуманное отключение его старых версий.
SMB (Server Message Block) – сетевой протокол для удаленного доступа к файлам и принтерам. Именно он используется при подключении ресурсов через \servername\sharename. Протокол изначально работал поверх NetBIOS, используя порты UDP 137, 138 и TCP 137, 139. С выходом Windows 2000 стал работать напрямую, используя порт TCP 445. SMB используется также для входа в домен Active Directory и работы в нем.
Помимо удаленного доступа к ресурсам протокол используется еще и для межпроцессорного взаимодействия через «именованные потоки» – named pipes. Обращение к процессу производится по пути \.\pipe\name.
Первая версия протокола, также известная как CIFS (Common Internet File System), была создана еще в 1980-х годах, а вот вторая версия появилась только с Windows Vista, в 2006. Третья версия протокола вышла с Windows 8. Параллельно с Microsoft протокол создавался и обновлялся в его открытой имплементации Samba.
В каждой новой версии протокола добавлялись разного рода улучшения, направленные на увеличение быстродействия, безопасности и поддержки новых функций. Но при этом оставалась поддержка старых протоколов для совместимости. Разумеется, в старых версиях было и есть достаточно уязвимостей, одной из которых и пользуется WannaCry.
Версия | Операционная система | Добавлено, по сравнению с предыдущей версией |
SMB 2.0 | Windows Vista/2008 | Изменилось количество команд протокола со 100+ до 19 |
Возможность «конвейерной» работы – отправки дополнительных запросов до получения ответа на предыдущий | ||
Поддержка символьных ссылок | ||
Подпись сообщений HMAC SHA256 вместо MD5 | ||
Увеличение кэша и блоков записи\чтения | ||
SMB 2.1 | Windows 7/2008R2 | Улучшение производительности |
Поддержка большего значения MTU | ||
Поддержка службы BranchCache – механизм, кэширующий запросы в глобальную сеть в локальной сети | ||
SMB 3.0 | Windows 8/2012 | Возможность построения прозрачного отказоустойчивого кластера с распределением нагрузки |
Поддержка прямого доступа к памяти (RDMA) | ||
Управление посредством командлетов Powershell | ||
Поддержка VSS | ||
Подпись AES–CMAC | ||
Шифрование AES–CCM | ||
Возможность использовать сетевые папки для хранения виртуальных машин HyperV | ||
Возможность использовать сетевые папки для хранения баз Microsoft SQL | ||
SMB 3.02 | Windows 8.1/2012R2 | Улучшения безопасности и быстродействия |
Автоматическая балансировка в кластере | ||
SMB 3.1.1 | Windows 10/2016 | Поддержка шифрования AES–GCM |
Проверка целостности до аутентификации с использованием хеша SHA512 | ||
Обязательные безопасные «переговоры» при работе с клиентами SMB 2.x и выше |
Считаем условно пострадавших
Посмотреть используемую в текущий момент версию протокола довольно просто, используем для этого командлет Get–SmbConnection:
Вывод командлета при открытых сетевых ресурсах на серверах с разной версией Windows.
Из вывода видно, что клиент, поддерживающий все версии протокола, использует для подключения максимально возможную версию из поддерживаемых сервером. Разумеется, если клиент поддерживает только старую версию протокола, а на сервере она будет отключена – соединение установлено не будет. Включить или выключить поддержку старых версий в современных системах Windows можно при помощи командлета Set–SmbServerConfiguration, а посмотреть состояние так:
Выключаем SMBv1 на сервере с Windows 2012 R2.
Результат при подключении с Windows 2003.
Таким образом, при отключении старого, уязвимого протокола можно лишиться работоспособности сети со старыми клиентами. При этом помимо Windows XP и 2003 SMB v1 используется и в ряде программных и аппаратных решений (например NAS на GNU\Linux, использующий старую версию samba).
Производитель | Продукт | Комментарий |
Barracuda | SSL VPN | |
Web Security Gateway backups | ||
Canon | Сканирование на сетевой ресурс | |
Cisco | WSA/WSAv | |
WAAS | Версии 5.0 и старше | |
F5 | RDP client gateway | |
Microsoft Exchange Proxy | ||
Forcepoint (Raytheon) | «Некоторые продукты» | |
HPE | ArcSight Legacy Unified Connector | Старые версии |
IBM | NetServer | Версия V7R2 и старше |
QRadar Vulnerability Manager | Версии 7.2.x и старше | |
Lexmark | МФУ, сканирование на сетевой ресурс | Прошивки Firmware eSF 2.x и eSF 3.x |
Linux Kernel | Клиент CIFS | С 2.5.42 до 3.5.x |
McAfee | Web Gateway | |
Microsoft | Windows | XP/2003 и старше |
MYOB | Accountants | |
NetApp | ONTAP | Версии до 9.1 |
NetGear | ReadyNAS | |
Oracle | Solaris | 11.3 и старше |
Pulse Secure | PCS | 8.1R9/8.2R4 и старше |
PPS | 5.1R9/5.3R4 и старше | |
QNAP | Все устройства хранения | Прошивка старше 4.1 |
RedHat | RHEL | Версии до 7.2 |
Ricoh | МФУ, сканирование на сетевой ресурс | Кроме ряда моделей |
RSA | Authentication Manager Server | |
Samba | Samba | Старше 3.5 |
Sonos | Беспроводные колонки | |
Sophos | Sophos UTM | |
Sophos XG firewall | ||
Sophos Web Appliance | ||
SUSE | SLES | 11 и старше |
Synology | Diskstation Manager | Только управление |
Thomson Reuters | CS Professional Suite | |
Tintri | Tintri OS, Tintri Global Center | |
VMware | Vcenter | |
ESXi | Старше 6.0 | |
Worldox | GX3 DMS | |
Xerox | МФУ, сканирование на сетевой ресурс | Прошивки без ConnectKey Firmware |
Список взят с сайта Microsoft, где он регулярно пополняется.
Перечень продуктов, использующих старую версию протокола, достаточно велик – перед отключением SMB v1 обязательно нужно подумать о последствиях.
Все-таки отключаем
Если программ и устройств, использующих SMB v1 в сети нет, то, конечно, старый протокол лучше отключить. При этом если выключение на SMB сервере Windows 8/2012 производится при помощи командлета Powershell, то для Windows 7/2008 понадобится правка реестра. Это можно сделать тоже при помощи Powershell:
Или любым другим удобным способом. При этом для применения изменений понадобится перезагрузка.
Для отключения поддержки SMB v1 на клиенте достаточно остановить отвечающую за его работу службу и поправить зависимости службы lanmanworkstation. Это можно сделать следующими командами:
Для удобства отключения протокола по всей сети удобно использовать групповые политики, в частности Group Policy Preferences. С помощью них можно удобно работать с реестром.
Создание элемента реестра через групповые политики.
Чтобы отключить протокол на сервере, достаточно создать следующий параметр:
новый параметр: REG_DWORD c именем SMB1;
Создание параметра реестра для отключения SMB v1 на сервере через групповые политики.
Для отключения поддержки SMB v1 на клиентах понадобится изменить значение двух параметров.
Сначала отключим службу протокола SMB v1:
параметр: REG_DWORD c именем Start;
Обновляем один из параметров.
Потом поправим зависимость службы LanmanWorkstation, чтоб она не зависела от SMB v1:
параметр: REG_MULTI_SZ с именем DependOnService;
После применения групповой политики необходимо перезагрузить компьютеры организации. После перезагрузки SMB v1 перестанет использоваться.
Работает – не трогай
Как ни странно, эта старая заповедь не всегда полезна – в редко обновляемой инфраструктуре могут завестись шифровальщики и трояны. Тем не менее, неаккуратное отключение и обновление служб могут парализовать работу организации не хуже вирусов.
Расскажите, а вы уже отключили у себя SMB первой версии? Много было жертв?
Общие сведения о протоколе Microsoft SMB и протоколе CIFS
протокол smb — это протокол общего сетевого доступа к файлам, который реализован в microsoft Windows называется протоколом smb microsoft. Набор пакетов сообщений, определяющих конкретную версию протокола, называется диалектом. Протокол CIFS является разновидностью SMB. SMB и CIFS также доступны на виртуальных машинах, в нескольких версиях UNIX и других операционных системах.
Технический справочник по CIFS доступен по протоколу Microsoft Corporation в общем доступе к файлам в Интернете (CIFS).
Хотя основной целью является совместное использование файлов, дополнительные функциональные возможности протокола SMB Microsoft включают следующее:
В модели сети OSI протокол SMB (Майкрософт) чаще всего используется в качестве уровня приложения или протокола уровня представления, а также использует протоколы более низкого уровня для передачи. Протокол транспортного уровня, с которым чаще всего работает протокол Microsoft SMB, — это NetBIOS через TCP/IP (NBT). Однако протокол SMB (Майкрософт) также можно использовать без отдельного транспортного протокола. сочетание протоколов Microsoft SMB и NBT обычно используется для обеспечения обратной совместимости.
Протокол SMB Microsoft является реализацией клиент-сервер и состоит из набора пакетов данных, каждый из которых содержит запрос, отправленный клиентом, или ответ, отправленный сервером. Эти пакеты можно разделить на следующие категории:
Некоторые пакеты сообщений могут быть сгруппированы и отправлены в одной передаче, чтобы уменьшить задержку ответа и увеличить пропускную способность сети. Это называется «пакетной обработкой». в разделе » сценарий Exchange пакетов протокола smb microsoft » описывается пример сеанса протокола smb microsoft, который использует пакетную обработку пакетов.
SMB, CIFS и Samba: что это за протоколы и для чего они используются
Чтобы подключиться к Интернету, отправлять или получать файлы, важно, чтобы это было возможно с помощью ряда протоколов. В этой статье мы поговорим о трех из них. Мы собираемся объяснить, что такое SMB, CIFS и Samba протокол. Мы увидим, в чем их основные отличия и для чего каждый из них используется.
Что такое протокол SMB
Прежде всего мы собираемся объяснить, что Протокол SMB. Это одна из старейших программ, которая со временем открыла доступ к файлам и каталогам, а также к сетевым ресурсам. Он отвечает за обмен информацией между процессами системы. Он был создан IBM.
SMB означает Сервер Блок сообщение. Этот протокол клиент-сервер отвечает за управление доступом к этим файлам или каталогам. В частности, он был разработан в 1983 году. Он присутствовал в различных Windows операционных систем.
Сегодня этот протокол позволяет подключаться к более старым устройствам с предыдущими версиями Microsoft операционная система. Для обмена файлами два устройства должны сначала установить соединение. Отсюда протокол SMB позволяет клиенту подключаться к серверу.
В соответствии с тем, что мы упомянули, Microsoft решила удалить поддержку первой версии SMB 1.0. Это может позволить, например, проводить DDoS-атаки на компьютер.
Что такое протокол CIFS?
Но, конечно, это было не только изменение имени. Логично добавлены разные функции. Например, они добавили поддержку символических ссылок или жестких ссылок, большего размера файла.
Сегодня CIFS используется очень редко. Современные системы будут использовать SMB 2 или SMB 3. В основном последний, поскольку он находится в самых последних версиях, начиная с Windows 8. Можно сказать, что это обновления CIFS, которые соответствуют первой версии SMB.
Как работает Samba
Эта реализация была для UNIX-подобных систем. Мы можем использовать его в Linux, macOS или Unix, и таким образом они действуют как клиенты в сетях Windows. В данном случае его первоначальный выпуск был в 1992 году, хотя с течением времени у него были разные версии.
Вывод о различиях между SMB, CIFS и Samba
Так в чем же разница между SMB, CIFS и Samba? Мы можем сказать что SMB был первоначальным протоколом, появившимся в 1980-х годах. Он был создан IBM для обмена файлами и доступа к принтерам. Со временем были разные версии. В основном он использовался в Windows и DOS.
В свою очередь, CIFS так позже стала известна первоначальная версия SMB, когда Microsoft начала использовать ее в своих системах. У него были определенные реализации, позволяющие подключать несколько платформ, таких как Windows или Linux. Однако в настоящее время CIFS практически не используется. С другой стороны, мы можем найти последние версии SMB, такие как SMB 2 или SMB 3.
Наконец, самба это реализация вышеизложенного с открытым исходным кодом. Бесплатная реализация, позволяющая использовать его в различных системах, таких как Linux, macOS или Unix. При этом он был выпущен в начале 1990-х годов.
Общие сведения о совместном использовании файлов с помощью протокола SMB 3 в Windows Server
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
В этой статье описывается функция SMB 3 в Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012, а также практическое применение совершенно новой или обновленной функциональной возможности этой версии по сравнению с предыдущими, а также требования к оборудованию. SMB также является протоколом структуры для решений программно-определяемого центра обработки данных (SDDC), например для Локальных дисковых пространств, реплик хранилища и др. SMB версии 3.0 появился в Windows Server 2012 и постепенно улучшался в последующих выпусках.
Описание компонента
Протокол SMB — это сетевой протокол для общего доступа к файлам, который позволяет приложениям компьютера читать и записывать файлы, а также запрашивать службы серверных программ в компьютерной сети. Протокол SMB может использоваться поверх протокола TCP/IP или других сетевых протоколов. С помощью протокола SMB приложение (или использующий его пользователь) может получать доступ к файлам и другим ресурсам удаленного сервера. Это позволяет приложениям читать, создавать и обновлять файлы на удаленном сервере. SMB может также обмениваться данными с любой серверной программой, которая настроена на получение клиентских запросов SMB. SMB — это протокол структуры, который используется вычислительными технологиями программно-определяемых центров обработки данных (SDDC), такими как Локальные дисковые пространства и реплики хранилища. Дополнительные сведения см. в статье Windows Server software-defined datacenter (Программно-определяемый центр обработки данных Windows Server).
Практическое применение
В этом подразделе описан ряд способов использования нового протокола SMB 3.0.
Если вам нужно сэкономить дисковое пространство в общем файловом ресурсе SMB, рассмотрите возможность использования Синхронизации файлов Azure с включенным распределением по уровням облака. Благодаря этому вы сможете кэшировать часто используемые файлы локально и распределять редко используемые файлы по уровням облака, сохраняя пространство в локальном хранилище и поддерживая производительность. Дополнительные сведения см. в статье Планирование развертывания Синхронизации файлов Azure.
Новые и измененные функции
В следующих разделах описываются функциональные возможности, добавленные в SMB 3, и последующие обновления.
Функции, добавленные в Windows Server 2019 и Windows 10 версии 1809
Функции, добавленные в Windows Server версии 1709 и Windows 10 версии 1709
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Гостевой доступ к общим папкам отключен | Создать | Клиент SMB больше не разрешает следующие действия: доступ учетной записи гостя к удаленному серверу; откат к учетной записи гостя после ввода недопустимых учетных данных. Дополнительные сведения см. в статье Гостевой доступ в SMB2 отключен по умолчанию в Windows. |
Глобальное сопоставление SMB | Создать | Сопоставляет удаленную общую папку SMB с буквой диска, доступного всем пользователям на локальном узле, включая контейнеры. Это необходимо, чтобы включить операции ввода-вывода для контейнера в томе данных для прохода через удаленную точку подключения. Учтите, что при использовании глобального сопоставления SMB для контейнеров всем пользователям на узле контейнера предоставляется доступ к удаленной общей папке. Все приложения, работающие на узле контейнера, также получат доступ к сопоставленной удаленной общей папке. Дополнительные сведения см. в статье Container Storage Support with Cluster Shared Volumes (CSV), Storage Spaces Direct, SMB Global Mapping (Поддержка контейнера хранилища с общими томами кластера (CSV), Локальными дисковыми пространствами и глобальным сопоставлением SMB). |
Управление диалектом SMB | Создать | Теперь можно задать значения реестра, чтобы управлять минимальной (диалектом) и максимальной версией SMB. Дополнительные сведения см. в статье Controlling SMB Dialects (Управление диалектами SMB). |
Функции, добавленные в SMB 3.11 с Windows Server 2016 и Windows 10 версии 1607
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Шифрование SMB | Обновлено | Шифрование SMB 3.1.1 в режиме AES-GCM выполняется быстрее, чем подписывание SMB или шифрование SMB предыдущей версии с использованием AES-CCM. |
Кэширование каталогов | Создать | SMB 3.1.1 включает дополнительные возможности для кэширования каталогов. Клиенты Windows теперь могут кэшировать каталоги гораздо большего размера (приблизительно с 500 000 записей). Клиенты Windows могут выполнять запросы к каталогу, используя буферы размером в 1 МБ, чтобы сократить круговые пути и увеличить производительность. |
Целостность предварительной проверки подлинности | Создать | В SMB 3.1.1 целостность предварительной проверки подлинности обеспечивает улучшенную защиту от атак типа «злоумышленник в середине», при которых несанкционировано изменяются подключения SMB и сообщения проверки подлинности. Дополнительные сведения см. в статье SMB 3.1.1 Pre-authentication integrity in Windows 10 (Целостность предварительной проверки подлинности с SMB 3.1.1 в Windows 10). |
Улучшения в шифровании SMB | Создать | SMB 3.1.1 предоставляет механизм для согласования алгоритма шифрования при каждом соединении с вариантами для AES-128-CCM и AES-128-GCM. AES-128-GCM используется по умолчанию для новых версий Windows, в то время как для более старых версий продолжается использование AES-128-CCM. |
Поддержка последовательного обновления кластера | Создать | Позволяет последовательно обновлять кластер, используя SMB для поддержки различных максимальных версий SMB для кластеров в процессе обновления. Дополнительные сведения об обмене данными SMB с помощью различных версий (диалектов) протокола см. в статье Controlling SMB Dialects (Управление диалектами SMB). |
Поддержка клиентов SMB Direct в Windows 10 | Создать | Windows 10 Корпоративная, Windows 10 для образовательных учреждений и Windows 10 Pro для рабочих станций теперь предусматривают поддержку клиентов SMB Direct. |
Встроенная поддержка вызовов API FileNormalizedNameInformation | Создать | Добавлена встроенная поддержка для запросов нормализованного имени файла. Дополнительные сведения см. в статье о FileNormalizedNameInformation. |
Дополнительные сведения см. в статье What’s new in SMB 3.1.1 in the Windows Server 2016 Technical Preview 2 (Новые возможности SMB 3.1.1 в Windows Server 2016 (техническая версия 2)).
Возможности, добавленные в SMB 3.02 с Windows Server 2012 R2 и Windows 8.1
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Автоматическая повторная балансировка клиентов масштабируемого файлового сервера | Создать | Увеличивает масштабируемость и управляемость масштабируемых файловых серверов. Клиентские подключения SMB отслеживаются для каждого общего файлового ресурса (а не для каждого сервера), после чего клиенты перенаправляются в узел кластера с оптимальным доступом к тому, используемому общим файловым ресурсом. Это повышает производительность, снижая трафик перенаправления между узлами файлового сервера. Клиенты перенаправляются после начального подключения при перенастройке системы хранения данных кластера. |
Производительность в глобальной сети | Обновлено | В Windows 8.1 и Windows 10 улучшена работа CopyFile SRV_COPYCHUNK благодаря поддержке SMB при использовании проводника для удаленного копирования из одного расположения на удаленном компьютере в другую копию на том же сервере. Вы скопируете только небольшой объем метаданных через сеть (передается 1/2 КиБ на 16 МиБ данных файла). Это приводит к значительному увеличению производительности. Для SMB — это различие на уровне операционной системы и проводника. |
SMB Direct | Обновлено | Улучшает производительность нагрузок малого ввода-вывода, повышая эффективность при размещении нагрузок с малыми вводами-выводами (например, база данных оперативной обработки транзакций (OLTP) в виртуальной машине). Эти улучшения заметны при использовании более быстрых сетевых интерфейсов, таких как Ethernet 40 Гбит/с и InfiniBand 56 Гбит/с. |
Ограничения пропускной способности SMB | Создать | Теперь можно использовать Set-SmbBandwidthLimit, чтобы задать ограничения пропускной способности в трех категориях: VirtualMachine (трафик Hyper-V по протоколу SMB), LiveMigration (трафик динамической миграции Hyper-V по протоколу SMB) или по умолчанию (все остальные типы трафика SMB). |
Дополнительные сведения о новых и измененных функциях SMB в Windows Server 2012 R2 см. в статье What’s New in SMB in Windows Server (Новые возможности SMB в Windows Server).
Функции, добавленные в SMB 3.0 с Windows Server 2012 и Windows 8
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Прозрачная отказоустойчивость SMB | Создать | Позволяет администраторам обслуживать аппаратное и программное обеспечение узлов кластерного файлового сервера, не прерывая работу приложений сервера, хранящих данные в этих файловых ресурсах. Кроме того, при сбое оборудования или программного обеспечения в узле кластера клиенты SMB подключатся к другому узлу кластера, не прерывая работу приложений сервера, хранящих данные в этих файловых ресурсах. |
Масштабирование SMB | Создать | Поддержка нескольких экземпляров SMB на масштабируемом файловом сервере. С помощью версии 2 общих томов кластера (CSV) администраторы могут создавать файловые ресурсы, предоставляющие одновременный доступ к файлам данных с прямыми операциями ввода-вывода через все узлы кластера файлового сервера. Это улучшает использование пропускной способности сети и балансировку нагрузки клиентов файлового сервера, а также оптимизирует производительность серверных приложений. |
Технология SMB Multichannel | Создать | Обеспечивает агрегирование пропускной способности и отказоустойчивости сети, если доступно несколько путей между клиентом SMB и сервером. Это позволяет приложениям сервера использовать всю доступную пропускную способность сети и быть устойчивыми к сетевым сбоям. |
SMB Multichannel в SMB 3 вносит значительные улучшения в производительность по сравнению с предыдущими версиями SMB.
SMB Direct в SMB 3 вносит значительные улучшения в производительность по сравнению с предыдущими версиями SMB.
В SMB 3 реализация SMB в Windows изменена для улучшения поведения кэширования на клиенте, а также увеличения пропускной способности.
SMB 3 предусматривает улучшения для API CopyFile (), а также для связанных инструментов, таких как Robocopy, позволяя отправлять значительно больше данных через сеть.
Требования к оборудованию
Для обеспечения прозрачной отказоустойчивости SMB необходимо соблюдать следующие требования.
Клиенты нижнего уровня могут подключаться к общим папкам со свойством «Постоянная доступность», но для таких клиентов прозрачная отказоустойчивость не поддерживается.
Для поддержки многоканальности SMB необходимо соблюдать следующие требования.
Для поддержки прямой технологии SMB необходимо соблюдать следующие требования.
Дополнительные сведения
Следующий список содержит дополнительные ресурсы со сведениями о работе в сети по протоколу SMB и связанным технологиям в Windows Server 2012 R2, Windows Server 2012 и Windows Server 2016.