Не удается получить доступ к SMB-диску из Windows 10 с гостевым доступом через OpenVPN Connect.

Вопрос или проблема

  • Клиент Windows 10, использование проводника, клиент OpenVPN Connect 3.3.4 не может получить доступ к SMB-расшариванию с гостевым доступом на сервере OpenVPN (2.4.11 arm-openwrt-linux-gnu).
  • Работает:

    • Можно подключиться к SMB-расшариванию через проводник Windows 10 при нахождении в LAN (не с использованием OpenVPN) с гостевым доступом (без запроса логина пользователя)
    • Клиент OpenVPN Connect подключается к серверу OpenVPN и может получить доступ к LAN веб-серверам, пинговать устройства и т. д.
    • Можно подключиться к порту 445 на NAS через сырое TCP-соединение
    • Можно получить доступ к файлам NAS через SMB, используя Android OpenVPN Connect и SMB браузер с гостевым доступом SMB

    Не работает:

    • Подключение к SMB-расшариванию из проводника Windows 10. Запрашивает логин/пароль (хотя не должно, хотя это указывает на успешное соединение на уровне TCP, по крайней мере). Заваливает любой используемый логин

    Попробовано на клиенте Windows 10 (включая различные комбинации):

    • Сделал адаптер клиентом OpenVPN в частную сеть через gpedit.msi
    • Включил файловый обмен и обнаружение сети для общедоступных сетей

    Попробовано на NAS:

    • Создан SMB пользователь и предпринята попытка войти под ним
    • В настройках сервера OpenVPN, принуждение всего трафика через VPN (чтобы убедиться, что Windows не обходит VPN при попытке установить соединение SMB)
    • Убедился, что SMBv1 отключен

    Так что, это похоже на проблему либо в конфигурации клиента OpenVPN, либо Windows пытается “умничать” и “защищать” меня, но ничего не позволяет мне получить доступ к SMB-расшариванию на NAS через OpenVPN.

    ОБНОВЛЕНИЕ: Определенно проблема в Windows. На том же клиенте Windows, попробовал использовать Linux VM, подключенный через OpenVPN на хосте, и VM с использованием этого соединения, затем в файловом менеджере (KDE Dolphin) доступ к smb://192.168.0.1 работает без проблем. Так почему же это не работает на хосте Windows? Почему постоянно требует логин/пароль?

    ОБНОВЛЕНИЕ: Ну, согласно диагностике Windows, видимо, “SMBHelperClass LowHealth status 1 [DS_CONFIRMED] HRESULT 0 [64 ms] описание: Ваша учетная запись не имеет разрешения на доступ к “диску”. Что является абсурдом, поскольку доступно как гость без логина/пароля.

Это было вызвано функцией безопасности Windows, которая запрещает гостевой доступ с использованием SMB2. Я думал, что это проблема SMB-сервера или OpenVPN (поэтому спрашивал на ServerFault вместо Superuser).

Почему это работало в LAN, но не через OpenVPN, остается загадкой. Возможно, если клиент Windows видит, что гостевой доступ осуществляется к SMB-серверу в той же LAN, он его позволяет, иначе нет.

Решение — добавить значение DWORD в реестр:

HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters!AllowInsecureGuestAuth

С со значением 1, И ввести случайное имя пользователя (Windows все равно запросил логин/пароль, даже если его нет).

Microsoft Windows – Как включить небезопасные гостевые входы в SMB2 и SMB3

Ответ или решение

Проблема, связанная с невозможностью доступа к SMB-ресурсу из Windows 10 через OpenVPN Connect при использовании гостевого доступа, затрагивает несколько уровней конфигурации и безопасности, что требует внимательного анализа. Рассмотрим теорию, приведем примеры и предложим пошаговое решение.

Теория

SMB (Server Message Block) — это сетевой протокол, который позволяет делиться файлами и принтерами в локальных сетях. Версии SMB2 и SMB3, которые продолжают разрабатываться, содержат значительные улучшения в плане производительности и безопасности по сравнению с устаревшим SMBv1. Тем не менее, начиная с Windows 10, безопасность был повышен к отказу от гостевого доступа по умолчанию, особенно вне локальной сети (LAN), чтобы свести к минимуму риск атак посредством MITM (Man-In-The-Middle) и различных атак, использующих незашифрованный доступ.

OpenVPN — это популярный VPN-протокол, который предоставляет возможность безопасного доступа к удаленным сетям. OpenVPN позволяет маршрутизировать весь трафик, включая SMB, через зашифрованное соединение, что может вызывать дополнительные вызовы и конфликты при использовании с настройками безопасности Windows.

Пример

В представленной ситуации клиент Windows 10 был успешно подсоединён к SMB-ресурсу через локальную сеть и при помощи OpenVPN на Android, но не через OpenVPN Connect на Windows 10. Несмотря на успешное соединение с другими службами в той же сети (например, веб-серверами и ICMP-запросами), попытка доступа к SMB-ресурсу приводила к запросу имени пользователя и пароля, что указывает на возможный конфликт в настройке политики безопасности.

Применение: Решение проблемы

Доступ по гостю в Windows 10

  1. Редактирование реестра Windows:

    • Откройте "Редактор реестра Windows" (Regedit.exe) с правами администратора.
    • Перейдите по пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters.
    • Создайте или измените существующее значение DWORD с именем AllowInsecureGuestAuth.
    • Установите значение 1 для данного параметра.
    • Это изменение включает небезопасные гостевые логины для протоколов SMB2 и SMB3 на вашем клиенте Windows 10.
  2. Особые случаи безопасности:

    • Несмотря на то, что вышеуказанные изменения могут позволить подключения для некоторых конфигураций, важно помнить, что Microsoft отключила данную возможность по умолчанию не случайно. Убедитесь, что ваш сервер действительно безопасен и что доступ предоставленный гостям не приведет к утечке данных.
  3. Конфигурация OpenVPN:

    • Убедитесь, что весь трафик маршрутизирован через VPN. Это можно проверить, установив флаг "force all traffic via VPN" в настройках OpenVPN сервера.
    • Далее, убедитесь, что маршрутизация в Windows правильно настроена для доступа к удаленной сети через ваш тоннель VPN.
  4. Тестирование и верификация:

    • После внесения изменений выполните повторную попытку подключения к SMB-ресурсу через проводник Windows.
    • Если соединение успешно, файл-менеджер должен открыть ресурс без запроса имени пользователя и пароля.

Альтернативные действия:

  • Расширенные настройки групповых политик (Group Policy Editor):

    • Запустите gpedit.msc, перейдите в Computer Configuration -> Administrative Templates -> Network -> Lanman Workstation.
    • Найдите и включите параметр "Enable insecure guest logons".
  • Полная проверка настройки NAS:

    • Убедитесь, что настройки NAS позволяют доступ по преференциям разделов как для гостевых, так и для аутентифицированных пользователей.
    • При необходимости может потребоваться подтверждение настроек совместимости между разными версиями SMB на NAS и клиенте Windows 10.

Вывод

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

Оцените материал
Добавить комментарий

Капча загружается...