По-умолчанию в Windows 10 и в Windows Server 2016 все-еще включена поддержка SMB 1.0. В большинстве случаев он требуется только для обеспечения работы устаревших систем: снятых с поддержки Windows XP, Windows Server 2003 и старше. В том случае, если в вашей сети не осталось таких клиентов, в новых версиях Windows желательно отключить протокол SMB 1.x, либо полностью удалить драйвер. Тем самым вы оградитесь от большого количества уязвимостей, которые свойственны этому устаревшему протоколу, и все клиенты при доступе к 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 и описанием:
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 на стороне сервера:
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/nsi
sc.exe config mrxsmb10 start= disabled
Итак, отключив поддержку устаревшего SMB 1.0 на стороне клиентов и серверов вы полостью защитите свою сеть от всех известных и пока не найденных уязвимостей в нем. А уязвимости в Microsoft Server Message Block 1.0 находят довольно регулярно. Последняя существенная уязвимость в SMBv1, позволяющая злоумышленнику удаленно выполнить произвольный код, была исправлена в марте 2017 года.