Содержание
Скорее всего дело в том, что в рамках постепенного отключения старых небезопасных версий протокола SMB помимо полного отключения SMB1, по умолчанию стала блокировать также доступ под гостевой учетной записью на удаленный сервер по протоколу SMBv2.
При попытке такого подключения как раз и появляется такая ошибка. А в журнале клиента SMB (Microsoft-Windows-SMBClient) при этом фиксируется: Rejected an insecure guest logon.
Именно по этому при доступе к SMBv2 сетевым папкам под гостевой учетной (в большинстве случаев на NAS включают именно гостевой доступ) или к шарам на старых версия ОС (согласно опубликованной ранее таблице поддерживаемых версий SMB в различных версиях Windows, SMB 2.0 используется в Windows Server 2008 и Windows Vista SP1, а SMB 2.1 в Windows Server 2008 R2 и Windows 7).
Чтобы включить доступ под гостевой учетной записью, нужно с помощью редактора групповых политик (gpedit.msc) в разделе:
Конфигурация компьютера ->Административные шаблоны -> Сеть->Рабочая станция Lanman включить политику Включить
небезопасные гостевые входы.
Либо создать следующий ключ реестра:
HKLMSYSTEMCurrentControlSetServicesLanmanWorkstationParameters “AllowInsecureGuestAuth”=dword:1
Если данное решение не помогло, возможно ваш NAS (или другое удаленное устройство, которое предоставляет доступ к сетевым папкам по SMB), поддерживают только SMBv1. Попробуйте включить этот протокол на клиенте (Windows Features -> SMB 1.0/CIFS File Sharing Support -> SMB 1.0/CIFS Client).
Однако, вы должны понимать, что использование данного обходного решения не рекомендовано, т.к. подвергает вашу систему опасности.
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:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 0 –Force
Отключить SMB1 с помощью реестра Windows
Также можно отключить SMBv1 запустив regedit.exe и перейдя к следующему разделу:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
Создайте в этом разделе DWORD SMB1 со значением .
Значения для включения и отключения SMB1:
- 1 = Включено
После этого необходимо установить обновление MS17-010. Обновление вышло подо все версии Windows, включая не поддерживаемые больше Windows XP и Windows Server 2003.
И в заключении хочется сказать, что, не смотря на установленный антивирус и регулярные обновления операционной системы, если Вам дороги ваши данные, необходимо в первую очередь думать о резервном копировании.
Почему и как необходимо отключить SMB1 в Windows 10/8/7
По-умолчанию в Windows 10 и в Windows Server 2016 все-еще включена поддержка SMB 1.0. В большинстве случаев он требуется только для обеспечения работы устаревших систем: снятых с поддержки Windows XP, Windows Server 2003 и старше. В том случае, если в вашей сети не осталось таких клиентов, в новых версиях Windows желательно отключить протокол SMB 1.x, либо полностью удалить драйвер. Тем самым вы оградитесь от большого количества уязвимостей, которые свойственны этому устаревшему протоколу (о чем лишний раз свидетельствует последняя атака шифровальщика WannaCry) , и все клиенты при доступе к SMB шарам будут использовать новые более производительные, безопасные и функциональные версии протокола 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 -> Audit на предмет доступа клиентов с помощью протокола SMB1.
Совет. Список событий из данного журнала можно вывести командой:
Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit
В нашем примере в журнале зафиксировался доступ с клиента 192.168.1.10 по протоколу SMB1. Об этом свидетельствуют события с EventID 3000 от источника SMBServer и описанием:
В данном случае, мы проигнорируем эту информацию, но нужно учитывать тот факт, что в дальнейшем данный клиент не сможет подключаться к данному SMB серверу.
Отключение SMB 1.0 на стороне сервера
Протокол SMB 1.0 может быть отключен как на стороне клиента, так и на стороне сервера. На стороне сервера протокол SMB 1.0 обеспечивает доступ к сетевым папкам SMB (файловым шарам) по сети, а на стороне клиента – нужен для подключения к таким ресурсам.
С помощью следующей команды PowerShell проверим включен ли протокол SMB1 на стороне сервера:
Get-SmbServerConfiguration
Как вы видите, значение переменной 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/nsisc.exe config mrxsmb10 start= disabled
Итак, отключив поддержку устаревшего SMB 1.0 на стороне клиентов и серверов вы полостью защитите свою сеть от всех известных и пока не найденных уязвимостей в нем. А уязвимости в Microsoft Server Message Block 1.0 находят довольно регулярно. Последняя существенная уязвимость в SMBv1, позволяющая злоумышленнику удаленно выполнить произвольный код, была исправлена в марте 2017 года.
Используемые источники:
- http://it-chainik.ru/ne-otkryvayutsya-obshhie-setevye-smb-papki-v-windows-10/
- https://admin812.ru/pochemu-i-kak-neobhodimo-otklyuchit-smb1-v-windpws-1.html
- https://winitpro.ru/index.php/2017/05/10/otklyuchenie-smb-1-0-v-windows-10-server-2016/