Протокол доступа к общим файлам 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.
If you are using Windows Server 2019 and need to enable SMB1 for compatibility reasons, follow these steps to enable it safely and securely.
What is SMB1?
SMB1 (Server Message Block version 1) is an older version of the file sharing protocol used by Windows operating systems. While SMB1 is considered outdated and less secure than newer versions like SMB2 and SMB3, some legacy systems may still rely on it for file sharing.
Enabling SMB1 on Windows Server 2019
- Open the ‘Server Manager’ on your Windows Server 2019.
- Click on ‘Manage’ from the top menu and select ‘Add Roles and Features’.
- Click ‘Next’ until you reach the ‘Features’ section.
- Scroll down and locate ‘SMB 1.0/CIFS File Sharing Support’.
- Check the box next to ‘SMB 1.0/CIFS Client’ and ‘SMB 1.0/CIFS Server’.
- Click ‘Install’ to enable SMB1 support on your server.
- Restart the server for the changes to take effect.
Security Risks of SMB1
It’s important to note that SMB1 is highly vulnerable to security risks such as Ransomware attacks and EternalBlue exploits. Microsoft recommends disabling SMB1 whenever possible and using newer, more secure versions of the protocol.
Hashtags
#WindowsServer2019#SMB1#FileSharing
I realize this is not a very exciting post, especially compared to my other wonderful musing on this site, but I felt I really had to write it to share the pain!
A colleague I work with needed to enable this feature on an Azure Windows Server 2019 machine to communicate with some old system that only supports Server Message Block version 1 (SMB1). Easy enough to add that right?
Trying the installation
Let’s first get some information about the feature:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
The output:
Notice the State property? The feature is disabled and the payload (installation files) are not on the Azure virtual machine.
When you try to install the feature, you get:
I guess I need the Windows Server 2019 sources!
Downloading Windows Server 2019
I downloaded Windows Server 2019 (November 2019 version) from https://my.visualstudio.com/Downloads?q=SQL%20Server%202019. I am not sure if you can use the evaluation version of Windows Server 2019 because I did not try that. I downloaded the ISO to the Azure virtual machine.
Mount ISO and copy install.wim
On recent versions of Windows, you can right click an ISO and mount it. In the mounted ISO, search for install.wim and copy that file to a folder on your C: disk like c:\wim. Under c:\wim, create a folder called mount and run the following command:
dism /mount-wim /wimfile:c:\wim\install.wim /index:4 /mountdir:c:\wim\mount /readonly
The contents of install.wim is now available in c:\wim\mount. Now don’t try to enable the feature by pointing to the sources with the -source parameter of Enable-WindowsOptionalFeature. It will not work yet!
Patch the mounted files
The Azure Windows Server 2019 image (at time of writing, June 2020) has a cumulative update installed: https://support.microsoft.com/en-us/help/4551853/windows-10-update-kb4551853. For this installatin to work, I needed to download the update from https://www.catalog.update.microsoft.com/home.aspx and put it somewhere like c:\patches.
Now we can update the mounted files offline with the following command:
Dism /Add-Package /Image:"C:\wim\mount" /PackagePath="c:\patches\windows10.0-kb4551853-x64_ce1ea7def481ee2eb8bba6db49ddb42e45cba54f.msu"
It will take a while to update! You need to do this because the files mounted from the downloaded ISO do not match the version of the Windows Server 2019 image. Without this update, the installation of the SMB1 feature will not succeed.
Enable the SMB1 feature
Now we can enable the feature with the following command:
dism /online /Enable-Feature /FeatureName:SMB1Protocol /All /source:c:\wim\mount\windows\winsxs /limitaccess
You will need to reboot. After rebooting, from a PowerShell prompt run the command below to check the installation:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
The State property should say: Enabled
Conclusion
Something this trivial took me way too long. Is there a simpler way? Let me know! 👍
And by the way, don’t enable SMB1. It’s not secure at all. But in some cases, there’s just no way around it.
Часто при реализации структуры на базе Windows Server возникают задачи связанные с настройкой сервера для файлов и распределением прав на пользователейгруппы.
В нашем случае мы будем настраивать файловый сервер на Windows Server 2019.
1. Подготовка.
Для того чтобы настроить файловый сервер на Windows Server 2019, требуется установить операционную систему на виртуальную или физическую машину. Активировать операционную систему и подключиться на сервер с правами администратора.
2. Установка роли файлового сервера.
Чтобы установить роль файлового сервера, требуется:
- Зайти в диспетчер серверов.
- Управление => Добавить роли и компоненты.
- В мастере добавления ролей нажимаем “Далее” до Ролей сервера.
- Устанавливаем роль “Файловый сервер” и нажимаем “Далее”.
- Нажимаем “Установить”Нажимаем “Установить”.
3. Настройка файлового сервера.
- Заходим в Диспетчер Серверов => Файловые службы и службы хранилища => Общие ресурсы.
- Нажимаем “Задачи” и выбираем “Новый общий ресурс”.
- Выбираем подходящий нам профиль общего файлового сервера. В нашем случае мы выбираем “Общий ресурс SMB – быстрый профиль” и нажимаем “Далее”.
- Выбираем том на котором будет располагаться папка для доступа по сети, нажимаем “Далее”.
- Создаем имя общего ресурса, нажимаем “Далее”.
- В следующем окне выбираем требуемые параметры и нажимаем “Далее”.
- В окне “Распределения разрешение для управления доступом” мы настраиваем параметры безопасности на сетевую папку. А именно распределяем правами разрешения для определенных пользователей или групп, нажимаем “Далее”.
- В подтверждающем окне мы видим какие параметры будут сделаны и нажимаем “Создать”.
Рисунок 1 – Подтверждение выбора в мастере создания ресурсов
Убеждаемся в правильной настройки общей папки.
4. Проверка работоспособности файлового сервера.
Заходим на рабочую машину расположенную внутри локальной сеть. Подключаемся через проводник на сервер в нашем случае мы подключаемся к \10.15.73.38 так же можно вводить адрес сервера \domain.site.ru или по имени сервера \file-server
После авторизации мы подключились на сервере и видим нашу общую папку:
Рисунок 2 – Созданная общая папка
Мы провели настройку файлового сервера, чтобы можно было пользоваться общими папками и распределять права на определенные файлы. В дальнейшем можно увеличивать количество папок и строить файловую структуру по нуждам компании.
Эти и другие настройки для наших клиентов мы осуществляем в рамках ИТ-аутсорсинга.
Samba — это бесплатное программное обеспечение, которое обеспечивает взаимодействие между системами Linux/Unix и Windows, позволяя создавать файловые и печатные серверы. Установка сервера Samba на Windows Server 2019 полезна, когда необходимо предоставить доступ к файлам и папкам на сервере с другого сервера на Windows Server 2019. В этой статье мы предоставим шаги по установке сервера Samba на Windows Server 2019 через Server Manager и подключению к нему с другого сервера на Windows Server 2019.
Шаг 1: Установка сервера Samba на Windows Server 2019
Чтобы установить сервер Samba на Windows Server 2019, выполните следующие действия:
Запустите Server Manager и нажмите «Добавить роли и компоненты».
Нажмите «Далее» до страницы «Роли сервера».
Выберите «Сервисы файлов и хранилищ» и нажмите «Далее».
Выберите «Сервисы файлов и iSCSI» и нажмите «Далее».
Если они не выбраны, выберите «Сервер для NFS» и «Поддержка SMB 1.0/CIFS для обмена файлами» и нажмите «Далее».
Нажмите «Установить», чтобы установить выбранные роли и компоненты.
После завершения установки перезагрузите сервер.
Шаг 2: Настройка сервера Samba на Windows Server 2019
После установки сервера Samba выполните следующие действия для его настройки:
Откройте Server Manager и выберите «File and Storage Services».
Выберите «SMB Server» и в окне настройки выберите «Create a fale share, start the new SMB share» и введите имя разделяемой папки.
Выберите SMB hare — Quick
Укажите папку, которую вы хотите разделить.
Нажмите «Далее» и выберите имя папки.
Проверьте настройки и нажмите «Создать».
Перезагрузите сервер.
Шаг 3: Подключение к серверу Samba с другого сервера на Windows Server 2019
После установки и настройки сервера Samba на Windows Server 2019 выполните следующие действия, чтобы подключиться к нему с другого сервера на Windows Server 2019:
-
На сервере, с которого вы хотите подключиться к серверу Samba, откройте проводник Windows и выберите «Этот компьютер».
-
Нажмите «Сеть» в левой панели, чтобы открыть доступные сетевые ресурсы.
-
Найдите сервер Samba в списке и дважды щелкните на нем, чтобы открыть доступные разделяемые папки.
-
Выберите нужную папку и нажмите «Подключиться», чтобы подключиться к серверу Samba.
-
Введите имя пользователя и пароль для доступа к папке, если это необходимо.
-
После успешного подключения вы сможете просматривать и работать с файлами в разделяемой папке на сервере Samba.
В заключение, установка сервера Samba на Windows Server 2019 через Server Manager и подключение к нему с другого сервера на Windows Server 2019 может показаться сложной задачей для новичков, но выполнение приведенных выше шагов поможет вам успешно установить и настроить сервер Samba, чтобы подключиться к нему с другого сервера и использовать его в качестве файлового и печатного сервера в вашей сети.
Также предлагаем рассмотреть другие полезные статьи:
- Как попасть в phpMyAdmin из популярных панелей управления сервером
- Как поднять OpenSSH на Windows 2012
- Как поднять Samba сервер на Linux и подключиться к нему из Windows Server 2019