Боремся с вирусами и инфраструктурой, или отключение SMB v1. Доступ к общим ресурсам компьютера MS Windows (протокол SAMBA) Windows 10 не открываются сетевые папки

Аннотация

В этой статье описываются процедуры включения и отключения протокола 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


Примечания.

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

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

Привет! Для тех кто не в теме, начну из далека. На компьютерах и ноутбуках с установленной Windows в проводнике есть отдельная вкладка "Сеть". На этой вкладке отображаются устройства из сетевого окружения. То есть, открыв вкладку "Сеть" мы там можем наблюдать компьютеры, сетевые хранилища (NAS), устройства мультимедиа (DLNA), флешки и внешние диски, которые подключены к роутеру и к которым настроен общий доступ. Проще говоря, те устройства, которые подключены через один роутер (находятся в одной сети) и на которых включена функция сетевого обнаружения (устройства, которые могут быть обнаружены в локальной сети) . Там так же может отображаться наш маршрутизатор (раздел "Сетевая инфраструктура") и другие устройства.

Сейчас поясню что и как, и почему я вообще решил написать эту статью. У меня роутер ASUS, к которому я подключил USB флешку, и настроил общий доступ к этой флешке для всех устройств в сети. И что вы думаете, в разделе "Сеть" на всех компьютерах появился этот сетевой накопитель (он там отображается как "Компьютер") , а на моем компьютере он не отображался. То есть, мой компьютер не видел ни флешку подключенную к роутеру, ни другие компьютеры в этой сети. Зато отображался DLNA-сервер запущен на том же роутере. Но это ничего не меняет, так как мне нужен обычный сетевой доступ к накопителю.

Так же я не мог получить доступ к флешке, когда набирал ее адрес //192.168.1.1 в проводнике. Сразу этот адрес открывался через браузере. И мне не удалось подключить этот накопитель как сетевой диск. Его просто не было в списке доступных устройств в сетевом окружении.

Такая проблема, когда Windows 7, Windows 8, или Windows 10 не видит сетевые устройства – не редкость. Это не обязательно должна быть флешка, или внешний HDD, который вы подключили к своему маршрутизатору, как в моем случае. Чаще всего настраивают общий доступ между компьютерами в локальной сети. И точно так же сталкиваются с проблемой, когда компьютеры подключены к одной сети (к одному роутеру) , настройки общего доступа выставлены правильно, а на вкладке "Сеть" пусто. Или отображается только маршрутизатор и ваш компьютер.

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

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

Проверяем настройки общего доступа

Мы будем рассматривать два случая:

  1. Когда компьютеры не видят друг друга в локальной сети.
  2. Общий доступ к сетевому накопителю. Это у нас может быть флешка, или жесткий диск который подключен к роутеру, или отдельный накопитель (он же NAS) .

Первый случай

Чтобы компьютеры могли видеть друг друга и отображаться в проводнике в разделе "Сеть", они должны быть подключены через один маршрутизатор. Или соединены напрямую (кабелем, или по Wi-Fi) . Проще говоря, они должны находится в одной локальной сети.

Дальше, на всех компьютерах (не знаю, сколько их там у вас) , желательно присвоить статус сети "Домашняя" (частная). Как это сделать в Windows 10, я писал в статье . В Windows 7 достаточно зайти в "Центр управления сетями и общим доступом" и сменить там статус текущего подключения.

Если после этого по прежнему компьютер не обнаруживает другие компьютеры (или наоборот) , то давайте еще проверим параметры общего доступа.

Для этого, в окне "Центр управления сетями и общим доступом" (если не знаете как открыть его в Windows 10, то смотрите статью) нажимаем на пункт "Изменить дополнительные параметры общего доступа".

И для текущего профиля (обычно это "Частная") выставляем параметры как на скриншоте ниже.

Делаем это на всех компьютерах в локальной сети.

Статьи по этой теме:

Как правило, эти советы решают все проблемы с обнаружением компьютеров в локальной сети.

Второй случай

Когда у вас проблемы с доступом к сетевому накопителю. Как в моем случае. Windows 10 не видела USB накопитель, который был подключен к роутеру ASUS. Сейчас много маршрутизаторов имеют USB-порт для подключения накопителей и других устройств, так что тема актуальная.

Нужно убедится, что в настройках роутера этот накопитель определен, и общий доступ к нему включен. Понятно, что на разных маршрутизаторах, это делается по-разному. На роутерах ASUS, например, это выглядит вот так:

Статьи по теме:

Не путайте настройки общего доступа с настройками FTP. Настройки FTP-сервера на роутере в данном случае не при чем.

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

Антивирус или брандмауэр может блокировать сетевые устройства

Если вашему антивирусу, или брандмауэру (фаерволу) , который установлен на вашем компьютере что-то не понравилось, то он легко может сделать так, что ни вы не сможете видеть другие устройства в сетевом окружении, ни вас никто не сможет обнаружить.

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

Поэтому, попробуйте на время полностью остановить работу антивируса, или хотя бы отключить встроенный в него фаервол (межсетевой экран) . В NOD 32 это делается вот так:

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

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

Если окажется, что проблема в антивирусе, то нужно добавить свою сеть в исключения. Запретить фаерволу блокировать саму сеть, или сетевые устройства.

Если у вас нет антивируса, то можно поэкспериментировать с отключением/включением брандмауэра встроенного в Windows.

Рабочая группа

Рабочая группа должна быть одинаковой на всех устройствах. Как правило, так и есть. Но желательно проверить. Для этого откройте свойства компьютера "Система" и перейдите в "Дополнительные параметры системы".

Там будет указана "Рабочая группа". Чтобы изменить ее, нужно нажать на кнопку "Изменить".

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

Если у вас проблема с доступом к сетевому накопителю (к флешке через маршрутизатор) , то в настройках общего доступа на том же роутере ASUS так же указана рабочая группа. Можете посмотреть на скриншоте выше в статье. Она должна быть такой же, как на компьютере.

Проблема с доступом к общей сетевой папке по SMB1 в Windows 10 (мое решение)

Вернемся конкретно к моей проблеме. Все что я описал выше, проверил и перепроверил уже по 10 раз. Пару раз сделал , но Windows 10 так и не видела другие компьютеры в сети и что самое главное – в проводнике так и не появлялась общая папка в виде флеши подключенной к роутеру. А на других устройствах в сети все определялось без проблем. В том числе мой ноутбук.

Где-то я прочитал, что можно попробовать открыть общую папку через окно "Выполнить". Нажал сочетание клавиш Win + R, ввел адрес сетевой папки //192.168.1.1 (он же адрес роутера) .

Доступ к накопителю я не получил, но появилась интересная ошибка:

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

Вашей системе необходимо использовать SMB2 или более позднюю версию.

Это уже интересно. Хоть что-то.

SMB (Server Message Block) – сетевой протокол, который отвечает за общий доступ к файлам, принтерам и другим сетевым устройствам.

Начал искать. И оказывается, что в Windows 10 отказались от протокола SMB1. Из-за безопасности. А установленный на моем роутере пакет программ Samba походу работает по протоколу SMB1. Поэтому Windows 10 его не видит. Но другие компьютеры, которые так же работают на Windows 10 у меня так же не отображались на вкладке "Сеть".

Так как обновить протокол к SMB2 в настройках роутера я не мог, то решил что нужно как-то включить поддержку SMB1 в Windows 10. И как оказалось, это без проблем можно сделать. В итоге, после подключения компонента "Клиент SMB 1.0/CIFS" у меня все заработало. Система увидела общие папки на компьютерах в сети и сетевую папку настроенную на самом роутере.

Как включить SMB1 в Windows 10?

Через поиск найдите и откройте старую "Панель управления".

Переключитесь на "Мелкие значки" и откройте "Программы и компоненты".

Открываем "Включение или отключение компонентов Windows". Находим пункт "Поддержка общего доступа к файлам SMB 1.0/CIFS". Открываем его и ставим галочку возле "Клиент SMB 1.0/CIFS". Нажимаем Ok.

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

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

Буду рад, если эта статья кому-то пригодится и поможет решить возникшую проблему. Не забудьте написать в комментариях о результатах. Или задать вопрос, куда же без них 🙂

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

Последние масштабные вирусные атаки распространялись с использованием дыр и недостатков старого протокола SMB1. По одной из несущественных причин, операционная система Windows по-прежнему разрешает его работу по умолчанию. Эта старая версия протокола служит для совместного использования файлов в локальной сети. Его более новые версии 2 и 3 стали более защищенными и их стоит оставить включенными. Так, как вы используете новую операционную систему под номером 10 или предыдущую – 8 или даже уже устаревшую – 7, вы должны отключить этот протокол на вашем ПК.

Он включен только потому, что ещё некоторыми пользователями используются старые приложения, которые не были вовремя обновлены для работы с SMB2 или SMB3. Корпорация Майкрософт составила их список. Его, при необходимости, найдите и просмотрите в Интернете.

Если вы поддерживаете все свои программы, установленные на компьютере, в надлежащем состоянии (вовремя обновляете), вам вероятнее всего необходимо отключить этот протокол. Этим на один шаг увеличите защищенность своей операционной системы и конфиденциальных данных. Кстати, даже специалисты самой корпорации рекомендуют его отключать, в случае необходимости.

Вы готовы к внесению изменений? Тогда давайте продолжим.

SMB1

Откройте Панель управления, где перейдите в раздел “Программы” и выберите подраздел “Включение / отключение компонентов Windows”.

В списке найдите опцию “Поддержка общего доступа к файлам SMB 1.0/CIFS”, снимите с него отметку и нажмите кнопку “ОК”.

Перезагрузите операционную систему, предварительно сохранив все свои редактируемые перед этим файлы, такие как документы и т.п.

ДЛЯ WINDOWS 7

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

Откройте редактор, для чего нажмите сочетание клавиш Win + R на клавиатуре и набрав “regedit” в поле для ввода. Далее пройдите по следующему пути:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

создайте новый 32-битный параметр DWORD и присвойте ему имя “SMB1” со значением “0”. Перезагрузите систему.

Внимание! Эти способы действуют для отключения протокола только на одном ПК, но не во всей сети. Обратитесь к официальной документации Microsoft за интересующей вас информацией.

Этой осенью Microsoft планирует полностью отключить протокол SMBv1 в Windows 10 .

Сетевой протокол SMB первой версии был разработан Microsoft уже пару десятков лет назад. Компания четко осознает, что дни данной технологии уже давно сочтены.

Тем не менее, данное изменение коснется только новые установки Windows 10. Если вы просто выполните обновление до Windows 10 Fall Creators Update , протокол все еще останется в системе.

В тестовой сборке Windows 10 Insider Preview build 16226 SMBv1 уже полностью отключен. В версиях Домашняя и Pro по умолчанию удален серверный компонент, но клиент SMB1 по-прежнему остается в системе. Это означает, что вы можете подключаться к устройствам по SMB1, но никто не сможет подключиться к вашей машине по нему. В версиях Enterprise и Education SMB1 отключен полностью.

Нед Пайл (Ned Pyle) из Microsoft пояснил, что основной причиной для данного решения стало повышение уровня безопасности:

“Это главная, но не единственная причина. Старый протокол был заменен более функциональным SMB2, которые предоставляет более широкие возможности. Версия 2.02 поставляется с Windows Server 2008 и является минимальной рекомендуемой версией SMB. Чтобы получить максимальную безопасность и функциональность, стоит использовать версию SMB 3.1.1. SMB 1 уже давно морально устарел”.

Хотя SMBv1 все еще останется на устройствах, обновленных до Windows 10 Fall Creators Update, его можно отключить вручную.

Как отключить SMB1 в Windows 10

  1. Наберите в поиске мню Пуск Панель управления и перейдите в "Программы и компоненты".
  2. В левом меню выберите опцию “Включение и отключение компонентов Windows”.
  3. Уберите галочку около объекта “Поддержка общего доступа к файлам SMB 1.0/CIFS ”.

или с помощью PowerShell:

  1. Щелкните правой кнопкой мыши по меню Пуск, выберите опцию Windows PowerShell (администратор)
  2. Выполните команду Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol