Протокол 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 включен). При необходимости вы можете его создать.
Внеся изменения в реестр, выполните перезагрузку компьютера.
SMB, stands for Server Message Block, is a client-server protocol. This helps to share files on network from a server or from another device. If you are having problems when connecting to a SMB server, then the first thing you should check is whether SMB is enabled on your PC. By default, SMB is disabled on Windows 11 PC and here is how you can enable SMB using different methods.
Check SMB is Enabled from PowerShell
SMB protocol has three versions V1, V2 and V3. When you enable V2, Windows will enable V3 as well. First, you can check SMB is already enabled on your PC from Windows PowerShell app.
- Click on Windows Search and type “powershell” in the box.
- Find Windows PowerShell app and click on “Run as administrator” link to open the app in admin mode.
- Type the following command and press enter key.
Get-SmbServerConfiguration | Select EnableSMB2Protocol
- As you can see the status is returned as “True” indicating SMB is already enabled on the PC. If the result shows as “False” then you need to enable it on your PC.
Note: The above command checks for SMB V2. You can use EnableSMB1Protocol or EnableSMB3Protocol in the command to check respective versions.
1. Enable SMB from PowerShell in Windows
There are multiple ways to enable SMB on your PC. The easiest way is to enable from PowerShell using the following command.
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Paste the command and press enter key, you will be prompted to confirm the action. Type Y and press enter to enable SMB server.
You can also use the following command if for any reasons you want to disable SMB server.
Set-SmbServerConfiguration -EnableSMB2Protocol $false
You can again enable and check if that resolves your problems.
2. Enable SMB from Control Panel
If you are not able to use PowerShell, then you can use Control Panel to enable SMB.
- Click Windows Search icon on taskbar and search for “control panel”.
- Find and open Control Panel app from the result.
- Change the “View by” to “Category” and click on “Programs” option.
- On the next screen, click “Turn Windows features on or off” option under “Programs and Features” section.
- It will open “Windows Features” pop-up showing various Windows features. Scroll to the middle in the pop-up and enable “SMB 1.0/CIFS File Sharing Support” option. This option has three sub-items, make sure all the items are enabled.
- Click “OK” button to apply the changes. Windows will search for required files and show the success message that requested changes are completed. Click on “Restart now” button to enable SMB immediately or select “Don’t restart” to apply the changes later when you restart the computer.
3. Enable SMB from Registry Editor
We recommend using one of the above two options whichever is easier. However, if you are the registry guy then you can enable SMB from the Registry Editor.
- Press “Win + R” to open Run prompt.
- Type regedit and press “OK” button to open Registry Editor.
- Copy the below path, paste in the Registry Editor’s address bar and press enter key.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Check if there is any key with the name “SMB2” or similar available in the right pane.
- If the key is not available, right click and select “New > DWORD (32-bit) Value” option and name the key as SMB2.
- Double on the SMB2 and set the value data as 1. This indicates the SMB is enabled on your PC while the value 0 indicates the option is disabled.
Similarly, you can create SMB1 or SMB3 keys and assign the value as 1 to enable SMB V1 or V3 if you need.
By default, when you open a windows/Linux system’s file manager, you will see network shares that are automatically advertised across your local network. Remote users are only allowed to connect to the network and access the shared files when they are directly connected to the machine.
Samba is an extremely powerful tool that allows one to create file and printer sharing to SMB/CIFS clients in both Windows and Unix systems. When it comes to file sharing, Windows 11 and Ubuntu work seamlessly since they both use the SMB protocol. Samba share was developed by Andrew Tridgell and runs on many Unix-Operating systems such as Linux, Solaris, BSD variants and AIX.
Samba share, is so significant in that:
- It allows Windows systems to share files and printers on the Unix host and allows Unix users to access the resources shared by Windows systems.
- It is so reliable it runs on a Unix host resulting in few problems and low maintenance costs. It also offers good performance under heavy loads.
- It offers secured data transfer
- Message signing-with didgital signing users who receive the data packets are assured of the origin point authenticity.
- SMB encryption.
- Allows concurrent operations.(simultaneous access to the files)
- Multichanel technology.
This guide demonstrates how to install and Configure Samba Share on Windows 11. For Samba share set up, you will need the following:
- Windows 11 installation.
- A Linux machine
Step 1: Enable Network Discovery in Windows 11
The network needs to be advertised for other devices to view and access it. This is made possible In Windows 11 by Enabling Network discovery.
On your Windows 11 start menu, launch settings as below:
On the settings tab, click on Network & internet then select Ethernet:
In the Ethernet settings tab, select Ethernet properties:
Here, select private under the network profile as shown:
If you are connected with Wi-Fi, you will need to enable Private in the Profile settings. This profile should be selected if you need file-sharing or you are using apps that communicate over the network. With this done, exit and the network should now be discoverable.
Step 2: Turn on Public Folder Sharing in Windows 11
On the Windows 11 start menu, launch the Control Panel:
While in the Control Panel, select Network and Internet as shown:
On the next page select Network and Sharing Center:
Go to the Change advanced sharing settings option on the right-hand side panel:
While here, select the Private(current profile) and make the below settings:
Turn on file and printer sharing:
Save the changes made and exit.
While in the Advanced settings tab, Click the all networks option, and scroll down. Here there are several options such as Public folder sharing, Media streaming, File sharing connections, and Password protected sharing. By default, Windows turns on file and printer sharing, but in some cases, it is not enabled.
With password-protected sharing turned on, anyone connecting to your shared network will have to authenticate with the set password to be allowed to access your network.
While here, you can also allow Public folder sharing as shown.
With your desired changes made, save and exit.
Alternatively, all the above settings can easily be done using the below commands. Run Command prompt as Administrator and issue the below commands.
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
netsh advfirewall firewall set rule group="Network Discovery" new enable=Yes
Sample Output:
Step 3: Access Windows 11 shares from Linux
In this guide, I will be using Ubuntu to access the Windows 11 shared files. Now I will have to make a few configurations on my Ubuntu system to be able to connect to the Windows network.
Before we install Samba your Ubuntu File Manager appears as below after clicking on Other Locations:
Install Samba file-sharing system on Ubuntu using the below command:
sudo apt update && sudo apt install samba
Add users to Samba and create a password:
sudo pdbedit -a -u $(whoami)
Sample Output:
You have successfully set a Samba password which you will use to log in to samba share.
Now launch the Ubuntu File Manager, click on other locations as shown.
Now the Windows system is visible. Launch file sharing by adding the connection as shown. Enter the address of the server with the below syntax.
smb://servername/Share_name
For example, I will use this syntax to access my Windows System.
smb://192.168.1.18
See below screenshot:
In case you are prompted to enter a password for login, use the Samba login password:
You will successfully be connected to the Network and you can access files from the windows system.
Now you are set to access the files on your Windows system. Click on Users> Default, you should be able to see these files.
Access Ubuntu Files from Windows 11
Now we want to access the Ubuntu files from Windows 11. This is done in the following steps.
First, we need to find the workgroup name in Windows 11. Launch the command prompt and issue the command below.
net config workstation
Sample Output:
On my system, the workgroup name is WORKGROUP. This is the default workgroup name for Windows systems.
The next step is to configure Samba on Ubuntu. Since we already have samba installed we will make configuration settings as below.
Edit the Samba default configuration:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo vi /etc/samba/smb.conf
Edit your file as below replacing appropriately.
[global]
........
# Configure correct UTP
unix charset = UTF-8
# Change this to the workgroup/NT-domain name your Samba server will be part of
workgroup = WORKGROUP
server min protocol = NT1
ntlm auth = yes
netbios name = UbuntuVM
security = user
#interfaces = 127.0.0.0/8 eth0
bind interfaces only = yes
# add at the end
[Public]
comment = Ubuntu File Share
path = /srv/samba/share
browsable = yes
writable = yes
guest ok = yes
read only = no
create mode = 0777
directory mode = 0777
force user = nobody
In the configuration file, we have set to share /srv/samba/share
directory. So we need to create it. This is used for experiment purposes, but you can share an existing directory.
sudo mkdir -p /srv/samba/share
sudo chown nobody:nogroup /srv/samba/share
sudo chmod -R 0777 /srv/samba/share
sudo chgrp sambashare /srv/samba/share
Now restart the Samba service.
sudo systemctl restart smbd.service nmbd.service
On the Windows system, open the file manager and click on Network. You will see the Ubuntu system added as below. Open it and view the contents of your shared folder:
This Public folder contains contents of your shared path. For this guide, our shared path is /srv/samba/share
:
Suppose I add a new directory in the path /srv/samba/share
using the command:
sudo mkdir /srv/samba/share/new
On Windows, the shared file will appear inside the Public folder as below:
Alternatively, you can create a file on this Windows tab that will appear on our Ubuntu system.
That is it! We have successfully gone through how to install and configure Samba Share on Windows 11. I hope you found this guide helpful.
See more on this page:
- How To Install MySQL 8.2 on Windows 11 / Windows 10
- Fix Windows Error “running scripts is disabled on this system”
- Fix Windows BSOD Issue caused by CrowdStrike Update
- Running Windows Server 2022 on OpenStack (Complete Steps)
Все способы:
- Способ 1: Активация средства через «Компоненты Windows»
- Способ 2: Использование скрипта в PowerShell
- Способ 3: Изменение параметров в «Редакторе реестра»
- Способ 4: Внесение изменений через «Управление групповой политики»
- Вопросы и ответы: 4
Если вы решили активировать SMB1 в Windows 11, то уже должны знать, что данный компонент необходим для организации удаленного подключения к другим компьютерам. Однако отметим, что в большинстве случаев обычному пользователю не нужны такие сложные технологии, требующие многих настроек и определенных знаний. Куда проще использовать другие средства организации подключения. О таких вы можете прочитать в статье по ссылке ниже и выбрать, что из этого будет оптимальным в вашем случае. Если же включение SMB1 все же нужно, переходите к ознакомлению со следующими методами.
Читайте также: Как подключиться к удаленному компьютеру
Способ 1: Активация средства через «Компоненты Windows»
В Windows 11, как и в предыдущих версиях операционной системы есть ряд компонентов, которые либо активны по умолчанию, либо находятся в отключенном состоянии и их включение осуществляется вручную. Это относится и к рассматриваемой технологии SMB1. Для ее активации через графическое меню ОС понадобится выполнить ряд следующих действий:
- Откройте «Пуск» и через поиск отыщите «Панель управления».
- После перехода к новому окну отыщите значок «Программы и компоненты» и кликните по нему дважды левой кнопкой мыши.
- В новом окне на панели слева нажмите «Включение или отключение компонентов Windows», чтобы перейти к другому окну с настройками.
- В нем отыщите каталог «Поддержка общего доступа к файлам SMB 1.0/CIFS», поставьте галочку возле этой папки и рядом с остальными директориями, находящимися в ней.
- Ожидайте окончания поиска требуемых файлов и появления на экране уведомления о том, что компонент успешно активирован. В этом же окне с сообщением будет кнопка, позволяющая сразу отправить компьютер на перезагрузку. Сделайте это, поскольку изменения вступают в силу только в новом сеансе.
Способ 2: Использование скрипта в PowerShell
Включение протокола возможно и без использования графического меню операционной системы. Осуществляется это путем введения соответствующих команд в «Терминале Windows». Рассмотрим два варианта взаимодействия с протоколами, а вы, отталкиваясь от собственных требований, сможете реализовать подходящий.
- Первый вариант подразумевает выполнение стандартной команды для включения SMB1. Сначала щелкните правой кнопкой мыши по меню «Пуск» и из появившегося контекстного меню выберите пункт «Терминал Windows (администратор)».
- Далее введите команду
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol
и нажмите Enter для ее применения. - Скрипт начнет загружать необходимые файлы для включения компонента, поэтому ожидайте отображения следующих уведомлений, не закрывая текущее окно, иначе весь прогресс будет сброшен.
- В конце появится сообщение о том, что для завершения операции понадобится перезагрузить компьютер. Сделайте это, выбрав вариант ответа «Y». После перезагрузки переходите к тестированию инструментов, ради которых и осуществлялось включение SMB1.
Отметим, что после перезапуска ПК вы снова можете открыть PowerShell и использовать команду Get-WindowsFeature FS-SMB1
, которая покажет на экране информацию о том, в каком сейчас состоянии находится рассматриваемый протокол. Если в будущем понадобится отключить его, используйте похожую команду, которая выглядит как Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
.
Теперь давайте затронем другую команду для консоли, которая подразумевает взаимодействие с файлом конфигурации SMB. Она подходит не только для включения первой версии компонента, но и для всех остальных. Для реализации этого скрипта понадобится снова запустить «Терминал Windows» от имени администратора.
- Далее введите команду
Set-SmbServerConfiguration -EnableSMB2Protocol $true
илиSet-SmbServerConfiguration -EnableSMB1Protocol $true
, если нужно включить в ОС не все версии протокола (их три), а только первую. - После нажатия по клавише Enter на экране отобразится информация о том, что файл будет модифицирован. Оставьте поле пустым или введите «Y», чтобы подтвердить и завершить операцию.
- Дождитесь отображения нового поля ввода, отправьте компьютер на перезагрузку и переходите к проверке работы протокола.
Способ 3: Изменение параметров в «Редакторе реестра»
Внести соответствующие изменения в работу компонентов Windows можно через «Редактор реестра». Понадобится отыскать и изменить всего один параметр, а в случае его отсутствия создать и задать необходимое значение. Влияния этот компонент на работу ОС не оказывает, поэтому можно предварительно не создавать резервную копию реестра — никаких необратимых изменений применено не будет.
- Вызовите утилиту «Выполнить» при помощи стандартной горячей клавиши Win + R. Введите в поле
regedit
и нажмите Enter для запуска окна «Редактора реестра». - В нем перейдите по пути
Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
, вставив этот адрес в верхней строке. - Отыщите параметр с названием «SMB2» и нажмите по нему дважды левой кнопкой мыши. Он отвечает за работу как SMB1, так и SMB3.
- Если параметр отсутствует, можете создать его в формате «Параметр DWORD (32 бита)» и задать название «SMB1» или «SMB2», если хотите активировать сразу все протоколы.
- После вызова окна изменения параметра задайте для него значение «1», подтвердите изменения и отправьте компьютер на перезагрузку.
Способ 4: Внесение изменений через «Управление групповой политики»
Использование этого метода актуально только в том случае, если текущий компьютер является доменом в локальной сети и активация SMB1 нужна для организации общего и удаленного доступа между другими устройствами. В других ситуациях внесение изменений через «Управление групповой политики» ничего не даст, поэтому остановитесь на одном из предыдущих способов.
- Если же вам этот вариант подходит, для начала установите недостающий компонент Windows. Вызовите меню «Пуск» и перейдите в «Параметры».
- На панели слева выберите раздел «Приложения» и разверните категорию «Дополнительные компоненты».
- После этого обратите внимание на блок «Добавление дополнительного компонента», в котором кликните по «Посмотреть функции».
- Поставьте галочку возле компонента с названием «RSAT: средства управления групповыми политиками» и нажмите «Далее» для перехода к установке.
- В следующем окне убедитесь в правильности выбранного компонента и подтвердите начало инсталляции.
- Обязательно дождитесь конца установки, следя за прогрессом в этом же окне.
- Как только рядом с компонентом появилась надпись «Установлено», можете переходить к следующим действиям.
- Откройте «Выполнить», используя стандартное сочетание клавиш Win + R, введите
gpmc.msc
и нажмите Enter для подтверждения ввода команды. - Ожидайте загрузки элементов управления и появления окна со всеми настройками.
- Разверните раздел «Управление групповой политикой», найдите там пункт «Реестр» и откройте его для заполнения сведений.
- Используйте таблицу ниже, чтобы правильно заполнить каждое поле. По завершении сохраните изменения и перезагрузите компьютер.
Поле Значение Действие Создать Куст HKEY_LOCAL_MACHINE Путь раздела SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters Имя параметра SMB1 Тип параметра REG_DWORD Значение 1
Обратите внимание на то, что в случае необходимости внесения изменений в протокол вы можете не удалять данную запись, а просто установить в «Значении» 0
. Это отключит работу компонента до того момента, как вы снова не отредактируете параметр.
Наша группа в TelegramПолезные советы и помощь
Протокол доступа к общим файлам 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.