Как открыть доступ к компьютеру по сети. Отключаем SMB1 для защититы компьютера с Windows от атак Настройка соединения на стороне ПК

19.03.2022 Android

По-умолчанию в 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, вы должны без проблем подключиться к сетевой папке или принтеру. Однако, нужно понимать, что использование данного обходного решения не рекомендовано, т.к. подвергает вашу систему опасности.

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


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


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

  • Куст : 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 работают для всех систем в среде.

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