Как обнаруживать, включать и отключать SMBv1, SMBv2 и SMBv3 в Windows
Применимо к: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 11, Windows 10, Windows 8.1 Windows 8
В этой статье описывается, как включить и отключить серверный блок сообщений (SMB) версии 1 (SMBv1), SMB версии 2 (SMBv2) и SMB версии 3 (SMBv3) в клиентских и серверных компонентах SMB.
Хотя отключение или удаление SMBv1 может вызвать некоторые проблемы совместимости со старыми компьютерами или программным обеспечением, SMBv1 имеет значительные уязвимости системы безопасности, и мы настоятельно рекомендуем не использовать его. SMB 1.0 не устанавливается по умолчанию ни в одном выпуске Windows 11 или Windows Server 2019 и более поздних версий. SMB 1.0 также не устанавливается по умолчанию в Windows 10, за исключением выпусков Home и Pro. Вместо переустановки SMB 1.0 рекомендуется обновить сервер SMB, который по-прежнему требуется. Список третьих лиц, которым требуется SMB 1.0, и их обновления, которые удаляют это требование, см. в Клиринговой палате продуктов SMB1.
Отключение SMBv2 или SMBv3 для устранения неполадок
Мы рекомендуем оставить SMBv2 и SMBv3 включенными, но может оказаться полезным временно отключить один из них для устранения неполадок. Дополнительные сведения см. в статье Как определить состояние, включить и отключить протоколы SMB на сервере SMB.
В Windows 10 Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012 отключение SMBv3 приводит к отключению следующих функций:
- Прозрачная отработка отказа — клиенты повторно подключались к узлам кластера без прерывания во время обслуживания или отработки отказа.
- Scale Out — одновременный доступ к общим данным на всех узлах файлового кластера.
- Multichannel — агрегирование пропускной способности сети и отказоустойчивости, если между клиентом и сервером доступно несколько путей.
- SMB Direct — добавлена поддержка сети RDMA для обеспечения высокой производительности с низкой задержкой и низкой загрузкой ЦП.
- Шифрование — обеспечивает сквозное шифрование и защищает от перехвата в ненадежных сетях.
- Аренда каталогов — сокращает время отклика приложений в филиалах за счет кэширования.
- Оптимизация производительности — оптимизация для небольших случайных операций чтения и записи ввода-вывода
В Windows 7 и Windows Server 2008 R2 отключение SMBv2 приводит к отключению следующих функций:
- Составные запросы — позволяет отправлять несколько запросов SMBv2 в виде одного сетевого запроса.
- Большие операции чтения и записи — лучшее использование более быстрых сетей
- Кэширование свойств папок и файлов — клиенты сохраняют локальные копии папок и файлов.
- Устойчивые дескрипторы — позволяют прозрачно повторно подключаться к серверу при временном отключении.
- Улучшенная подпись сообщений — HMAC SHA-256 заменяет MD5 как алгоритм хэширования
- Улучшенная масштабируемость общего доступа к файлам — количество пользователей, общих папок и открытых файлов на сервер значительно увеличилось.
- Поддержка символических ссылок
- Модель аренды клиента oplock — ограничивает передачу данных между клиентом и сервером, повышая производительность в сетях с высокой задержкой и увеличивая масштабируемость сервера SMB.
- Поддержка больших MTU — для полного использования 10-гигабитной сети Ethernet (GbE)
- Улучшенная энергоэффективность — клиенты с открытыми файлами на сервере могут переходить в спящий режим.
Протокол SMBv2 появился в Windows Vista и Windows Server 2008, а протокол SMBv3 появился в Windows 8 и Windows Server 2012. Дополнительные сведения о возможностях SMBv2 и SMBv3 см. в следующих статьях:
Удаление SMBv1 с помощью PowerShell
Ниже приведены действия по обнаружению, отключению и включению клиента и сервера SMBv1 с помощью команд PowerShell с повышением прав.
Примечание
Компьютер перезагрузится после выполнения команд PowerShell, чтобы отключить или включить SMBv1.
Обнаружить:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Отключите:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Включите параметр
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Совет
Вы можете определить состояние SMBv1 без повышения прав, выполнив команду : Get-SmbServerConfiguration | Format-List EnableSMB1Protocol
.
Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: метод диспетчер сервера
Чтобы удалить SMBv1 из Windows Server, выполните приведенные далее действия.
- На панели мониторинга диспетчер сервера сервера, с которого требуется удалить SMBv1, в разделе Настройка этого локального сервера выберите Добавить роли и компоненты.
- На странице Перед началом работы выберите Запустить мастер удаления ролей и компонентов, а затем на следующей странице нажмите кнопку Далее.
- На странице Выбор целевого сервера в разделе Пул серверов убедитесь, что выбран сервер, с которого требуется удалить компонент, и нажмите кнопку Далее.
- На странице Удаление ролей сервера нажмите кнопку Далее.
- На странице Удаление компонентов снимите флажок проверка для поддержки общего доступа к файлам SMB 1.0/CIFS и нажмите кнопку Далее.
- На странице Подтверждение выбора удаления убедитесь, что эта функция указана, а затем нажмите кнопку Удалить.
Windows 8.1, Windows 10 и Windows 11: метод добавления и удаления программ
Чтобы отключить SMBv1 для упомянутых операционных систем, выполните следующие действия.
- Откройте Панель управления, выберите раздел Программы и компоненты.
- В разделе панель управления Главная выберите Включить или выключить компоненты Windows, чтобы открыть поле Компоненты Windows.
- В поле Компоненты Windows прокрутите список вниз, снимите флажок проверка для поддержки общего доступа к файлам SMB 1.0/CIFS и нажмите кнопку ОК.
- После того как Windows применит изменение, на странице подтверждения выберите Перезапустить сейчас.
Определение состояния, включение и отключение протоколов SMB
Примечание
При включении или отключении SMBv2 в Windows 8 или Windows Server 2012 SMBv3 также включается или отключается. Такое поведение происходит потому, что эти протоколы используют один и тот же стек.
Windows 8 и Windows Server 2012 появился новый командлет Set-SMBServerConfiguration Windows PowerShell. Командлет позволяет включить или отключить протоколы SMBv1, SMBv2 и SMBv3 в серверном компоненте.
После выполнения командлета Set-SMBServerConfiguration не нужно перезагружать компьютер.
SMBv1;
Обнаружить:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
Отключите:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Включите параметр
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Дополнительные сведения см. в разделе Хранилище сервера в Корпорации Майкрософт.
SMB версии 2/v3
Обнаружить:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
Отключите:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Включите параметр
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Для Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008
Чтобы включить или отключить протоколы SMB на сервере SMB под управлением Windows 7, Windows Server 2008 R2, Windows Vista или Windows Server 2008, используйте редактор Windows PowerShell или реестра.
Дополнительные методы PowerShell
Примечание
Для этого метода требуется PowerShell 2.0 или более поздней версии.
SMBv1 на сервере SMB
Обнаружить:
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Конфигурация по умолчанию = включено (именованное значение реестра не создается), поэтому значение SMB1 не будет возвращено.
Отключите:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
Включите параметр
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
Примечание После внесения этих изменений необходимо перезагрузить компьютер. Дополнительные сведения см. в разделе Хранилище сервера в Корпорации Майкрософт.
SMBv2/v3 на сервере SMB
Обнаружить:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Отключите:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
Включите параметр
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force
Примечание
После внесения этих изменений необходимо перезагрузить компьютер.
Редактор реестра
Важно!
Внимательно выполните действия, описанные в этом разделе. Неправильное изменение реестра может привести к серьезным проблемам. Перед внесением изменений создайте резервную копию реестра для его восстановления в случае возникновения проблем.
Чтобы включить или отключить SMBv1 на сервере SMB, настройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)
Чтобы включить или отключить SMBv2 на сервере SMB, настройте следующий раздел реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB2
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)
Примечание
После внесения этих изменений компьютер необходимо перезагрузить.
Отключение SMBv1 с помощью групповая политика
В этом разделе описывается, как использовать групповая политика для отключения SMBv1. Этот метод можно использовать в разных версиях Windows.
SMBv1;
Эта процедура настраивает следующий новый элемент в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Запись реестра: SMB1
- REG_DWORD: 0 = отключено
Чтобы использовать групповая политика для настройки, выполните следующие действия.
Откройте Консоль управления групповыми политиками. Щелкните правой кнопкой мыши объект групповой политики (GPO), который должен содержать новый элемент настройки, а затем щелкните Изменить.
В дереве консоли в разделе Конфигурация компьютера разверните папку Параметры , а затем — папку Параметры Windows .
Щелкните правой кнопкой мыши узел Реестр , наведите указатель на пункт Создать и выберите Элемент реестра.
В диалоговом окне Новые свойства реестра выберите следующее:
- Действие: Создать
- Hive: HKEY_LOCAL_MACHINE
- Путь к ключу: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Имя значения: SMB1
- Тип значения: REG_DWORD
- Данные значения: 0
Эта процедура отключает компоненты сервера SMBv1. Эта групповая политика должна применяться ко всем необходимым рабочим станциям, серверам и контроллерам домена в домене.
Примечание
Фильтры WMI также можно настроить для исключения неподдерживаемых операционных систем или выбранных исключений, таких как Windows XP.
Важно!
Будьте внимательны при внесении этих изменений на контроллерах домена, на которых устаревшим системам Windows XP или более старым версиям Linux и сторонним системам (которые не поддерживают SMBv2 или SMBv3) требуется доступ к SYSVOL или другим файловым ресурсам, в которых отключается SMB версии 1.
Аудит использования SMBv1
Чтобы определить, какие клиенты пытаются подключиться к серверу SMB с помощью SMBv1, можно включить аудит в Windows Server 2016, Windows 10 и Windows Server 2019. Вы также можете выполнять аудит в Windows 7 и Windows Server 2008 R2, если установлено ежемесячное обновление за май 2018 г., а также на Windows 8.1 и Windows Server 2012 R2, если установлено ежемесячное обновление за июль 2017 г.
Включите параметр
Set-SmbServerConfiguration -AuditSmb1Access $true
Отключите:
Set-SmbServerConfiguration -AuditSmb1Access $false
Обнаружить:
Get-SmbServerConfiguration | Select AuditSmb1Access
Если аудит SMBv1 включен, в журнале событий Microsoft-Windows-SMBServer\Audit отображается событие 3000, определяющее каждого клиента, который пытается подключиться к SMBv1.
Сводка
Если все параметры находятся в одном объекте групповой политики, групповая политика Management отображает следующие параметры.
Тестирование и проверка
После завершения действий по настройке, описанных в этой статье, разрешите политике репликацию и обновление. При необходимости для тестирования запустите gpupdate /force в командной строке, а затем проверьте целевые компьютеры, чтобы убедиться, что параметры реестра применены правильно. Убедитесь, что SMBv2 и SMBv3 работают для всех других систем в среде.
Примечание
Не забудьте перезапустить целевые системы.