Как обнаруживать, включать и отключать SMBv1, SMBv2 и SMBv3 в Windows

применимо к: Windows Server 2022, Windows 10, Windows 8.1, Windows 8, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

В этой статье описывается, как включить и отключить протокол SMB версии 1 (SMBv1), SMB версии 2 (SMB) и SMB версии 3 (SMBv3) на клиентских и серверных компонентах SMB.

Хотя отключение или удаление SMBv1 может вызвать некоторые проблемы совместимости со старыми компьютерами или программами, SMBv1 имеет существенные уязвимости, и мы настоятельно рекомендуем не использовать ее.

Отключение SMB или SMBv3 для устранения неполадок

Мы рекомендуем включить протоколы SMB 2.0 и SMBv3, но может оказаться полезным временно отключить их для устранения неполадок. Дополнительные сведения см. в статье как определить состояние, включить и отключить протоколы SMB на сервере SMB.

в Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012, отключение SMBv3 деактивирует следующие функциональные возможности:

  • Прозрачная отработка отказа — клиенты повторно подключаются без прерывания узлов кластера во время обслуживания или отработки отказа
  • Scale Out одновременный доступ к общим данным на всех узлах кластеров файлов
  • Многоканальное агрегирование пропускной способности сети и отказоустойчивости при наличии нескольких путей между клиентом и сервером
  • SMB Direct — добавляет поддержку сети RDMA для обеспечения высокой производительности с низкой задержкой и низким использованием ЦП.
  • Шифрование — обеспечивает сквозное шифрование и защищает от перехвата в ненадежных сетях.
  • Аренда каталога — улучшает время отклика приложений в филиалах за счет кэширования
  • Оптимизация производительности — оптимизация для небольшого случайного чтения и записи ввода-вывода

в Windows 7 и Windows Server 2008 R2 отключение 2.0 отключает следующие функции:

  • Составной запрос — позволяет отправлять несколько запросов SMB в виде одного сетевого запроса.
  • Большие операции чтения и записи — лучшее использование более быстрых сетей.
  • Кэширование свойств папок и файлов — клиенты сохраняют локальные копии папок и файлов
  • Устойчивые дескрипторы. разрешение на прозрачное повторное подключение к серверу при наличии временного отключения
  • Улучшенная подпись сообщения — HMAC SHA-256 заменяет MD5 как алгоритм хеширования
  • Улучшенная масштабируемость общего доступа к файлам — число пользователей, общих папок и открытых файлов на сервере значительно увеличилось.
  • Поддержка символьных ссылок
  • Модель нежесткой аренды клиента — ограничивает данные, передаваемые между клиентом и сервером, повышая производительность в сетях с высокой задержкой и повышая масштабируемость сервера SMB.
  • Поддержка большого MTU — для полного использования 10 Gigabit Ethernet (GbE)
  • Повышение эффективности энергопотребления — клиенты, которые имеют открытые файлы на сервере, могут перейти в спящий режим

протокол smb был впервые появился в Windows Vista и Windows Server 2008, а протокол SMBv3 появился в Windows 8 и Windows Server 2012. Дополнительные сведения о функциях SMB и SMBv3 см. в следующих статьях:

Удаление SMBv1

вот как можно удалить SMBv1 в Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016 и Windows 2012 R2.

Методы PowerShell

Ниже приведены инструкции по обнаружению, отключению и включению SMBv1 клиента и сервера с помощью команд PowerShell.

Примечание

Компьютер будет перезагружен после выполнения команд PowerShell для отключения или включения SMBv1.

  • Автоматическое

    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Включен

    Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Включите параметр

    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    

Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: диспетчер сервера метод

Server Manager - Dashboard method

чтобы удалить SMBv1 с сервера Windows:

  1. На диспетчер сервера панели мониторинга сервера, на котором нужно удалить SMBv1, в разделе Настройка этого локального серверавыберите Добавить роли и компоненты.
  2. На странице перед началом работы выберите Запуск мастера удаления ролей и компонентов, а затем на следующей странице нажмите кнопку Далее.
  3. На странице Выбор целевого сервера в разделе пул серверовустановите флажок Сервер, для которого требуется удалить компонент, и нажмите кнопку Далее.
  4. На странице Удаление ролей сервера нажмите кнопку Далее.
  5. На странице Удаление компонентов снимите флажок для поддержки общего доступа к файлам SMB 1.0/CIFS и нажмите кнопку Далее.
  6. На странице Подтверждение выборов для удаления убедитесь, что эта функция указана в списке, а затем нажмите кнопку Удалить.

Windows 8.1 и Windows 10: метод "установка и удаление программ"

Add-Remove Programs client method

чтобы отключить SMBv1 для Windows 8.1 и Windows 10:

  1. Откройте Панель управления, выберите раздел Программы и компоненты.
  2. в разделе панель управления главнаявыберите Windows включить или отключить компоненты , чтобы открыть окно функции Windows .
  3. в поле Windows функции прокрутите вниз список, снимите флажок для поддержки общего доступа к файлам SMB 1.0/CIFS и нажмите кнопку ок.
  4. после Windows применения изменений на странице подтверждение выберите перезагрузить сейчас.

Как определить состояние, включить и отключить протоколы SMB на сервере SMB

для Windows 8.1, Windows Server 2012, Windows Server 2012 R2, Windows 10 и Windows Server 2019

в Windows 8 и Windows Server 2012 появился новый командлет Set-смбсерверконфигуратион Windows PowerShell. Командлет позволяет включать или отключать протоколы SMBv1, SMB и SMBv3 на серверном компоненте.

Примечание

при включении или отключении протокола smb в Windows 8 или Windows Server 2012 также включается или отключается SMBv3. Это происходит из-за того, что эти протоколы используют один и тот же стек.

После запуска командлета Set-смбсерверконфигуратион перезагружать компьютер не требуется.

SMBv1 на SMB Server

  • Автоматическое

    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    
  • Включен

    Set-SmbServerConfiguration -EnableSMB1Protocol $false
    
  • Включите параметр

    Set-SmbServerConfiguration -EnableSMB1Protocol $true
    

Дополнительные сведения см. в статье хранилище сервера в корпорации Майкрософт.

SMB V2/V3 на SMB-сервере

  • Автоматическое

    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 или более поздней версии PowerShell.

SMBv1 на SMB Server

Автоматическое

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

Примечание . После внесения этих изменений необходимо перезагрузить компьютер. Дополнительные сведения см. в статье хранилище сервера в корпорации Майкрософт.

2.0/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)

Чтобы включить или отключить протокол SMB 2.0 на сервере 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)

Примечание

 После внесения этих изменений необходимо перезагрузить компьютер.

Как определить состояние, включить и отключить протоколы SMB на клиенте SMB

вот как можно обнаружить состояние, включить и отключить протоколы smb в smb-клиенте, на котором работает Windows 10, Windows Server 2019, Windows 8.1, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012.

Примечание

при включении или отключении протокола smb в Windows 8 или в Windows Server 2012 также включается или отключается SMBv3. Это происходит из-за того, что эти протоколы используют один и тот же стек.

SMBv1 на клиенте SMB

  • Определение

    sc.exe qc lanmanworkstation
    
  • Включен

    sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
    sc.exe config mrxsmb10 start= disabled
    
  • Включите параметр

    sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
    sc.exe config mrxsmb10 start= auto
    

Дополнительные сведения см. в статье хранилище сервера в корпорации Майкрософт .

SMB/V3 на клиенте SMB

  • Автоматическое

    sc.exe qc lanmanworkstation
    
  • Включен

    sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
    sc.exe config mrxsmb20 start= disabled
    
  • Включите параметр

    sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
    sc.exe config mrxsmb20 start= auto
    

Примечание

  • Эти команды необходимо выполнить в командной строке с повышенными привилегиями.
  • После внесения этих изменений необходимо перезагрузить компьютер.

Отключение SMBv1 с помощью групповая политика

В этом разделе рассказывается, как использовать групповая политика для отключения SMBv1. Этот метод можно использовать в разных версиях Windows.

Отключить сервер SMBv1

Эта процедура настраивает следующий новый элемент в реестре:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

  • Запись реестра: SMB1
  • REG_DWORD: 0 = отключено

Чтобы использовать групповая политика для настройки, выполните следующие действия.

  1. Откройте Консоль управления групповыми политиками. Щелкните правой кнопкой мыши объект групповой политики (GPO), который должен содержать новый элемент настройки, а затем щелкните Изменить.

  2. в дереве консоли в разделе конфигурация компьютераразверните папку предпочтения , а затем разверните папку Windows Параметры .

  3. Щелкните правой кнопкой мыши узел реестра , наведите указатель на пункт создатьи выберите пункт Реестр.

    Registry - New - Registry Item

В диалоговом окне « Свойства нового реестра » выберите следующие параметры.

  • Действие: обновление
  • Hive: HKEY_LOCAL_MACHINE
  • Путь к ключу: систем\куррентконтролсет\сервицес\ланмансервер\параметерс
  • Имя значения: SMB1
  • Тип значения: REG_DWORD
  • Данные значения: 0

New Registry Properties - General

Эта процедура отключает серверные компоненты SMBv1. Этот групповая политика должен применяться ко всем необходимым рабочим станциям, серверам и контроллерам домена в домене.

Примечание

 фильтры WMI также можно настроить таким образом, чтобы исключить неподдерживаемые операционные системы или выбранные исключения, например Windows XP.

Важно!

будьте внимательны при внесении этих изменений на контроллерах домена, на которых устаревшие Windows XP или более ранних версий Linux и сторонних системах (не поддерживающих smb или SMBv3) не нуждаются в доступе к SYSVOL или другим общим папкам, в которых отключен SMB v1.

Отключить клиент SMBv1

Чтобы отключить клиент SMBv1, необходимо обновить раздел реестра Services, чтобы отключить запуск MRxSMB10 , а затем зависимость от MRxSMB10 должна быть удалена из записи для LanmanWorkstation , чтобы ее можно было запустить нормально, не требуя запуска MRxSMB10 .

Это руководство обновляет и заменяет значения по умолчанию в следующих двух элементах реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10

Запись реестра: Start REG_DWORD: 4= отключено

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation

Запись реестра: депендонсервице REG_MULTI_SZ: "Бовсер", "MRxSmb20", "NSI"

Примечание

 Включенная по умолчанию MRxSMB10, которая теперь удалена как зависимость.

Чтобы настроить это с помощью групповая политика, выполните следующие действия.

  1. Откройте Консоль управления групповыми политиками. Щелкните правой кнопкой мыши объект групповой политики, который должен содержать новый элемент предпочтения, и выберите команду изменить.

  2. в дереве консоли в разделе конфигурация компьютераразверните папку предпочтения , а затем разверните папку Windows Параметры .

  3. Щелкните правой кнопкой мыши узел реестра , наведите указатель на пункт создатьи выберите пункт Реестр.

  4. В диалоговом окне « Свойства нового реестра » выберите следующие параметры.

    • Действие: обновление
    • Hive: HKEY_LOCAL_MACHINE
    • Путь к ключу: SYSTEM\CurrentControlSet\services\mrxsmb10
    • Имя значения: начало
    • Тип значения: REG_DWORD
    • Данные значения: 4

    Start Properties - General

  5. Затем удалите зависимость от отключенной MRxSMB10 .

    В диалоговом окне « Свойства нового реестра » выберите следующие параметры.

    • Действие: Replace
    • Hive: HKEY_LOCAL_MACHINE
    • Путь к ключу: систем\куррентконтролсет\сервицес\ланманворкстатион
    • Имя значения: депендонсервице
    • Тип значения: REG_MULTI_SZ
    • Данные значения:
      • бовсер
      • MRxSmb20
      • NSI

    Примечание

    Эти три строки не будут содержать маркеры (см. следующий снимок экрана).

    DependOnService Properties

    значение по умолчанию включает в себя MRxSMB10 во многих версиях Windows, поэтому, заменяя их строкой с несколькими значениями, она действует путем удаления MRxSMB10 в качестве зависимости для LanmanWorkstation и перехода от четырех значений по умолчанию к этим трем приведенным выше значениям.

    Примечание

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

  6. Перезапустите целевые системы, чтобы завершить отключение SMB v1.

Аудит использования 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-смбсервер\аудит появляется событие 3000, определяющее каждого клиента, который пытается подключиться с помощью SMBv1.

Итоги

Если все параметры находятся в одном объекте групповой политики, групповая политика управления отображает следующие параметры.

Group Policy Management Editor - Registry

Тестирование и проверка

После завершения действий по настройке, описанных в этой статье, можно разрешить репликацию и обновление политики. При необходимости выполните команду gpupdate/Force из командной строки, а затем просмотрите целевые компьютеры, чтобы убедиться, что параметры реестра применены правильно. Убедитесь, что протоколы SMB и SMBv3 работают для всех остальных систем в среде.

Примечание

Не забудьте перезапустить целевые системы.