Open
Close

Включение протокола smb 2 windows 10. Доступ к общим ресурсам компьютера MS Windows (протокол SAMBA). Отключение сетевой папки, изменение настроек соединения на STB

SMB или Server Message Block это протокол обмена по сети, предназначенный для совместного использования файлов, принтеров и других различных устройств. Существует три версии SMB – SMBv1, SMBv2 и SMBv3. Из соображений безопасности Microsoft рекомендует отключить SMB версии 1, так как он устарел и использует технологию, которой почти 30 лет. Чтобы избежать заражения вирусами-вымогателями типа WannaCrypt нужно отключить SMB1 и установить обновления для операционной системы. Этот протокол используется Windows 2000, Windows XP, Windows Server 2003 и Windows Server 2003 R2 – поэтому сетевой файловый доступ к данным версиям ОС будет не доступен. Тоже самое относится к некоторым сетевым хранилищам, сканерам и т.п.

Отключение SMB1 из Панели управления

Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows

Отключаем ‘Поддержка общего доступа к файлам SMB 1.0/CIFS’

Отключение SMB1 через Powershell

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

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force

Отключить SMB1 с помощью реестра Windows

Также можно отключить SMBv1 запустив regedit.exe и перейдя к следующему разделу:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Создайте в этом разделе DWORD SMB1 со значением 0 .

Значения для включения и отключения SMB1:

  • 0 = Выключено
  • 1 = Включено

После этого необходимо установить обновление MS17-010. Обновление вышло подо все версии Windows, включая не поддерживаемые больше Windows XP и Windows Server 2003.

И в заключении хочется сказать, что, не смотря на установленный антивирус и регулярные обновления операционной системы, если Вам дороги ваши данные, необходимо в первую очередь думать о резервном копировании.

Почему и как необходимо отключить SMB1 в Windows 10/8/7

По-умолчанию в Windows 10 и в Windows Server 2016 все-еще включена поддержка SMB 1.0. В большинстве случаев он требуется только для обеспечения работы устаревших систем: , Windows Server 2003 и старше. В том случае, если в вашей сети не осталось таких клиентов, в новых версиях Windows желательно отключить протокол SMB 1.x, либо полностью удалить драйвер. Тем самым вы оградитесь от большого количества уязвимостей, которые свойственны этому устаревшему протоколу (о чем лишний раз свидетельствует ) , и все клиенты при доступе к SMB шарам будут использовать новые более производительные, безопасные и версии протокола SMB.

В одной из предыдущих статей мы приводили на стороне клиента и сервера. Согласно таблице, старые версии клиентов (XP, Server 2003 и некоторые устаревшие *nix клиенты) могут использовать для доступа к файловым ресурсам только протокол SMB 1.0. Если таких клиентов в сети не осталось, можно полностью отключить SMB 1.0 на стороне файловых серверов (в том числе контролерах домена AD) и клиентских станциях.

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

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

Set-SmbServerConfiguration –AuditSmb1Access $true

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

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

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

В нашем примере в журнале зафиксировался доступ с клиента 192.168.1.10 по протоколу SMB1. Об этом свидетельствуют события с EventID 3000 от источника SMBServer и описанием:

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.

В данном случае, мы проигнорируем эту информацию, но нужно учитывать тот факт, что в дальнейшем данный клиент не сможет подключаться к данному SMB серверу.

Отключение SMB 1.0 на стороне сервера

Протокол SMB 1.0 может быть отключен как на стороне клиента, так и на стороне сервера. На стороне сервера протокол SMB 1.0 обеспечивает доступ к сетевым папкам SMB (файловым шарам) по сети, а на стороне клиента – нужен для подключения к таким ресурсам.

С помощью следующей команды PowerShell проверим включен ли протокол SMB1 на стороне сервера:

Как вы видите, значение переменной EnableSMB1Protocol = True.

Итак, отключим поддержку данного протокола:

Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force

И с помощью командлета Get-SmbServerConfiguration убедимся, что протокол SMB1 теперь выключен.

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

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -Remove

Осталось перезагрузить систему и убедиться, что поддержка протокола SMB1 полностью отключена.

Get-WindowsOptionalFeature –Online -FeatureName SMB1Protocol

Отключение SMB 1.0 на стороне клиента

Отключив SMB 1.0 на стороне сервера, мы добились того, что клиенты не смогут подключаться к нему по этому протоколу. Однако, они могут использовать устаревший протокол для доступа к сторонним (в том числе внешним) ресурсам. Чтобы отключить поддержку SMB v1 на стороне клиента, выполните команды:

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

Итак, отключив поддержку устаревшего SMB 1.0 на стороне клиентов и серверов вы полостью защитите свою сеть от всех известных и пока не найденных уязвимостей в нем. А уязвимости в Microsoft Server Message Block 1.0 находят довольно регулярно. Последняя существенная уязвимость в SMBv1, позволяющая злоумышленнику удаленно выполнить произвольный код, была исправлена в марте 2017 года.

Если вы из Windows 10 не можете открыть сетевые папки на других сетевых устройствах (NAS, Samba сервера Linux) или на компьютерах со старыми версиями Windows (Windows 7/ XP /2003), скорее всего проблема связана с тем, что в вашей новой версии Windows 10 отключена поддержка устаревших и небезопасных версий протокола SMB (используется в Windows для доступа к общим сетевым папкам и файлам). Так, начиная с Windows 10 1709, был отключен протокол SMBv1 и анонимный (гостевой) доступ к сетевым папкам по протоколу SMBv2.

Microsoft планомерно отключает старые и небезопасные версий протокола SMB во всех последний версиях Windows. Начиная с Windows 10 1709 и Windows Server 2019 (как в Datacenter так и в Standard ) в операционной системе по умолчанию (помните атаку , которая как раз и реализовалась через дыру в SMBv1).

Конкретные действия, которые нужно предпринять зависят от ошибки, которая появляется в Windows 10 при доступе к общей папке и от настроек удаленного SMB сервера, на котором хранятся общие папки.

Вы не можете получить гостевой доступ к общей папке без проверки подлинности

Начиная с версии Windows 10 1709 (Fall Creators Update) Enterprise и Education пользователи стали жаловаться, что при попытке открыть сетевую папку на соседнем компьютере стала появляться ошибка:

Вы не можете получить доступ к этой общей папке, так как политики безопасности вашей организации блокируют гостевой доступ без проверки подлинности. Эти политики помогают защитить ваш компьютер от небезопасных или вредоносных устройств в сети. An error occurred while reconnecting Y: to \\nas1\share Microsoft Windows Network: You can’t access this shared folder because your organization’s security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network.

При это на других компьютерах со старыми версиями Windows 8.1/7 или на Windows 10 с билдом до 1709, эти же сетевые каталоги открываются нормально. Эта проблем связана с тем, что в современных версиях Windows 10 (начиная с 1709) по умолчанию запрещен сетевой доступ к сетевым папкам под гостевой учетной записью по протоколу SMBv2 (и ниже). Гостевой (анонимный) доступ подразумевают доступ к сетевой папке без аутентификации. При доступе под гостевым аккаунтом по протоколу SMBv1/v2 не применяются такие методы защиты трафика, как SMB подписывание и , что делает вашу сессию уязвимой против MiTM (man-in-the-middle) атак.

При попытке открыть сетевую папку под гостем по протоколу SMB2, в журнале клиента SMB (Microsoft-Windows-SMBClient) фиксируется ошибка:

Source: Microsoft-Windows-SMBClient Event ID: 31017 Rejected an insecure guest logon.

В большинстве случае с этой проблемой можно столкнуться при использовании старых версий NAS (обычно для простоты настройки на них включают гостевой доступ) или при доступе к сетевым папкам на старых версиях Windows 7/2008 R2 или Windows XP /2003 с настроенным (гостевым) доступом (см. в разных версиях Windows).

В этом случае Microsoft рекомендует изменить настройки на удаленном компьютере или NAS устройстве, который раздает сетевые папки. Желательно переключить сетевой ресурс в режим SMBv3. А если поддерживается только протокол SMBv2, настроить доступ с аутентификацией. Это самый правильный и безопасный способ исправить проблему.

В зависимости от устройства, на котором хранятся сетевые папки, вы должны отключить на них гостевой доступ.


Есть другой способ – изменить настройки вашего SMB клиента и разрешить доступ с него на сетевые папки под гостевой учетной записью.

Чтобы разрешить гостевой доступ с вашего компьютера, откройте редактор групповых политик (gpedit.msc) и перейдите в раздел: Конфигурация компьютера -> Административные шаблоны -> Сеть -> Рабочая станция Lanman (Computer Configuration ->Administrative templates -> Network (Сеть) -> Lanman Workstation ). Включите политику Enable insecure guest logons (Включить небезопасные гостевые входы) .

Т.е. из сообщения об ошибке четко видно, что сетевая папка поддерживает только SMBv1 протокол доступа. В этом случае нужно попытаться перенастроить удаленное SMB устройство для поддержки как минимум SMBv2 (правильный и безопасный путь).

Если сетевые папки раздает Samba на Linux, вы можете указать минимально поддерживаемую версию SMB в файле smb.conf так:

Server min protocol = SMB2_10 client max protocol = SMB3 client min protocol = SMB2_10 encrypt passwords = true restrict anonymous = 2

В Windows 7/Windows Server 2008 R2 вы можете отключить SMBv1 и разрешить SMBv2 так:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force

Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
Set-SmbServerConfiguration –EnableSMB2Protocol $true

Если ваше сетевое устройство (NAS, Windows XP, Windows Server 2003), поддерживает только протокол SMB1, в Windows 10 вы можете включить отдельный компонент SMB1Protocol-Client. Но это не рекомендуется!!!

Запустите консоль PowerShell и проверьте, что SMB1Protocol-Client отключен (State: Disabled):

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

Включите поддержку протокола SMBv1 (потребуется перезагрузка):

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

Также вы можете включить/отключить дополнительные компоненты Windows 10 (в том числе SMBv1) из меню optionalfeatures.exe -> SMB 1.0/CIFS File Sharing Support

В Windows 10 1709 и выше клиент SMBv1 автоматически удаляется, если он не использовался более 15 дней (за это отвечает компонент SMB 1.0/CIFS Automatic Removal).

В этом примере я включил только SMBv1 клиент. Не включайте компонент SMB1Protocol-Server, если ваш компьютер не используется устаревшими клиентами в качестве сервера для хранения общих папок.

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


В диалоговом окне Новые свойства реестра выберите следующее:


  • Действие: Создать

  • Куст : HKEY_LOCAL_MACHINE

  • Путь к разделу: SYSTEM\CurrentControlSet\Services\Lanman Server\Parameters

  • Имя параметра: SMB1

  • Тип значения: REG_DWORD.

  • Значение: 0

Это отключит серверные компоненты SMB версии 1. Эта групповая политика должна быть применена ко всем необходимым рабочим станциям, серверам и контроллерам домена в домене.

Примечание. Фильтры WMI могут быть также настроены для исключения не поддерживаемых операционных систем или выбранных исключений, таких как Windows XP.

Внимание! Будьте осторожны при внесении изменений на контроллерах, где для устаревших систем, таких как Windows XP или Linux более поздней версии, и сторонних систем (которые не поддерживают протоколы SMB версия 2 или SMB версии 3) требуется доступ к SYSVOL или другим общим папкам, в которых SMB версии 1 был отключен.


Отключение клиента SMB версия 1 с групповой политикой

Для отключения клиента SMB версии 1 ключ службы раздела реестра необходимо обновить для отключения запуска MRxSMB10 , и затем зависимость в MRxSMB10 должна быть удалена из записи для LanmanWorkstation , чтобы она могла быть запущена стандартным способом без запроса MRxSMB10 при первом запуске.

Это обновление заменяет значения по умолчанию в следующих двух элементах реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\services\mrxsmb10

Параметр: Пуск REG_DWORD: 4 = отключено

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Services\LanmanWorkstation

Параметр: DependOnService REG_MULTI_SZ: “Bowser”,”MRxSmb20″,”NSI”

Примечание. По умолчанию содержит MRxSMB10, который в настоящее время исключен как зависимость

Для настройки с использованием групповой политики:


  1. Откройте Консоль управления групповыми политиками . Щелкните правой кнопкой мыши "Объект групповой политики (GPO)", который должен содержать новый предпочтительный элемент, затем нажмите Изменить .

  2. В дереве консоли в разделе Конфигурация компьютера разверните папку Настройки , затем разверните папку Параметры Windows .

  3. Щелкните правой кнопкой мыши узел Реестр , нажмите Новый и выберите Элемент реестра .

В диалоговом окне Новые свойства реестра выберите следующее:


  • Действие: Обновление

  • Куст : HKEY_LOCAL_MACHINE

  • Путь к разделу: SYSTEM\CurrentControlSet\services\mrxsmb 10

  • Имя параметра: Start

  • Тип значения: REG_DWORD.

  • Значение данных : 4

Затем удалите зависимость в MRxSMB10 , которая была отключена

В диалоговом окне Новые свойства реестра выберите следующее:


  • Действие: Замените

  • Куст : HKEY_LOCAL_MACHINE

  • Путь к разделу: SYSTEM\CurrentControlSet\Services\Lanman Workstation

  • Имя параметра: DependOnService

  • Тип парамтера REG_MULTI_SZ

  • Значение данных :

    • Bowser

    • MRxSmb20



Примечание. У эти трех строк, не будет маркеров (см. ниже)

Значения по умолчанию содержат MRxSMB10 в большом количестве версий Windows, поэтому замена их многозначной строкой приведет к удалению MRxSMB10 как зависимости для LanmanServer и переходу от четырех значений по умолчанию к только трем значениям, описанным выше.

Примечание. При использовании Консоли управления групповыми политиками не нужно использовать кавычки или запятые. Просто введите каждую запись отдельной строкой, как указано выше

Требуется перезагрузка:

После применения политики и ввода параметров реестра SMB версия 1 будет отключена после перезагрузки системы.

Аннотация

Если все параметры находятся в одном Объекте групповой политики (GPO), то Управление групповыми политиками отобразит параметры ниже.

Тестирование и проверка

После настройки дайте разрешение политике выполнить репликацию и обновление. Поскольку это необходимо для тестирования, запустите gpupdate /force из строки CMD.EXE и затем просмотрите целевые машины, чтобы параметры реестра были применены правильно. Убедитесь, что SMB версия 2 и SMB версия 3 работают для всех систем в среде.

Внимание! Не забудьте перезагрузить целевые системы.

Аннотация

В этой статье описываются процедуры включения и отключения протокола Server Message Block (SMB) версии 1, SMB версии 2 (SMBv2) и SMB версии 3 (SMBv3) в клиентских и серверных компонентах SMB.

Предупреждение. Не рекомендуется отключать прокол SMB версии 2 или 3. Отключать протокол SMB версии 2 или 3 следует только в качестве временной меры устранения неполадок. Не оставляйте протокол SMB версии 2 или 3 в отключенном состоянии.

В Windows 7 и Windows Server 2008 R2 отключение протокола SMB версии 2 приведет к отключению указанных далее функциональных возможностей.


  • Комбинирование запросов, позволяющее отправлять несколько запросов SMB 2 как единый сетевой запрос.

  • Большие объемы операций чтения и записи, позволяющие оптимально использовать быстрые сети.

  • Кэширование свойств файлов и папок, в которых клиенты сохраняют локальные копии файлов и папок.

  • Долговременные дескрипторы, позволяющие прозрачно восстанавливать подключение к серверу в случае временного отключения.

  • Усовершенствованные подписи сообщений, где алгоритм хэширования HMAC SHA-256 заменяет MD5.

  • Усовершенствованное масштабирование для совместного использования файлов (существенно увеличено число пользователей, общих ресурсов и открытых файлов на сервер).

  • Поддержка символьных ссылок.

  • Модель аренды нежестких блокировок клиентов, ограничивающая объем данных, передаваемых между клиентом и сервером, что позволяет улучить производительность сетей с большой задержкой и повысить масштабируемость SMB-сервера.

  • Поддержка больших MTU для полноценного использования 10-гигабитного Ethernet.

  • Снижение энергопотребления — клиенты, имеющие открытые для сервера файлы, могут находиться в режиме сна.

В Windows 8, Windows 8.1, Windows 10, Windows Server 2012 и Windows Server 2016 отключение протокола SMB версии 3 приведет к отключению указанных далее функциональных возможностей (а также функциональности протокола SMB версии 2, описанной в предыдущем списке).

  • Прозрачная отработка отказа, при которой клиенты переключаются на узлы кластера во время обслуживания или сбоя без нарушения работы.

  • Масштабирование - с предоставлением параллельного доступа к общим данным на всех узлах кластера.

  • Многоканальность обеспечивает агрегирование полосы пропускания сетевого канала и отказоустойчивость сети в различных каналах, имеющихся между клиентом и сервером.

  • SMB Direct - предоставляет поддержку сетей RDMA для обеспечения очень высокой производительности, небольшой задержки и низкого коэффициента использования ЦП.

  • Шифрование - обеспечивает сквозное шифрование данных и защищает их от перехвата в ненадежных сетях.

  • Аренда каталогов сокращает время ответа приложений в филиалах за счет кэширования.

  • Оптимизация производительности операций произвольного чтения и записи небольших объемов данных.


Дополнительная информация

Как включить и отключить протоколы SMB на SMB-сервере

Windows 8 и Windows Server 2012

В Windows 8 и Windows Server 2012 представлен новый командлет Windows PowerShell Set-SMBServerConfiguration . Он позволяет включать или отключать протоколы SMB версии 1, 2 и 3 на сервере.
Примечания . При включении или отключении протокола SMB версии 2 в Windows 8 или Windows Server 2012 также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.
После выполнения командлета

  • Чтобы получить текущее состояние конфигурации протокола SMB-сервера, выполните следующий командлет:

    Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol



  • Set-SmbServerConfiguration -EnableSMB1Protocol $false



  • Set-SmbServerConfiguration -EnableSMB2Protocol $false



  • Set-SmbServerConfiguration -EnableSMB1Protocol $true



  • Set-SmbServerConfiguration -EnableSMB2Protocol $true


Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008

Чтобы включить или отключить протоколы SMB на SMB-сервере с Windows 7, Windows Server 2008 R2, Windows Vista или Windows Server 2008, воспользуйтесь Windows PowerShell или редактором реестра.

Windows PowerShell 2.0 или более поздняя версия PowerShell


  • Чтобы отключить протокол SMB версии 1 на SMB-сервере, выполните следующий командлет:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Serv ices\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force



  • Чтобы отключить протоколы SMB версии 2 и 3 на SMB-сервере, выполните следующий командлет:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Serv ices\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force



  • Чтобы включить протокол SMB версии 1 на SMB-сервере, выполните следующий командлет:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Serv ices\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force



  • Чтобы включить протоколы SMB версии 2 и 3 на SMB-сервере, выполните следующий командлет:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Serv ices\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force


Примечание . После внесения этих изменений компьютер необходимо перезагрузить.

Редактор реестра

Внимание ! В статье содержатся сведения об изменении реестра. Перед внесением изменений рекомендуется создать резервную копию реестра. и изучить процедуру его восстановления на случай возникновения проблемы. Дополнительные сведения о создании резервной копии, восстановлении и изменении реестра см. в указанной ниже статье базы знаний Майкрософт. Чтобы включить или отключить протокол SMB версии 1 на SMB-сервере, настройте следующий раздел реестра:

Подраздел реестра: Запись реестра: SMB1
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включено

Чтобы включить или отключить протокол SMB версии 2 на SMB-сервере, настройте следующий раздел реестра:

Подраздел реестра:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Services\LanmanServer\Parameters Запись реестра: SMB2
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включено


sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi


sc.exe config mrxsmb10 start= disabled

  • Чтобы включить протокол SMB версии 1 на SMB-клиенте, выполните следующие команды:


    sc.exe config mrxsmb10 start= auto



  • Чтобы отключить протоколы SMB версии 2 и 3 на SMB-клиенте, выполните следующие команды:

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



  • Чтобы включить протоколы SMB версии 2 и 3 на SMB-клиенте, выполните следующие команды:

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


Примечания.

  • Эти команды следует вводить в командной строке с повышенными привилегиями.

  • После внесения этих изменений компьютер необходимо перезагрузить.