SMB Windows 10: настройка и как включить SMB1 и SMB2

Всем привет! Сегодня столкнулся с такой проблемой. При построении локальной сети с двумя компьютерами первый (Windows 10) наотрез отказывается видеть другой комп (Windows 7). Все настройки я произвел правильно и открыл общий доступ. Но как потом оказалось, вся проблема в специальном сетевом протоколе SMB 1. Дело в том, что это старый протокол, который работает на олдскульных ОС. И он есть в десятке, но на последних обновлениях операционной системы Microsoft решила его отключить (во имя безопасности).

Симптомы достаточно простые. Вы выполнили все нужные настройки, заходите в раздел сети, а там ничего кроме вашего маршрутизатора не отображается. Бывает такое, что компьютер вы видите, и даже можете на него зайти, но вот при попытке открыть расшаренную папку можно лицезреть вот такое вот сообщение:
«Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколу SMB1, который не безопасен и может подвергнуть вашу систему риску атаки.»

Может быть еще вот такой текст ошибки: «Не удалось выполнить сопоставление сетевого диска из-за следующей ошибки». Ну и дальше все в том же духе.

Кстати, некоторые старые роутеры, также исползают устаревший SMB1 протокол – поэтому если у вас еще наблюдается проблема с доступом к жесткому диску или флешке, которые подключены к роутеру, то дальнейшие инструкции вам также будут полезны. Что мы будем делать? – нам нужно просто включить протокол SMBv1, и проблема будет решена. Поехали!
Включения SMB1 на Windows 10
Открываем меню «Пуск» и в поисковой строке вводим «Включение и отключение компонентов Windows». Можете просто ввести не полное слово «компонент». Вы также можете зайти туда через «Панель управления» (нажимаем кнопки «Win» и «R» – вводим команду: control). Далее заходим в «Программы и компоненты» и слева выбираем тот же самый пункт с отключением и включением компонентов.

Находим раздел с упоминанием нашего любимого протокола и включаем в папке все галочки. В самом конце нажимаем «ОК», чтобы изменения были приняты.

После этого SMB-1 в Windows 10 будет включено, и проблемы с сетью возникнуть не должны. Я бы на всякий случай перезагрузил компьютер. Но если вы все равно не видите какой-то компьютер в сети, или есть проблемы с доступом, смотрим следующую главу.
Проверка настроек
Нам нужно посмотреть настройки общего доступа и есть ли они у вас вообще.
- В «Пуске» нажмите по шестеренке.

- Заходим в раздел «Сеть и Интернет».

- Тут же на первой странице (вкладка «Состояние») откройте «Свойства» того подключения, которое вы используете для коннекта с роутером. Если вы подключены по кабелю, то выбираем «Ethernet», если вы подключены по «Wi-Fi», то выбираема второе подключение. На старых версиях нужно открыть ссылку «Изменить свойства подключения».

- Убедитесь, чтобы тип сетевого профиля был как «Частный». Вернитесь обратно, нажав по стрелки влево.

- Пролистните чуть ниже и откройте «Центр управления сетями…». Этот раздел может также называться как «Параметры общего доступа». Поэтому можете ориентироваться по значку или найти раздел со словами «Общий доступ».

- Слева выбираем третий пункт для изменения параметров.

- Так как мы уже изменили текущий профиль на частный, то открываем его.

- Теперь открываем раздел «Все сети» и включаем сетевое обнаружение для папок. Шифрование должно стоять в нужной позиции, но если это не так, то включите 128-и битное шифрование. Обязательно отключите параметр, который будет запрашивать у вас пароль при заходе в общую папку или при запросе к этому компьютеру.

- В самом конце сохраняем изменения.
Включение SMB2
Сначала давайте проверим статус SMBv2. Для это откройте «PowerShell» с правами админа, нажав ПКМ по кнопке «Пуск».

Get-SmbServerConfiguration | Select EnableSMB2Protocol
Если вы видите значение «True», то значит протокол работает. Если стоит значение «False», то включить параметр можно также с помощью команды:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
ПРИМЕЧАНИЕ! Таким же образом можно включить или выключить SMB1 – просто замените в команде одну цифру (2 на 1).
Далее кликаем по «Y» и на «Enter», чтобы подтвердить свои действия. Если же вы хотите отключить SMB2, то вместо «true» ставим «false». В конце не забываем перезагрузить систему.
Ничего не помогло, папку или компьютер не видно, ничего не работает
Если проблема остается, то есть несколько вариантов – от неправильных сетевых настроек до проблем с некоторыми службами в самой операционной системе. Все решения я уже описал в отдельной статье, и с ней вы можете ознакомиться по этой ссылке. То, что описано там, должно помочь.
Протокол SMBv1: суть и актуальность поддержки, методология включения и отключения
Компьютер подвержен вирусным атакам, нередко выводящим его из строя. Для обеспечения безопасности используются антивирусные программы, а разработчики операционных систем снабжают свои продукты защитными компонентами, обеспечивающими базовую защиту. Кроме защитных инструментов, в системе имеются и «проблемные» компоненты, которыми злоумышленники могут воспользоваться с целью выполнения мошеннических операций. Об одном из инструментов такого класса, а именно о его надёжности и соответствии требованиям времени по защите устройств, пойдёт речь в этом повествовании. В этой статье расскажем, что собой являет протокол SMBv1, входящий в состав операционной системы Windows, проанализируем потребность в нём, актуальность его работы, и методы его включения или отключения.

Потребность в поддержке SMBv1 в ОС Windows
Для многих пользователей ПК словосочетание «Протокол SMBv1» является непонятным и непонятно, нужен ли этот компонент в системе для выполнения конкретных задач. Протокол SMB первой серии является по умолчанию системным компонентом ОС Windows, независимо от её версии, отвечает за файлообменные процессы на ПК, причём его «возраст» составляет около тридцати лет. Естественно, по меркам компьютерных технологий, согласно возрасту протокола, его можно смело назвать устаревшим, но поддержка SMBv1 по непонятным причинам, применяется не только в седьмой или восьмой версии ОС, но и в Windows 10. Причина этого кроется далеко не в некомпетентности разработчиков Microsoft, а в банальном применении файловых продуктов в обиходе, с которыми невозможно будет работать без этого протокола.
ВНИМАНИЕ. На базе этой информации возникает логичный вопрос, почему тогда есть смысл рассуждать о необходимости отключения поддержки, если она до сих пор используется, и даже необходима в определённой сфере компьютерной деятельности? Вирусная атака, несколько лет назад парализовавшая работу компьютерных систем, под именем Petya, внедрилась в ПК именно через уязвимую область. Этим «слабым звеном» и выступал протокол SMB.
Через аналогичную лазейку попадают на ПК и не менее известные программы-вымогатели, к примеру, WannaCry, Satana и подобные им вирусы, способные полностью парализовать функционирование компьютерного устройства. Суть заражения заключается в полной блокировке работоспособности системы, что предусматривает возможную переустановку ОС, в то время как для глобальных компаний такой метод является недопустимым.
Разобравшись в сути проблемы, стоит переходить к вопросу, нужен ли протокол SMB, отвечающий за файлообменные процессы в локальной сети и возможность работы с файлами, надо ли его деактивировать или включить на своём ПК поддержку SMBv1. Если пользователь эксплуатирует приложения, для работы с которыми необходим протокол SMBv1, тогда поддержку надо активизировать, так как в ином случае работать с ними будет невозможно. На официальном сайте Microsoft пользователь самостоятельно может изучить список приложений, для работы с которыми необходима поддержка этого протокола. Если вашим программам не нужна поддержка этого протокола, тогда его нужно отключить, при этом можно оставить в рабочем состоянии последующие версии поддержки класса SMB. Рассмотрим метод включения и отключения протокола SMBv1, различающуюся по процессу выполнения, в зависимости от версии установленной ОС.
Как включить протокол SMBv1
Потребность в SMBv1 очень сомнительна, так как файлов в сети, для работы с которыми требуется этот формат всё меньше, с прогрессивным их сведением практически к нулю. Соответственно, более актуальной считается потребность в блокировании протокола, о чём будет рассказано позже.
Стоит отметить, что формат SMBv1 активирован во всех версиях ОС начиная с Windows 7. Исключением из правил является Windows 10, 1709 версии и выше, в которых убрана поддержка SMBv1. Иногда возникает потребность включить SMBv1 в Windows 10, при необходимости эксплуатации такого модуля для выполнения конкретных задач, в частности, снятия запрета на доступ к сетевым папкам. Для осуществления активации протокола потребуется зайти в Windows Features (Компоненты Windows), отыскать в каталоге SMB 1.0/CIFS File Sharing Support, развернуть папку, и проставить галочки напротив пунктов SMB 1.0/CIFS Client, SMB 1.0/CIFS Automatic Removal и SMB 1.0/CIFS Server. Активировать все позиции одновременно, можно, проставив флажок напротив названия каталога. После подтверждения изменений потребуется перезапустить ПК.
Сняв ограничение по протоколу, пользователю стоит понимать, что риск заражения системы в этом случае значительно повышается.

Метод деактивации протокола SMBv1
Если работа с файловыми приложениями, требующими поддержки SMBv1, не предусматривается, то необходимо его деактивировать. Отключение SMBv1 – это не очень сложный процесс. Отключить протокол SMBv1 в Windows 7 можно внесением изменений в реестр. При работе с реестром стоит быть очень внимательным, так как некорректные операции в его структуре могут стать причиной нарушения целостности системы, с последующим выходом её из строя или же существенным нарушением работоспособности. Чтобы отключить протокол SMBv1 потребуется пошагово выполнить следующие манипуляции:
- Для начала необходимо найти в «Редактор реестра», через меню «Пуск», или введением команды Regedit в поисковой строке.
- Запустить «Редактор реестра» от имени «Администратора», щёлкнув правой кнопкой мышки по его названию.
- В левой области открывшегося окна потребуется найти пункт с названием HKEY_LOCAL_MACHINE в папку SYSTEM, где перейти CurrentControlSet/Services/LanmanServer.
- Развернув папку LanmanServer, пользователь получит доступ к подразделу Parameters, в котором потребуется создать новый компонент. Для этого щелчком правой кнопки мышки по папке Parameters разворачивается выпадающий список, дальше выбрать команду «Создать», выбрать «Параметр DWORD (32 бит)».
- Созданному элементу необходимо присвоить имя SMB1. По умолчанию, компонент формируется с нулевым значением, что сбрасывает необходимость редактирования параметра: цифра «0» в этом случае интерпретируется как «отключение протокола».

Дальше перезагружаем ПК, посредством чего активируем выполненные изменения, и тем самым отключаем SMBv1 в Windows 7. В деактивированном режиме модуль больше не будет выступать уязвимым местом для вирусных атак, использующих для внедрения в систему первый протокол связи категории SMB.
Для Windows 8 и последующих версий регламент операции отключения поддержки SMBv1, выглядит следующим образом:
- Через «Панель управления» необходимо зайти в пункт «Программы», с последующим переходом в конфигурацию «Программы и компоненты», где выбрать задачу «Включение и отключение компонентов Windows».
- В открывшемся окне потребуется отыскать компонент под названием «SMB 1.0 GIFS…», удалить напротив него «галочку», и подтвердить изменение нажатием кнопки ОК внизу экрана.
После подтверждения изменений система «предложит» перезагрузить ПК, чтобы внесённые обновления активизировались.
Подведение итогов
В статье дан метод отключения протокола SMBv1 для Windows 7, 8 и 10. При потребности обезопасить несколько компьютеров одновременно, работающих по сетевому принципу, потребуется описанные манипуляции выполнить посредством групповой политики безопасности. Помните, безопасность системы должна выступать приоритетным критерием для пользователя ПК, а так как отключение конфигурации рекомендуется даже разработчиками ОС, то игнорировать этот процесс не стоит.
Как включить или отключить протокол SMB 1.0 в Windows 10/11 и Windows Server?

01.12.2023

itpro

PowerShell, Windows 10, Windows 11, Windows Server 2019, Групповые политики

комментариев 30
Протокол доступа к общим файлам 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 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, появятся ошибки вида:
Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколу 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:

Чтобы установить клиент SMB 1, выполните команду:
Включить поддержку серверной части SMB 1.0:
Затем проверьте, что протокол 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.
Совет. Список событий из журнала Event Viewer можно вывести командой PowerShell:
Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit
Проверьте, есть ли в журнале событие с 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. Затем с помощью Invoke-Command выполнит подключение через PowerShell Remoting к каждому компьютеру и проверит включен ли сервис SMB 1.0.
gpmc.msc ), создайте новый объект GPO (disableSMBv1) и назначьте его на OU с компьютерами, на которых нужно отключить SMB1;
Action: Update
Hive: HKEY_LOCAL_MACHINE
Key Path: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Value name: SMB1
Value type: REG_DWORD
Value data: 0

Если вы хотите через 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:

Предыдущая статья Следующая статья
Включение протокола SMB1 в Windows 10

Протокол Server Message Block (SMB) — сетевой протокол обмена файлами. Протокол SMB доступен в операционных системах таких как Windows, Linux и Android.
Протокол SMB1 устарел и стал не безопасен, тем не менее он был единственным выбором для операционных систем до Windows XP. В последних версиях Windows 10 SMB1 отключен из соображений безопасности.
Начиная с Windows Vista, Microsoft внедрила новую версию SMB, известную как SMB2. Однако более старые версии Windows и многие приложения, работающие на Android и Linux, не поддерживают последние версии SMB, что делает невозможным сетевое подключение ПК с Windows к таким устройствам, если включен только SMB v2/v3. SMB1 отключен по умолчанию, начиная с Windows 10 версии 1709 «Fall Creators Update».
Если в вашей сети есть компьютеры или другие устройства, на которых работают системы, предшествующие Windows Vista, или приложения Android или Linux, которые работают только с SMB v1, вам необходимо включить его для работы в сети с этими устройствами.
Прежде чем продолжить, убедитесь, что ваша учетная запись имеет права администратора.
Включение поддержки протокола SMB1 на Windows 10:
- Нажмите Win+R и выполните команду optionalfeatures
- В появившемся окне выберите Клиент SMB1.0/CIFS и установите

Включение поддержки протокола SMB1 с помощью PowerShell:
- Запустите PowerShell от имени Администратора
- Выполните команду в консоли:
Enable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol" -All
- Для проверки включен ли у вас протокол SMB1 выполните в консоли команду:
Get-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"