Если вы из Windows 10 или 11 не можете открыть сетевые папки на других сетевых устройствах (NAS, Samba сервера Linux) или на компьютерах со старыми версиями Windows (Windows 7/ XP /2003), скорее всего проблема связана с тем, что в вашей версии Windows отключена поддержка устаревших и небезопасных версий протокола SMB (используется в Windows для доступа к общим сетевым папкам и файлам). В современных версиях Windows 10 и в Windows 11 по-умолчанию отключен протокол SMBv1 и анонимный (гостевой) доступ к сетевым папкам по протоколу SMBv2 и SMBv3.
Microsoft планомерно отключает старые и небезопасные версии протокола SMB во всех последний версиях Windows. Начиная с Windows 10 1709 и Windows Server 2019 (как в Datacenter так и в Standard редакциях) в операционной системе по умолчанию отключен протокол SMBv1 (помните атаку шифровальщика WannaCry, которая как раз и реализовалась через дыру в SMBv1).
Конкретные действия, которые нужно предпринять зависят от ошибки, которая появляется в Windows при доступе к общей сетевой папке и от настроек удаленного SMB сервера, на котором хранятся общие папки.
Содержание:
- Вы не можете получить гостевой доступ к общей папке без проверки подлинности
- Вашей системе необходимо использовать SMB2 или более позднюю
- Нет доступа к сетевой папке, у вас нет прав доступа
- Дополнительные способы проверки доступа к сетевой папке в Windows
Вы не можете получить гостевой доступ к общей папке без проверки подлинности
Начиная с версии 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) фиксируется ошибка:
Log Name: Microsoft-Windows-SmbClient/Security Source: Microsoft-Windows-SMBClient Event ID: 31017 Rejected an insecure guest logon.
Данная ошибка говорит о том, что ваш компьютер (клиент) блокирует не аутентифицированный доступ под аккаунтом guest.
Чаще всего с этой проблемой можно столкнуться при использовании старых версий NAS (обычно для простоты настройки на них включают гостевой доступ) или при доступе к сетевым папкам на старых версиях Windows 7/2008 R2 или Windows XP /2003 с настроенным анонимным (гостевым) доступом (см. таблицу поддерживаемых версий SMB в разных версиях Windows).
Microsoft рекомендует изменить настройки на удаленном компьютере или NAS устройстве, который раздает сетевые папки. Желательно переключить сетевой ресурс в режим SMBv3. А если поддерживается только протокол SMBv2, тогда нужно настроить доступ с аутентификацией. Это самый правильный и безопасный способ исправить проблему.
В зависимости от устройства, на котором хранятся сетевые папки, вы должны отключить на них гостевой доступ.
- NAS устройство – отключите гостевой доступ в настройках вашего NAS устройства (зависит от модели);
- Samba сервер на Linux — если вы раздаете SMB папку с Linux, добавьте в в секции [global] конфигурационного файла smb.conf строку:
map to guest = never
А в секции с описанием сетевой папки запретить анонимный доступ:
guest ok = no
- В Windows вы можете включить общий доступ к сетевым папкам и принтерам с парольной защитой в разделе Control Panel\All Control Panel Items\Network and Sharing Center\Advanced sharing settings. Для All Networks (Все сети) в секции “Общий доступ с парольной защитой” (Password Protected Sharing) измените значение на “Включить общий доступ с парольной защитой” (Turn on password protected sharing). В этом случае анонимный (гостевой) доступ к папкам будет отключен и вам придется создать локальных пользователей, предоставить им доступ к сетевым папкам и принтерам и использовать эти аккаунты для сетевого доступа к общим папкам на этом компьютере..
Есть другой способ – изменить настройки вашего SMB клиента и разрешить доступ с него на сетевые папки под гостевой учетной записью.
Этот способ нужно использовать только как временный (!!!), т.к. доступ к папкам без проверки подлинности существенно снижает уровень безопасности ваших данных.
Чтобы разрешить гостевой доступ с вашего компьютера, откройте редактор локальных групповых политик (gpedit.msc) и перейдите в раздел: Конфигурация компьютера -> Административные шаблоны -> Сеть -> Рабочая станция Lanman (Computer Configuration ->Administrative templates -> Network (Сеть) -> Lanman Workstation). Включите политику Enable insecure guest logons (Включить небезопасные гостевые входы).
Обновите настройки групповых политик в Windows с помощью команды:
gpupdate /force
В Windows 10 Home, в которой нет редактора локальной GPO,вы можете внести аналогичное изменение через редактор реестра вручную::
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters “AllowInsecureGuestAuth”=dword:1
Или такими командами:
reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
reg add HKLM\Software\Policies\Microsoft\Windows\LanmanWorkstation /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
Вашей системе необходимо использовать SMB2 или более позднюю
Другая возможная проблема при доступе к сетевой папке из Windows 10 – поддержка на стороне сервера только протокола SMBv1. Т.к. клиент SMBv1 по умолчанию отключен в Windows 10, то при попытке открыть шару или подключить сетевой диск вы можете получить ошибку:
Не удалось выполнить сопоставление сетевого диска из-за следующей ошибки. Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколу 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.
При этом соседние устройства SMB могут не отображаться в сетевом окружении и при открытии сетевых папок по UNC пути может появляться ошибка 0x80070035.
Сообщение об ошибки явно указывает, что сетевая папка поддерживает только SMBv1 для доступа к файлам. В этом случае нужно попытаться перенастроить удаленное SMB устройство для поддержки как минимум SMBv2 (правильный и безопасный путь).
Если сетевые папки раздает Samba сервер на Linux, вы можете указать минимально поддерживаемую версию SMB в файле smb.conf так:
[global] 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
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 –Force
В Windows 8.1 отключите SMBv1, разрешите SMBv2 и SMBv3 и проверьте что для вашего сетевого подключения используется частный или доменный профиль:
Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
Set-SmbServerConfiguration –EnableSMB2Protocol $true
Если ваше сетевое устройство (NAS, Windows XP, Windows Server 2003), поддерживает только протокол SMB1, в Windows 10 вы можете включить отдельный компонент SMB1Protocol-Client. Но это не рекомендуется!!!
Если удаленное устройство требует использовать SMBv1 для подключения, и этот протокол отключен в вашем устройстве Windows, в Event Viewer появляется ошибка:
Log Name: Microsoft-Windows-SmbClient/Security Source: Microsoft-Windows-SMBClient Event ID: 32000 Description: SMB1 negotiate response received from remote device when SMB1 cannot be negotiated by the local computer.
Запустите консоль PowerShell и проверьте, что SMB1Protocol-Client отключен (
State: Disabled
):
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Включите поддержку протокола SMBv1 (потребуется перезагрузка):
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Также вы можете включить/отключить SMBv1 в Windows 10 и 11 из меню
optionalfeatures.exe
-> SMB 1.0/CIFS File Sharing Support –> SMB 1.0/CIFS Client.
В Windows 10 1709 и выше клиент SMBv1 автоматически удаляется, если он не использовался более 15 дней (за это отвечает компонент SMB 1.0/CIFS Automatic Removal).
В этом примере я включил только SMBv1 клиент. Не включайте компонент SMB1Protocol-Server, если ваш компьютер не используется устаревшими клиентами в качестве сервера для хранения общих папок.
После установке клиента SMBv1, вы должны без проблем подключиться к общей сетевой папке или принтеру. Однако, нужно понимать, что использование данного обходного решения не рекомендовано, т.к. подвергает снижает уровень безопасности.
Нет доступа к сетевой папке, у вас нет прав доступа
При подключении к сетевой папке на другом компьютере может появится ошибка:
Нет доступа к \\ComputerName\Share. Возможно у вас нет прав на использование этого сетевого ресурса. Обратитесь к системному администратору этого сервера для получения соответствующих прав доступа.
Network Error Windows cannot access \\PC12\Share You do not have permissions to access \\PC12\Share. Contact your network administrator to request access.
При появлении это ошибки нужно:
- Убедиться, что пользователю, под которым вы подключаетесь к сетевой папке, предоставлены права доступа на сервере. Откройте свойства общей папке на сервере и убедитесь что у вашего пользователя есть права доступа.
Проверьте разрешения сетевой шары на сервере с помощью PowerShell:
Get-SmbShareAccess -Name "tools"
Затем проверьте NTFS разрешения:
get-acl C:\tools\ |fl
Если нужно, отредактируйте разрешения в свойствах папки.
- Проверьте, что вы используете правильные имя пользователя и пароль для доступа к сетевой папки. Если имя и пароль не запрашиваются, попробуйте удалить сохраненные пароли для доступа к сетевой папке в диспетчере учетных записей Windows. Выполните команду
rundll32.exe keymgr.dll, KRShowKeyMgr
и удалите сохраненные учетные данные для доступа к сетевой папке.
При следующем подключении к сетевой папки появится запрос имени и пароля. Укажите имя пользователя для доступа к папке. Можете сохранить его в Credential Manager или добавить вручную.
Дополнительные способы проверки доступа к сетевой папке в Windows
В этом разделе указаны дополнительные способы диагностики при проблема с открытием сетевые папок в Windows:
При подключении к компьютерам в сети и сетевым папкам, хранилищам NAS в Windows 11 и Windows 10 вы можете получить сообщение об ошибке: «Windows не может получить доступ к (имя сетевого ресурса). Проверьте правильность написания данного имени» с кодом ошибки 0x80070035 в подробностях.
В этой инструкции подробно о способах исправить ошибку 0x80070035 «Не найден сетевой путь» в Windows 11 и Windows 10 при подключении к сетевым папкам с общим доступом или другим сетевым хранилищам.
Простые способы исправить ошибку
Прежде чем выполнять какие-то более сложные действия, связанные с удалением и настройкой разных версий протоколов SMB, рекомендую использовать следующие простые шаги, которые во многих случаях могут сработать.
На компьютере, с которого выполняется подключение:
- Попробуйте отключить IPv6 и включить компонент Общий доступ к файлам и принтерам в свойствах подключения. Для этого нажмите клавиши Win+R на клавиатуре, введите ncpa.cpl и нажмите Enter, откройте свойства Интернет-подключения (правый клик — свойства), снимите отметку с «IP версии 6», включите общий доступ к файлам и принтерам, примените настройки.
- Если вы используете анонимный вход, например доступ к NAS или другим компьютерам без ввода имени пользователя и пароля, запустите командную строку от имени Администратора и введите следующую команду:
reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
- Сбросьте кэш DNS, для этого запустите командную строку от имени Администратора и введите команду
ipconfig /flushdns
На компьютере, к которому выполняется подключение (рекомендую не пропускать этот шаг): попробуйте изменить имя компьютера: Как переименовать компьютер Windows 10 и не забудьте выполнить перезагрузку.
Также рекомендую проверить, что общий доступ на удаленном компьютере настроен правильно:
- В Windows 10 в Панели управления откройте «Центр управления сетями и общим доступом», нажмите «Изменить дополнительные параметры общего доступа», включите сетевое обнаружение и общий доступ к файлам и принтерам для текущего сетевого профиля, включите общий доступ в разделе «Все сети» и, при желании — отключите общий доступ с парольной защитой в разделе «Все сети» (если не отключить, то подключение будет выполняться после ввода данных учетной записи удаленного компьютера).
- В Windows 11 зайдите в Параметры — Сети и Интернет — Дополнительные сетевые параметры — Дополнительные параметры общего доступа. Включите Сетевое обнаружение, автоматическую настройку устройств, Общий доступ к файлам и принтерам. В разделе «Все сети» включите «Общий доступ к общедоступным папкам» и, при необходимости — отключите «Общий доступ с парольной защитой» в том же разделе.
- При отключении общего доступа с парольной защитой в свойствах папки с общим доступом на вкладке «Доступ» имеет смысл нажать кнопку «Общий доступ» и добавить группу пользователей «Все», а затем подтвердить добавление нажатием кнопки «Поделиться».
Включение протокола SMB 1.0
Если для подключения требуется протокол SMB 1-й версии, следует учитывать, что в Windows 11 и Windows 10 он по умолчанию отключен. В некоторых случаях решить проблему может помочь его включения, для этого:
- Откройте окно «Программы и компоненты», например с помощью Win+R — appwiz.cpl
- В панели слева нажмите «Включение или отключение компонентов Windows».
- Включите компонент «Поддержка общего доступа к файлам SMB 1.0/CIFS».
- Примените сделанные настройки и согласитесь на перезагрузку компьютера.
- Учитывайте, чтобы это могло сработать для подключения между компьютерами, на компьютере с общим диском или папкой также должен быть включен протокол SMB 1.0
Внимание: перед следующим шагом и для перед выполнением далее описанных шагов рекомендую создать точку восстановления системы, чтобы в случае чего можно было быстро откатиться в исходное состояние.
Далее проверьте, исправило ли это ошибку. Если нет, попробуйте выполнить ещё один шаг — в командной строке от имени администратора (на компьютере, с которого выполняется подключение) выполните команду:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
а затем перезагрузите компьютер и проверьте подключение к сетевому ресурсу.
Параметры сетевой безопасности
Следующий вариант — изменить параметры безопасности:
- Нажмите клавиши Win+R на клавиатуре, введите secpol.msc и нажмите Enter.
- Откройте раздел Локальные политики — Параметры безопасности.
- Дважды нажмите по параметру «Сетевая безопасность: уровень проверки подлинности LAN Manager» и на вкладке «Параметр локальной безопасности» выберите пункт «Отправлять LM и NTLM — использовать сеансовую безопасность».
- Примените настройки.
Брандмауэр Windows
Если ваши устройства находятся в разных подсетях, может помочь следующий подход для решения проблемы:
- На компьютере, с которого осуществляется подключение нажмите клавиши Win+R, введите wf.msc и нажмите Enter.
- Откройте «Правила для исходящего подключения» и дважды нажмите по правилу Общий доступ к файлам и принтерам (SMB — исходящий) для текущего профиля сети.
- На вкладке «Область» в обоих разделах установите «Любой IP-адрес».
- На компьютере, к которому осуществляется подключение, выполните те же действия, но для входящих соединений.
Какие еще варианты можно попробовать для исправления ошибки 0x80070035:
- Зайдите в Службы Windows с помощью Win+R — services.msc и убедитесь, что следующие службы не отключены (также можно попробовать установить тип запуска в «Автоматически»): «Публикация ресурсов обнаружения функции» и «Хост поставщика функции обнаружения». Для изменения типа запуска службы можно нажать по её названию дважды и указать нужные параметры.
- Откройте редактор локальной групповой политики (Win+R — gpedit.msc), перейдите в раздел
Конфигурация компьютера — Конфигурация Windows — Параметры безопасности — Локальные политики — Параметры безопасности, дважды нажмите по Клиент сетей Майкрософт использовать цифровую подпись (всегда) — Отключить. В Конфигурация компьютера — Административные шаблоны — Сеть — Рабочая станция Lanman — Включить небезопасные гостевые входы — включить. - При доступе к сетевым ресурсам по паролю, зайдите в Панель управления — Диспетчер учетных данных — Учетные данные Windows — Добавить учетные данные Windows. Введите данные для доступа к сетевому ресурсу (сетевой путь, имя и пароль пользователя, у которого есть доступ к указанному расположению).
- Попробуйте выполнить подключение по IP-адресу: проверьте IP удаленного компьютера в локальной сети с помощью командной строки, затем используйте Win+R вида: //192.168.1.10/путь_к_папке , заменив IP-адрес на нужный.
- Проверьте, присутствуют ли в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
параметры RestrictReceivingNTLMTraffic и RestrictSendingNTLMTraffic — при наличии таковых, удалите их и перезагрузите компьютер.
- При наличии в разделе реестра
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBt\Parameters
параметров NodeType и DhcpNodeType попробуйте удалить их.
- Проверьте, меняется ли ситуация, если временно отключить антивирус или файрволл на компьютере.
Все способы:
- Способ 1: Включение SMB v1.0
- Способ 2: Проверка настроек сетевого доступа
- Способ 3: Сброс кеша DNS и сети
- Способ 4: Отключение протокола IPv6
- Способ 5: Проверка работы служб
- Дополнительные меры
- Вопросы и ответы: 3
0x80070035 — ошибка в работе локальной сети, возникающая при попытке пользователя подключиться к общим сетевым ресурсам. Основной ее причиной является сбой или изменение сетевых настроек, инициированное обновлениями, сторонним программным обеспечением или самим пользователем. Сопровождается неполадка лаконичным сообщением «Не найден сетевой путь».
Способ 1: Включение SMB v1.0
В последних сборках Windows 10 обеспечивающий общий доступ к файлам протокол SMB v1.0 по умолчанию отключен, поэтому вы не сможете подключиться к общей сетевой папке, если та располагается на устройстве под управлением старой операционной системы. В этом случае, чтобы иметь возможность подключаться к сетевым ресурсам, включите в Windows 10 поддержку протокола SMB v1.0.
- Откройте нажатием клавиш Win + R диалоговое окошко быстрого выполнения команд, вставьте в него команду
optionalfeatures
и нажмите клавишу Enter. - В открывшемся окне «Компоненты Windows» найдите пункт «Поддержка общего доступа к файлам 1.0/CIFS» и отметьте его флажком. Если пункт имеет вложенные элементы, разверните его и отметьте флажком элемент «Клиент SMB 1.0 / CIFS».
- Дождитесь установки компонента и перезагрузите компьютер, чтобы изменения вступили в силу.
Способ 2: Проверка настроек сетевого доступа
Убедитесь, что в операционной системе не сбились настройки общего доступа. Если конфигурация сети у вас отличается от описанной ниже, измените ее.
- Зайдите в сетевые настройки, для чего кликните правой кнопкой мыши по значку интернет-подключения в системном трее и из контекстного меню выберите пункт «Открыть «Параметры сети и интернет»».
- Убедитесь, что задан тип сети «Частная». Если сеть имеет тип «Общедоступная», нажмите кнопку «Свойства», чтобы выбрать другой профиль.
- Активируйте в следующем окне «Сеть» радиокнопку «Частные» и вернитесь.
- Нажмите «Центр управления сетями и общим доступом».
- В новом классическом окне нажмите слева ссылку «Изменить дополнительные параметры общего доступа».
- Разверните блок «Частная» и активируйте, если они не активированы, опции «Включить сетевое обнаружение» и «Включить общий доступ к файлам и принтерам».
- Теперь разверните блок «Все сети», включите общий доступ и отключите парольную защиту. Это дополнительная, а не обязательная мера.
Способ 3: Сброс кеша DNS и сети
Сбросьте сетевые настройки на обоих компьютерах, это устранит последствия сбоев в работе сети. Сделать это можно из интерфейса приложения «Параметры» или из «Командной строки». Для начала попробуйте обойтись сбросом кеша DNS.
- Запустите от имени администратора «Командную строку» или «Windows PowerShell».
- Выполните команду
ipconfig /flushdns
.
Если очистка кеша DNS не поможет, сбросьте сетевые настройки.
- Откройте приложение «Параметры», зайдите в раздел «Сеть и Интернет» и нажмите расположенную в нем ссылку «Сброс сети».
- В следующем окне нажмите кнопку «Сбросить сейчас».
- Перезагрузите компьютер.
Вы также можете сбросить сеть альтернативным способом, выполнив в запущенной с повышенными правами «Windows PowerShell» одну за другой команды:
netsh int ip reset
netsh int tcp reset
netsh winsock reset
После перезагрузки вам нужно будет заново изменить тип профиля сети на «Частная» и настроить параметры общего доступа.
Способ 4: Отключение протокола IPv6
Попробуйте отключить протокол IPv6 в свойствах сетевого адаптера. Не исключено, что это дополнительное решение поможет вам устранить ошибку 0x80070035.
- Откройте «Сетевые подключения», для чего выполните в окошке Win + R команду
ncpa.cpl
. - Откройте «Свойства» рабочего сетевого адаптера.
- Снимите флажок с чекбокса «IP версии 6 (TCP/IPv6)» и сохраните настройки.
Способ 5: Проверка работы служб
Проверьте работу обеспечивающих сетевой обмен данными служб — они должны быть запущены.
- Откройте оснастку управления службами, выполнив в диалоговом окошке Win + R команду
services.msc
. - Отыщите в списке следующие службы:
- «Хост поставщика функции обнаружения»;
- «Публикация ресурсов обнаружения функции»;
- «Служба обнаружения SSDP»;
- «Узел универсальных PNP-устройств»;
- «Служба DNS-клиента».
- Они должны иметь статус «Выполняется», в противном случае откройте «Свойства» службы двойным по ней кликом или из ее контекстного меню.
- Выставьте тип запуска «Автоматически», сохраните настройки и перезагрузите компьютер.
Дополнительные меры
Кроме описанных выше решений, можно попробовать принять дополнительные меры, например отключить на время проверки доступа антивирусную программу и брандмауэр. Не будет лишним также проверить права доступа на общую сетевую папку, в частности убедиться, что у группы «Все» имеются права на чтение содержимого расшаренного каталога.
Подробнее:
Отключение антивируса
Включение общего доступа в Windows 10
Наша группа в TelegramПолезные советы и помощь
300
В этой статье я покажу как включить и при необходимости отключить поддержку протокола SMB 1.0 в Windows 11 или Windows 10. Через Компоненты Windows, командную строку или PowerShell.
SMB 1 – это устаревший протокол, который по умолчанию уже отключен в Windows 11 и Windows 10 и считается небезопасным. Из-за этого иногда бывают проблемы с доступом к локальной сети. Если в сети есть устаревшие устройства, которые используют протокол SMB 1, то без поддержки этого протокола в Windows 11/10 вы не сможете получить доступ к такому серверу. И соответственно другие устройства с SMB 1 не смогут получить доступ к вашему компьютеру для обмена файлами, использования сетевого принтера и т. д., если ваш компьютер выступает в роли сервера и на нем отключен протокол SMB первой версии.
Управление протоколом SMB 1 через Компоненты Windows 11/10
Чтобы открыть окно Компоненты Windows нажмите сочетание клавиш Win + R, введите команду appwiz.cpl и нажмите Ok. Дальше слева нажмите на Включение или отключение компонентов Windows. Откроется окно, в котором нужно найти и развернуть пункт Поддержка общего доступа к файлам SMB 1.0 /CIFS. Он состоит из трех компонентов. Если вы не знаете что конкретно вам нужно (ниже я поясню), то установите галочки возле всех трех компонентов (как у меня на скриншоте) и нажмите OK.
- Автоматическое удаление протокола SMB 1.0 /CIFS. Если данный протокол не используется более 15 дней в Windows 11 и Windows 10, он автоматически отключается. Это сделано для безопасности, так как сам протокол уже устаревший. Чтобы запретить автоматическое отключение – не устанавливайте галочку возле этого пункта.
- Клиент SMB 1.0 /CIFS. Нужно включать, если ваш компьютер выступает в роли клиента. Чтобы была возможность получить доступ к общим папкам на других компьютерах, NAS, роутерах и т. д.
- Сервер SMB 1.0 /CIFS. Нужно включать, когда другие устройства с поддержкой SMB 1 будут подключаться к общим папкам на вашем компьютере.
Перезагрузите компьютер.
Чтобы отключить поддержку SMB 1 вручную, просто снимите галочку возле пункта Поддержка общего доступа к файлам SMB 1.0 /CIFS и нажмите на кнопку OK.
Через командную строку или PowerShell
Есть ряд команд, с помощью которых можно можно включить или отключить SMB 1 в Windows 11/10. Можно включать и отключать отдельно как клиент, так и сервер. Для этого нужно открыть командную строку или Терминал от имени администратора.
- Чтобы запустить командную строку откройте меню Пуск и наберите на клавиатуре «командная строка». Нажмите на нее правой кнопкой мыши и выберите Запуск от имени администратора.
- Для запуска PowerShell нажмите правой кнопкой мыши на меню Пуск и выберите Терминал (администратор).
Команды для включения SMB 1
Для включения SMB 1 выполните по очереди эти команды:
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Server"
После выполнения каждой команды Windows будет предлагать перезагрузить компьютер. Чтобы отказаться нажмите на клавишу N.
Если необходимо, можно выполнить команду только для включения SMB 1 клиент (когда вы подключаетесь) или сервер (когда к вам подключаются). Перезагрузите компьютер.
Команды для PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Команды для отключения SMB 1
Для командной строки:
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Server"
Для PowerShell (команда удаляет протокол SMB 1):
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -Remove
Как проверить статус протокола SMB 1?
Если вы запутались и не знаете, включен или отключен данный протокол, то это легко выяснить с помощью всего одной команды.
Dism /online /Get-Features /format:table | find "SMB1Protocol"
Ее нужно выполнить в командной строке. Появится отчет по каждому компоненту.
Как вы можете увидеть не скриншоте выше, на моем компьютере протокол SMB 1 в данный момент отключен.
Дополнительная информация
- Так как протокол SMB 1 уже устаревший и считается небезопасным, то я не рекомендую включать его без необходимости. А если включили, и это не помогло решить проблему или он вам больше не нужен, то отключите его вручную.
- Из-за протокола SMB 1 в Windows 11 и Windows 10 часто может быть проблема, когда компьютер не видит другие компьютеры или папки в сети, или появляется ошибка 0x80070035 (не найдет сетевой путь) при настройке локальной сети в Windows 11 и в Windows 10. Поэтому, для решения подобных проблем я рекомендую включать/отключать данный протокол.
- Ошибка «Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколу SMB1, который небезопасен и может подвергнуть вашу систему риску атаки. Вашей системе необходимо использовать SMB2 или более позднюю версию.» о которой я писал в статье не отображаются общие папки, сетевые компьютеры, флешки, диски на вкладке «Сеть» проводника Windows так же возникает из-за того, что отключен протокол SMB 1. После его включения для клиента эта ошибка должна исчезнуть. Или нужно настроить сервер на использование более нового протокола SMB 2 или SMB 3, если это возможно.
Помогло или не помогло включение данного протокола, решение каких-то ошибок или проблем связанных с этим, другие решения, ваши вопросы, все это мы обсуждаем в комментариях. Пишите!
Ошибки сетевого доступа в Windows — вещь довольно неприятная, тем более что не все умеют их правильно диагностировать и исправлять. При том, что интернет кишит различными способами самой разной степени сомнительности. Поэтому мы решили подробно разобрать одну из типовых ситуаций, показав как процесс диагностики, так и различные способы решения проблемы, каждое из которых имеет свои особенности, в частности влияние на безопасность. Такой подход позволит не только выяснить причины ошибки и устранить ее, но и поможет подойти к этому вопросу осознанно, полностью представляя последствия своих действий.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
С ситуацией, когда компьютер под ОС Windows не хочет подключаться или перестает подключаться к общим ресурсам на сервере Samba под управлением Linux встретиться можно довольно часто и тому есть объективные причины, которые мы рассмотрим ниже, ну а пока посмотрим на ее внешние симптомы. Система неожиданно сообщает, что она не может получить доступ к указанному ресурсу и выдает абсолютно неинформативную ошибку:
Код ошибки: 0x80004005
Неопознанная ошибка
Если попробовать подключиться в консоли, например, командой:
net view \\192.168.233.182
Где 192.168.233.182 — адрес искомого сервера, то получим немного другую ошибку:
Системная ошибка 53.
Не найден сетевой путь.
При этом указанный узел нормально пингуется, а проверка доступности 445 порта говорит, что все нормально:
После этого обычно начинается сетование на кривизну какого-либо из решений (в зависимости от личных предпочтений) и поиск решения в интернете, где можно найти как условно рабочие, так и полную дичь, вроде включения SMB1 и бездумного изменения различных политик и ключей реестра.
Но не будем спешить, вы же не глотаете все подряд из домашней аптечки только почувствовав недомогание? Так и здесь, поэтому будем разбираться.
Но сперва поясним ситуацию по протоколу SMB1:
Протокол SMB1 устарел и небезопасен, в настоящее время отключен на всех современных системах.
Кроме того, даже если вы включите его поддержку, то начиная с Windows 1709 она автоматически отключится после 15 дней неиспользования. В общем: включать SMB1 не нужно, разве что только вам действительно нужна поддержка устаревших клиентов.
В современных версиях Samba протокол SMB1 также отключен и минимальной поддерживаемой версией является SMB2_02, а максимальной SMB3. Это параметры по умолчанию и проверить их можно командами:
testparm --parameter-name="min protocol"
testparm --parameter-name="max protocol"
Настройки по умолчанию достаточно актуальны, и мы не советуем отдельно задавать версии протоколов без особой на то нужды. SMB2_02 — обозначает младшую версию протокола SMB2, а SMB3 указывает на старшую доступную версию, таким образом поддерживаются все системы начиная с Windows Vista и Server 2008. Причиной ошибки SMB1 быть не может.
Поэтому не занимаемся ерундой, а ищем истинную причину, в этом нам поможет Журнал событий. Раскрываем последовательно Журналы приложений и служб — Microsoft — Windows — SMBClient и в журнале Security находим ошибку 31017:
Небезопасный гостевой вход отклонен.
Рекомендации.
Это событие указывает на попытку сервера разрешить вход пользователя как непроверенного гостя, которая была отклонена клиентом.
Для гостевого входа не поддерживаются стандартные функции обеспечения безопасности, например подписывание и шифрование.
Вследствие этого гостевой вход уязвим для атак "злоумышленник в середине", которые могут привести к попаданию конфиденциальных данных в сеть.
По умолчанию небезопасный гостевой вход отключен в Windows. Корпорация Майкрософт не рекомендует включать его.
После чего все становится на свои места. Нет никаких чудес, просто политики безопасности Windwos не позволяют подключаться к серверу с анонимным гостевым доступом. Кстати, это относится не только к Samba.
Теперь, когда есть понимание происходящего мы можем выбрать одно из двух решений указанной проблемы.
Решение №1. Отключаем гостевой доступ на сервере Samba
С точки зрения безопасности это наиболее правильное решение, которое позволит получать доступ к общим ресурсам не снижая уровень безопасности сети. Для этого внесем некоторые изменения в конфигурационный файл Samba, обычно он располагается в /etc/samba/smb.conf. Прежде всего найдем и приведем к следующему виду директиву:
map to guest = never
А в настройках каждого общего ресурса укажем:
guest ok = no
Возможно, вам еще придется выполнить некоторые настройки, скажем, завести пользователей и назначить им права, для всего этого рекомендуем воспользоваться нашей статьей:
Настройка файлового сервера Samba на платформе Debian / Ubuntu
Сохраняем все изменения и проверяем конфигурацию на ошибки:
testparm
Затем перезапускаем службу:
systemctl restart smbd
После чего повторно пробуем подключиться и сразу видим окно для ввода учетных данных:
Проблема решена, ресурсы файлового сервера Samba снова доступны.
Решение №2. Разрешаем небезопасный гостевой вход в Windows
Если Решение №1 вас по каким-либо причинам не устраивает, и вы осознанно хотите понизить уровень безопасности вашей сети, то можно пойти другим путем и разрешить небезопасный гостевой вход.
Запустим редактор групповой политики (gpedit.msc) и перейдем в Конфигурация компьютера — Административные шаблоны — Сеть — Рабочая станция Lanman и переводим политику Включить небезопасные гостевые входы в положение Включено.
После чего вам потребуется перезапустить службу Рабочая станция или перезагрузить компьютер.
Альтернативой этому способу будет внесение изменений через реестр:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 1
Затем перезапустим службу:
net stop LanmanWorkstation && net start LanmanWorkstation
После чего можем продолжать привычно использовать общие сетевые ресурсы с гостевой моделью доступа.
Какой вывод можно сделать после прочтения данного материала? Прежде всего понять, что любые сетевые ошибки имеют под собой вполне определенную причину, а не являются воздействием некой неведомой силы. И эти причины имеют свойство отображаться в журналах и логах.
Решений таких проблем также может быть несколько, каждое из которых может иметь свои достоинства и недостатки. Поэтому не нужно хватать первый попавшийся рецепт из интернета, а следует разобраться в причинах и выбрать из доступных вариантов тот, который будет вас наиболее устраивать.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.