Протокол доступа к общим файлам 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 1.0 в Windows 10 и 11
- Включение и отключение SMB 1.0 в Windows Server 2019/2022
- Аудит доступа к файловому серверу по SMB v1.0
- <Отключение SMB 1.0 с помощью групповых политик
Обратите внимание что протокол 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 SMB1Protocol-Client | Disabled SMB1Protocol-Server | Disabled 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).
Также при отключении клиента 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 -> Audit и проверьте, были ли попытки доступа к ресурсам сервера по протоколу SMB1.
Проверьте, есть ли в журнале событие с EventID 3000 от источника SMBServer, в котором указано что клиент 192.168.1.10 пытается обратиться к сервере по протоколу SMB1.
SMB1 access Client Address: 192.168.1.10 Guidance: 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:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters").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, придется отключать его через политику реестра.
- Откройте консоль управления Group Policy Management (
gpmc.msc
), создайте новый объект GPO (disableSMBv1) и назначьте его на OU с компьютерами, на которых нужно отключить SMB1; - Перейдите в режим редактирования политики. Выберите Computer Configuration -> Preferences -> Windows Settings -> Registry;
- Создайте новый параметр реестра (Registry Item) со следующими настройками:
Action:
Update
Hive:
HKEY_LOCAL_MACHINE
Key Path:
SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Value name:
SMB1
Value type:
REG_DWORD
Value data:
0
- Данная политика отключит службу сервера SMBv1.
Если вы хотите через GPO отключить на компьютерах и клиент SMB 1.0, создайте дополнительно два параметра реестра:
- Параметр Start (типа REG_DWORD) со значением 4 в ветке реестра HKLM\SYSTEM\CurrentControlSet\services\mrxsmb10;
- Параметр DependOnService (типа REG_MULTI_SZ) со значением Bowser, MRxSmb20, NSI (каждое значение с новой строки) в ветке реестра HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation.
Осталось обновить настройки групповых политик на клиентах и после перезагрузки проверить, что компоненты 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.
В связи с недавной эпидемией шифровальщика 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.
Версия | Операционная система | Добавлено, по сравнению с предыдущей версией |
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, а посмотреть состояние так:
Get–SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
Выключаем SMBv1 на сервере с Windows 2012 R2.
Результат при подключении с Windows 2003.
Таким образом, при отключении старого, уязвимого протокола можно лишиться работоспособности сети со старыми клиентами. При этом помимо Windows XP и 2003 SMB v1 используется и в ряде программных и аппаратных решений (например NAS на GNU\Linux, использующий старую версию samba).
Под спойлером приведу список производителей и продуктов, которые полностью или частично перестанут работать при отключении SMB v1.
Производитель | Продукт | Комментарий |
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:
Set–ItemProperty –Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 –Type DWORD –Value 0 –Force
Или любым другим удобным способом. При этом для применения изменений понадобится перезагрузка.
Для отключения поддержки SMB v1 на клиенте достаточно остановить отвечающую за его работу службу и поправить зависимости службы lanmanworkstation. Это можно сделать следующими командами:
sc.exe config lanmanworkstation depend=bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start=disabled
Для удобства отключения протокола по всей сети удобно использовать групповые политики, в частности Group Policy Preferences. С помощью них можно удобно работать с реестром.
Создание элемента реестра через групповые политики.
Чтобы отключить протокол на сервере, достаточно создать следующий параметр:
-
путь: HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters;
-
новый параметр: REG_DWORD c именем SMB1;
- значение: 0.
Создание параметра реестра для отключения SMB v1 на сервере через групповые политики.
Для отключения поддержки SMB v1 на клиентах понадобится изменить значение двух параметров.
Сначала отключим службу протокола SMB v1:
-
путь: HKLM:\SYSTEM\CurrentControlSet\services\mrxsmb10;
-
параметр: REG_DWORD c именем Start;
- значение: 4.
Обновляем один из параметров.
Потом поправим зависимость службы LanmanWorkstation, чтоб она не зависела от SMB v1:
-
путь: HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation;
-
параметр: REG_MULTI_SZ с именем DependOnService;
- значение: три строки – Bowser, MRxSmb20 и NSI.
И заменяем другой.
После применения групповой политики необходимо перезагрузить компьютеры организации. После перезагрузки SMB v1 перестанет использоваться.
Работает – не трогай
Как ни странно, эта старая заповедь не всегда полезна – в редко обновляемой инфраструктуре могут завестись шифровальщики и трояны. Тем не менее, неаккуратное отключение и обновление служб могут парализовать работу организации не хуже вирусов.
Расскажите, а вы уже отключили у себя SMB первой версии? Много было жертв?
В этой публикации, друзья, рассмотрим, как включить SMB 1 в Windows 10 и 11. Протокол SMB (Server Message Block) – это сетевой протокол для удалённого доступа к файлам, принтерам и прочим ресурсам в локальной сети. Версия SMB 1 (SMBv1) – это самая ранняя версия этого протокола. Она древняя, имеет уязвимости и потенциальные проблемы безопасности. В Windows 10 и 11 используются современные версии протокола SMB, а его версия 1 отключена. В некоторых случаях её нужно включить. Как это сделать?
Версия протокола SMB 1 введена ещё в 1980-х годах. Нынче она заменена более современными и безопасными версиями протокола SMB 2 и SMB 3. Так, SMB 1 имеет серьёзные уязвимости, которые могут быть использованы злоумышленниками для атаки сетевых ресурсов. Включённый протокол SMB 1 повышает риск заражения вредоносным ПО, таким как WannaCry, NotPetya, Emotet и другим, использующим уязвимости этого протокола для распространения по сети.
Компания Microsoft не просто по умолчанию отключает SMB 1 в своих современных операционных системах, но рекомендует отключать использование SMB 1 в любой версии Windows и переходить на более безопасные версии протокола SMB 2 или SMB 3. Версия протокола SMB 2 присутствует в Windows начиная с Vista.
Однако следовать этим рекомендациям Microsoft не всегда возможно, поскольку есть древние сетевые устройства – принтеры, сетевые хранилища NAS и прочая техника, древние Windows XP и Windows Server 2003, древние дистрибутивы Linux и FreeBSD, древнее программное обеспечение. Этим всем ещё кое-кто пользуется, а оно не поддерживает современные версии протокола SMB и требует использования SMB 1. Если нет возможности использовать более современные устройства, установить более новую операционную систему или использовать более современное ПО, не остаётся ничего иного, как включить SMB 1.
SMB 1 необходимо включить и на компьютере-сервере, предоставляющем ресурсы (файлы, принтеры, другие сетевые ресурсы), и на компьютере-клиенте, запрашивающем доступ к ресурсам на сервере. Если один из компьютеров работает на базе современной или относительно таковой версии Windows, при включении протокола SMB 1 желательно предпринять меры для снижения его уязвимости:
- Установить все доступные обновления безопасности;
- Не отключать автоматические обновления Windows;
- Обновить Windows 10 до последней версии;
- Обновить Windows 11 до последней версии;
- Не отключать брандмауэр Windows;
- Использовать хорошее обновляемое антивирусное ПО.
В Windows 10 и 11, где протокол SMB 1 отключён, включить его можно путём включения его компонентов. В системный поиск вписываем:
В окошке включения и отключения компонентов Windows ищем пункт «Поддержка общего доступа к файлам SMB 1.0/CIFS». Раскрываем его. Он содержит в себе 3 компонента:
- Автоматическое удаление протокола SMB 1.0/CIFS — автоматически отключает протокол SMB 1, если он не используется в течение 15-ти дней. Так продумано компанией Microsoft для повышения безопасности современных Windows. Windows 10 и 11 сами отключают уязвимый SMB 1, если он не используется. Обязательно устанавливаем галочку этого компонента;
- Клиент SMB 1.0/CIFS — позволяет компьютеру подключаться к сетевым ресурсам, используя SMB 1 в качестве клиента. Если нам нужен только доступ к сетевым ресурсам на других компьютерах локальной сети, при этом на нашем компьютере нет расшаренных ресурсов, можем установить галочку только этого компонента, но не следующего;
- Сервер SMB 1.0/CIFS — позволяет компьютеру предоставлять доступ к имеющимся ресурсам другим компьютерам локальной сети через протокол SMB 1. Если компьютер не будет выступать в роли клиента, т.е. будет только предоставлять сетевые ресурсы, но не пользоваться ресурсами других компьютеров, можем установить галочку только этого компонента, но не предыдущего.
Соответственно, если компьютер будет и сервером, и клиентом, устанавливаем все 3 галочки. Нажимаем «Ок»».
После применения изменений операционная система предложит перезагрузиться для завершения установки компонентов. Перезагружаемся.
Альтернативный вариант, как включить SMB 1 — с помощью PowerShell. Этот Способ предусматривает включение всех 3-х рассмотренных выше компонентов протокола. Запускаем консоль с правами администратора. Вводим команду:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Нам будет предложена перезагрузка для завершения установки компонентов. Можем нажать букву Y для перезагрузки.
Включив протокол SMB 1 любым из рассмотренных способов, после перезагрузки компьютера можем проверить, используем ли мы этот протокол. Запускаем от имени администратора PowerShell. Вводим команду:
Get-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
В ответ получим детализацию по протоколу SMB 1, где, в частности, будет указан его статус – включён или отключён. Если включён, статус будет «Enabled».
Если отключён, статус будет «Disabled».
При ненадобности протокол SMB 1 необходимо отключить, чтобы не подвергать компьютер риску даже то число дней, что он будет активен до автоматического отключения протокола. Отключить можно с помощью функции включения компонентов Windows путём, обратным тому, как мы выше включали его.
Примечание: друзья, если вы используете версии Windows старше 10-й, т.е. Windows 8.1, 7 или Vista, из соображений безопасности можете отключить протокол SMB 1. Поскольку в этих версиях он включён по умолчанию. В окошке включения или отключения компонентов Windows снимите галочку пункта «Поддержка общего доступа к файлам SMB 1.0/CIFS», он будет один, без отдельных компонентов, как в Windows 10 или 11.
Также протокол SMB 1 можно отключить с помощью запущенной от имени администратора консоли PowerShell. Вводим команду:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
И можем нажать букву Y для перезагрузки.
Протокол SMBv1 в последних версиях Windows по умолчанию отключен, однако в некоторых случаях может потребоваться его включение: как правило, речь идёт о необходимости подключения устаревшего оборудования и компьютеров.
В этой инструкции подробно о том, как включить протокол SMB1 на сервере и клиенте в Windows 11 и Windows 10. Примечание: указанный протокол в настоящее время считается небезопасным и без необходимости включать его не следует.
Включение компонента SMB 1.0
Прежде всего, в новых версиях Windows 11/10 потребуется включить отключенный по умолчанию компонент для поддержки SMBv1, для этого:
- Нажмите клавиши Win+R на клавиатуре, введите appwiz.cpl и нажмите Enter.
- В открывшемся окне в списке слева нажмите «Включение или отключение компонентов Windows».
- Включите компонент «Поддержка общего доступа к файлам SMB 1.0/CIFS» и нажмите «Ок».
- Дождитесь установки необходимых компонентов и перезагрузите компьютер.
Также вы можете включить компонент с помощью команды PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
После того, как компонент был установлен, может потребоваться включить использование протокола SMB1 для сервера или клиента — в Windows 11 и 10 это выполняется отдельно.
Проверка и включение SMB 1 на клиенте
Для проверки состояния клиентской части протокола SMB1 в Windows 11 и Windows 10 используйте PowerShell или командную строку, запущенную от имени администратора и следующую команду:
sc.exe qc lanmanworkstation
Если в разделе «Зависимости» отсутствует запись mrxsmb10, протокол 1-й версии отключен. Для его включения можно использовать команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb10 start= auto
То же самое можно проделать в редакторе реестра:
- В разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
для параметра Start установить значение 2
- В разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
изменить параметр DependOnService, добавив в него строку mrxsmb10
После внесения изменений в реестре, перезагрузите компьютер.
На сервере
Чтобы проверить состояние сервера SMB1 в Windows 11/10 используйте команду
PowerShell Get-SmbServerConfiguration | Select EnableSMB1Protocol
Если в результате вы увидите значение True, использование протокола включено.
При значении False вы можете включить его с помощью команды:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Для включения SMBv1 на сервере в реестре, измените значение параметра DWORD с именем SMB1 на 1 в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Внимание: по умолчанию параметр отсутствует в этом разделе реестра (при его отсутствии считается, что серверный протокол SMB1 включен). При необходимости вы можете его создать.
Внеся изменения в реестр, выполните перезагрузку компьютера.
The Server Message Block (SMB) protocol is basically a file sharing protocol present in Windows. It allows applications to read/write to files and urge requests for services from server manager for network connected computers. There are three versions of this protocol, SMB Version 1 (SMBv1), SMB Version 2 (SMBv2), SMB Version 3 (SMBv3). SMBv3 is the current version and SMBv1 is quite outdated on the present date. Windows comes with SMBv1 enabled by default.
With the increased ransomware attacks and due to most recent WannaCry ransomware hiccup, Microsoft has recommended users to disable the outdated SMBv1 protocol from their systems. As SMBv1 is much older technology so it is highly vulnerable and can be easily used by ransomware attackers to target the victim machines. However, Microsoft also recommends that you do not leave SMBv2, SMBv3 disabled, otherwise it will break functionality of your Windows.
So in this article, we’ll show you how to enable or disable these protocols on your Windows system.
Page Contents
How To Enable Or Disable SMB Protocols In Windows 10/8.1/8/7
WAY 1 – Using Windows Features Applet (Disable SMBv1 Protocol)
1. Using Cortana or Windows Search, look for term features. From results, click Turn Windows Features On or Off. See this fix, if you find Turn Windows Features On or Off applet blank.
2. In Turn Windows Features On or Off window, scroll down and look for SMB 1.0/CIFS File Sharing Support which must be checked by default. Uncheck this option to disable SMBv1 and click OK.
Using this way you can’t disable other SMB protocols such as SMBv2 and SMBv3. So for that, you can tweak registry as mentioned below.
WAY 2 – Using Registry (Disable SMBv1, SMBv2, SMBv3 Protocols)
Registry Disclaimer: The further steps will involve registry manipulation. Making mistakes while manipulating registry could affect your system adversely. So be careful while editing registry entries and create a System Restore point first.
1. Press + R and put regedit in Run dialog box to open Registry Editor (if you’re not familiar with Registry Editor, then click here). Click OK.
2. In the Registry Editor window, navigate to following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
3. In the right pane of Parameters registry key, simply create a new registry DWORD (REG_DWORD) named SMB1 to disable SMBv1 protocol and set its Value data to 0. Similarly, to disable SMBv2 and SMBv3 protocols simultaneously, create SMB2 registry DWORD (REG_DWORD) and set its Value data to 0. Once done, close the Registry Editor and reboot to make changes effective.
You can re-enable SMBv1, SMBv2, SMBv3 protocols anytime in future, by simply deleting SMB1, SMB2 registry DWORDs created above. However, better if you keep SMBv1 disabled at all (in case if you’re on an older Windows edition/build). Also its worth to mention here, keep your system updated with latest security updates offered by Microsoft, to stay safe from Ransomware phenomenon.
That’s it!