Как включить или отключить протокол SMB 1.0 в Windows 10/11 и Windows Server?

Протокол доступа к общим файлам SMB 1.0 (Server Message Block) по умолчанию отключен в последних версиях Windows 11 и 10, а также в Windows Server 2019/2022. Эта версия протокола является небезопасной/уязвимой, и не рекомендуется использовать ее на устройствах в локальной сети. Windows поддерживает более безопасные версии протокола SMB (2.x и 3.x).

SMB v1 может быть необходим, только если в вашей сети остались устаревшие устройства с Windows XP/2003, старые версии NAS, сетевые принтеры с поддержкой SMB, устройства со старыми версиями samba, и т.д. В этой статье мы рассмотрим, как включить или отключить протокол общего доступа к файлам SMB 1.0 в Windows.

Обратите внимание что протокол SMB состоит из двух компонентов, которые можно включать/отключать по отдельности:

  • Клиент SMB0 – нужен для доступа к общим папками на других компьютерах
  • Сервер SMB 0 – должен быть включен, если ваш компьютер используется в качестве файлового сервера, к которому подключаются другие компьютеры и устройства.

Включить/отключить SMB 1.0 в Windows 10 и 11

Начиная с Windows 10 1709, протокол SMB 1 отключен в десктопных версиях Windows, но его можно включить из вручную.

Откройте командную строку и проверить статус компонентов протокола SMBv1 в Windows с помощью команды DISM:

Dism /online /Get-Features /format:table | find "SMB1Protocol"

В нашем примере видно, что все компоненты SMBv1 отключены:

SMB1Protocol                                | Disabled_x000D_SMB1Protocol-Client                         | Disabled_x000D_SMB1Protocol-Server                         | Disabled_x000D_SMB1Protocol-Deprecation                    | Disabled

В Windows 10 и 11 также можно управлять компонентами SMB 1 из панели Windows Features ( optionalfeatures.exe ). Разверните ветку Поддержка общего доступа к файлам SMB 1.0 /CIFS (SMB 1.0/CIFS File Sharing Support) . Как вы видите здесь также доступны 3 компонента:

  • Клиент SMB 1.0/CIFS (SMB 1.0/CIFS Client)
  • Сервер SMB 1.0/CIFS (SMB 1.0/CIFS Server)
  • Автоматическое удаление протокола SMB0/CIFS (SMB 1.0/CIFS Automatic Removal)

Клиент SMB v1.0 нужно установить, если вашему компьютеру нужен доступ к сетевым папкам на старых устройствах. Если устаревшие сетевые устройства должны писать данные в сетевые папки на вашем компьютере, или использовать его общие сетевые принтеры , нужно включить сервер SMB 1.

Вы можете включить клиент или сервер SMB 1.0 в Windows 10/11 из панели окна управления компонентами или с помощью команд:

Dism /online /Enable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Server"

Также можно включить сервер или клиент SMBv1 с помощью PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

Если после включения клиента SMBv1, он не используется более 15 дней, он автоматически отключается.

Чтобы выключить SMB1 в Windows, выполните следующие команды DISM:

Dism /online /Disable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Server"

Или удалите компоненты SMB1Protocol с помощью PowerShell:

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -Remove

Если вы отключили поддержку SMBv1 клиента в Windows 10/11, то при доступе к сетевой папке на файловом сервере (устройстве), который поддерживает только SMBv1, появятся ошибки вида:

  • 0x80070035 — не найден сетевой путь ;
  • Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколу SMB1, который небезопасен и может подвергнуть вашу систему риску атаки. Вашей системе необходимо использовать SMB2 или более позднюю версию.
     Unable to connect to file shares because it is not secure. This share requires the obsolete SMB1 protocol, which is not secure and could expose your system to attacks

    ;

  • Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколуSMB1, который небезопасен и может подвергнуть вашу систему риску атаки. Вашей системе необходимо использовать SMB2 или более позднюю версию.
    You can’t connect to the file share because it’s not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. Your system requires SMB2 or higher).

    Подробнее это написано в статье Не открываются общие сетевые папки в Windows 10 .

Также при отключении клиента SMBv1 на компьютере перестает работать служба Computer Browser (Обозреватель компьютеров), которая используется устаревшим протоколом NetBIOS для обнаружения устройств в сети. Для корректного отображения соседних компьютеров в сетевом окружении Windows нужно настроить службу Function Discovery Provider Host (см. статью ).

Включение и отключение SMB 1.0 в Windows Server 2019/2022

В Windows Server 2019 и 2022 компоненты протокола SMBv1 также по умолчанию отключены. Включить SMB v1 в этих версиях можно через Server Manager (компонент SMB 1.0/CIFS File Sharing Support) или с помощью PowerShell.

Проверить, включен ли SMB 1.0 в Windows Server с помощью команды PowerShell:

Get-WindowsFeature | Where-Object {$_.name -like "*SMB1*"} | ft Name,Installstate

Чтобы установить клиент SMB 1, выполните команду:

Install-WindowsFeature FS-SMB1-CLIENT

Включить поддержку серверной части SMB 1.0:

Install-WindowsFeature FS-SMB1-SERVER

Затем проверьте, что протокол SMB 1 включен в настройках SMB сервера. Если протокол отключен, включите его:

Get-SmbServerConfiguration | select EnableSMB1Protocol
Set-SmbServerConfiguration -EnableSMB1Protocol $true -Force

Если в EnableSMB1Protocol = True, значит этот сервер поддерживает SMB 1.0 клеинтов.

Чтобы отключить SMBv1 (понадобится перезагрузка), выполните:

Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

Чтобы полностью удалить компоненты SMB1 с диска, выполните:

Uninstall-WindowsFeature -Name FS-SMB1 -Remove

В Windows 7/8 и Windows Server 2008 R2/ 2012 можно отключать службу и драйвер доступа SMBv1 командами:

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

Аудит доступа к файловому серверу по SMB v1.0

Перед отключением и полным удалением драйвера SMB 1.0 на стороне файлового сервера желательно убедится, что в сети не осталось устаревших клиентов, которые используют для подключения протокол SMB v1.0. Чтобы найти таких клиентов, нужно включить аудит доступа к файловому серверу по SMB1 протоколу:

Set-SmbServerConfiguration –AuditSmb1Access $true

Через пару дней откройте на сервере журнал событий Event Viewer -> Applications and Services -> Microsoft -> Windows -> SMBServer -> Audi t и проверьте, были ли попытки доступа к ресурсам сервера по протоколу SMB1.

Совет . Список событий из журнала Event Viewer можно вывести командой PowerShel l:

Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit

Проверьте, есть ли в журнале событие с EventID 3000 от источника SMBServer , в котором указано что клиент 192.168.1.10 пытается обратиться к сервере по протоколу SMB1.

SMB1 access_x000D_Client Address: 192.168.1.10_x000D_Guidance:_x000D_This event indicates that a client attempted to access the server using SMB1. To stop auditing SMB1 access, use the Windows PowerShell cmdlet Set-SmbServerConfiguration.

Вам нужно найти в сети компьютер или устройство с этим IP адресом. Если возможно обновите на нем ОС или прошивку, до версии поддерживающий, более новые протоколы SMBv2 или SMBv3. Если обновить такой клиент не удастся, придется включить SMBv1 на вашем файловом сервере.

Чтобы найти в Active Directory все компьютеры, на которых включен протокол SMB v1, выполните команду:

Get-ADComputer -Filter {(enabled -eq $True) } | % {Invoke-Command -ComputerName $_.DNSHostName -scriptblock {If ( (Get-ItemProperty -path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters").SMB1 -eq 1 ) {Write-Output "SMBv1 is enabled on ${env:computername}"}}}

Эта команда получит список активных компьютеров в домене с помощью командлета Get-ADComputer . Затем с помощью Invoke-Command выполнит подключение через PowerShell Remoting к каждому компьютеру и проверит включен ли сервис SMB 1.0.

<Отключение SMB 1.0 с помощью групповых политик

Если в вашем сети не осталось устаревших устройств, которые поддерживают только SMB 1.0, нужно полностью отключить эту версию протокола на всех компьютерах. Чтобы предотвратить ручную установку и включение компонентов SMB 1.0 на компьютерах в домене AF, можно внедрить групповую политику, которая будет принудительно отключить протокол SMB 1.0 на всех серверах и компьютерах. Т.к. в стандартных политиках Windows нет политики настройки компонентов SMB, придется отключать его через политику реестра .

  1. Откройте консоль управления Group Policy Management ( gpmc.msc ), создайте новый объект GPO (disableSMBv1) и назначьте его на OU с компьютерами, на которых нужно отключить SMB1;
  2. Перейдите в режим редактирования политики. Выберите Computer Configuration -> Preferences -> Windows Settings -> Registry ;
  3. Создайте новый параметр реестра (Registry Item) со следующими настройками:
    Action: Update
    Hive: HKEY_LOCAL_MACHINE
    Key Path: SYSTEMCurrentControlSetServicesLanmanServerParameters
    Value name: SMB1
    Value type: REG_DWORD
    Value data: 0
  4. Данная политика отключит службу сервера SMBv1.

Если вы хотите через GPO отключить на компьютерах и клиент SMB 1.0, создайте дополнительно два параметра реестра:

  • Параметр Start (типа REG_DWORD) со значением 4 в ветке реестра HKLMSYSTEMCurrentControlSetservicesmrxsmb10;
  • Параметр DependOnService (типа REG_MULTI_SZ) со значением Bowser , MRxSmb 20, NSI (каждое значение с новой строки) в ветке реестра HKLMSYSTEMCurrentControlSetServicesLanmanWorkstation.

Осталось обновить настройки групповых политик на клиентах и после перезагрузки проверить, что компоненты SMBv1 полностью отключены.

С помощью WMI фильтр GPO можно сделать исключения для определенных версий Windows.

В групповых политиках Security Baseline из Microsoft Security Compliance Toolkit есть отдельный административный шаблон GPO (файлы SecGuide.adml и SecGuide.ADMX), в которых есть отдельные параметры для отключения сервера и клиента SMB:

  • Configure SMB v1 server;
  • Configure SMB v1 client driver.

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago