Поддръжка на SMB 1.0 в Windows Server 2012 R2 / Windows Server 2016

В Windows Server 2012 R2 беше въведена нова версия на протокола SMB 3 (технически това SMB 3.02, защото SMB версия 3.0 се появи отново в Windows Server 2012) и драйвера за наследен протокол SMB 1.0 Сега можете да деактивирате и блокирате зареждането на неговите компоненти. Поради липсата на поддръжка за SMB 1.0, наследените (Windows XP, Server 2003) и съвместимите клиенти (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, по-стари версии на Linux) няма да имат достъп до файлове, разположени на файлов сървър, работещ под Windows 2012 R2 / 2016.

Съдържание:

  • Версии на протокола за SMB на Windows
  • За опасностите от използването на SMB1
  • SMB 1.0 протокол в Windows Server 2012 R2
  • SMB 1.0 протокол в Windows Server 2016

Версии на протокола за SMB на Windows

SMB (Сървърния блок за съобщения, понякога наричан LAN-мениджър) е мрежов протокол за отдалечен достъп до файлове, принтери и други услуги. За връзка се използва TCP порт 445. Различни версии на SMB протокола се появяват в следните версии на Windows:

  • CIFS - Windows NT 4.0
  • SMB 1.0 - Windows 2000
  • SMB 2.0 - Windows Server 2008 и WIndows Vista SP1
  • SMB 2.1 - Windows Server 2008 R2 и Windows 7
  • SMB 3.0 - Windows Server 2012 и Windows 8 (поддръжка за SMB криптиране)
  • SMB 3.02 - Windows Server 2012 R2 и Windows 8.1
  • SMB 3.1.1 - Windows Server 2016 и Windows 10

За мрежова комуникация чрез SMB протокол между клиента и сървъра се използва максималната версия на протокола, която се поддържа както от клиента, така и от сървъра.

По-долу е обобщена таблица, чрез която можете да определите версията на SMB протокола, която е избрана при взаимодействие с различни версии на Windows:

Операционна системаWin 10, Server 2016Windows 8.1,
Сървър 2012 R2
Windows 8,
Сървър 2012 г.
Windows 7,
Сървър 2008 R2
Windows Vista,
Server 2008
Windows XP, Server 2003 и по-нови версии
Windows 10 ,
Windows Server 2016
SMB 3.1.1SMB 3.02SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 8.1 ,
Сървър 2012 R2
SMB 3.02SMB 3.02SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 8 ,
Сървър 2012 г.
SMB 3.0SMB 3.0SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 7,
Сървър 2008 R2
SMB 2.1SMB 2.1SMB 2.1SMB 2.1SMB 2.0SMB 1.0
Windows Vista,
Server 2008
SMB 2.0SMB 2.0SMB 2.0SMB 2.0SMB 2.0SMB 1.0
Windows XP, 2003 и по-нови версииSMB 1.0SMB 1.0SMB 1.0SMB 1.0SMB 1.0SMB 1.0

Например, когато свързвате клиентски компютър с Windows 7 към файлов сървър с Windows Server 2012 R2, ще се използва протоколът SMB 2.1.

съвет. Можете да определите версията на SMB протокола, чрез която клиентът взаимодейства със сървъра, използвайки командата, използвайки Powershell:

Get-SmbConnection

За да изброите версиите на SMB протокола, използвани от клиентите, и броя на клиентите, използвани от определена версия на SMB протокола от страна на сървъра, изпълнете командата:

Get-SmbSession | Select-Object -ExpandProperty Dialect | Sort-Object -Unique

В нашия пример има 825 клиента, свързани към сървъра чрез SMB 2.1 (Win 7/2008 r2), и 12 клиента чрез SMB 3.02 (Win 8.1 / 2012 r2.

Според таблицата на Windows XP Windows Server 2003 може да използва SMB 1.0 само за достъп до споделени файлове и папки на сървъра, които могат да бъдат деактивирани в новите версии на Windows Server (2012 R2 / 2016). По този начин, ако вашата инфраструктура едновременно използва компютри с Windows XP (преустановена), Windows Server 2003 / R2 и сървъри с Windows Server 2012 R2 / Server 2016, трябва да разберете, че наследените клиенти няма да имат достъп до файлове и папки на файлов сървър с нова ОС. И в случай, че в Windows Server 2016/2012 R2 с изключен SMB 1.0 се използва като контролер на домейн, това означава, че клиентите в Windows XP / Server 2003 няма да могат да изпълняват скриптове за влизане (NETLOGON) и някои групови политики, съхранени в мрежови папки на контролери на домейни (например при използване на централизирано съхранение на шаблони на Admx). При по-стари клиенти, когато се опитвате да се свържете с ресурс на файлов сървър с SMB v1 деактивиран, се появява грешка:

Посоченото име на мрежата вече не е достъпно

За опасностите от използването на SMB1

В момента протоколът SMB 1.0 е остарял и има голям брой критични уязвимости (не забравяйте историята на вирусите wannacrypt и petya ransomware, които използваха уязвимостта в протокола SMBv1). Microsoft и други ИТ компании настоятелно препоръчват да се откаже от използването му.

В случай, че клиентите с Windows XP и Windows Server 2003 останат във вашата мрежа, трябва да ги мигрирате към по-нови версии на Microsoft OS възможно най-скоро или внимателно да ги изолирате.

SMB 1.0 протокол в Windows Server 2012 R2

Ако отворите списъка с компоненти на Windows Server 2012 R2, сред тях можете да видите функция с име SMB 1.0 / CIFS досие споделяне подкрепа, която не е инсталирана. Но самият SMB 1.0 драйвер работи. Когато тази роля е инсталирана, услугата Computer Browser (компютър Браузър). Това е SMB 1.0 клиент, без който няма да е възможно да се свържете с други компютри, които поддържат само този протокол от този сървър..



съвет. Ако мрежата не трябва да поддържа старата версия на SMB 1.0 за компютри с Windows XP или Windows Server 2003, тази функционалност може да бъде деактивирана с командата за намаляване на натоварването на системата и повишаване на сигурността:
Премахване-WindowsFeature FS-SMB1
След това в настройките на сървъра трябва напълно да деактивирате SMB 1.0 с командата:

Set-SmbServerConfiguration -EnableSMB1Protocol $ false

В Windows Server 2012 по подразбиране се зареждат както драйвери SMB 1, така и SMB 2. За да се уверите в това, отворете свойствата на системната услуга Сървър (LanmanServer) и таб Зависимостите уверете се, че драйверите работят едновременно на сървъра Сървър SMB 1.xxx драйвер и  SMB 2.xxx драйвер.

Ако отворим свойствата на услугата LanmanServer на Windows 2012 R2, ще видим, че драйверът, който поддържа SMB 1.0, е изключен от зависимостите.

Но това не означава, че драйверът SMB 1.0 не работи. Можете да проверите дали SMB 1.0 протоколът е активиран от страната на сървъра с командата:

Get-SmbServerConfiguration | Изберете EnableSMB1Protocol

Както можете да видите, протоколът SMB1 е активиран в WS 2012 R2, въпреки липсата на компонента за поддръжка на файлове за поддръжка на SMB 1.0 / CIFS и зависимостите в LanmanServer.

В случай, че наследени клиенти (XP / Server 2003 и т.н.) са загубили SMB достъп до файлови сървъри / контролери на домейни на Windows Server 2012 R2, можете да активирате поддръжката на SMB 1, както следва. Първо активирайте протокола в настройките на сървъра:

Set-SmbServerConfiguration -EnableSMB1Protocol $ true

След това активирайте зависимостите от протокола SMB 1.0 в Windows Server 2012 R2 чрез системния регистър. Отидете до клона HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer и променете стойността на параметъра DependOnService от SamSS Srv2 до SamSS Srv.

След това сървърът трябва да се рестартира и се уверете, че драйверът SMB 1.0 работи отново.

Тази операция трябва да се извърши на всички файлови сървъри и контролери на домейни, към които се свързват наследени клиентски версии..

SMB 1.0 протокол в Windows Server 2016

В Windows Server 2016 поддръжката на SMB 1.0 от страна на клиента също е включена като отделен компонент, който може да бъде намерен в списъка на съветника за добавяне / премахване на функции. Този компонент се нарича SMB 1.0 / CIFS досие споделяне подкрепа.

Можете да деактивирате поддръжката на SMB v1 и напълно да премахнете компонента с помощта на командите:

Премахване-WindowsFeature FS-SMB1
sc.exe config lanmanworkstation зависи = bowser / mrxsmb20 / nsi
sc.exe config mrxsmb10 start = деактивиран

забележка. Пълни инструкции за деактивиране на SMB 1.0 в Windows 10 / Server 2016.

Започвайки с Windows Server 2016 1709 (и Windows 10 Fall Creators), компонентът SMBv1 (както клиент, така и сървър) е по подразбиране инвалиди (достъпът на гостите чрез SMBv2 протокол също е деактивиран). За достъп до по-стари системи, използващи остаряла версия на протокола, трябва да го инсталирате отделно. Трябва да инсталирате компонента за поддръжка на споделяне на файлове SMB 1.0 / CIFS и да активирате SMB 1.0 със следните команди:

Add-WindowsFeature FS-SMB1
Set-SmbServerConfiguration -EnableSMB1Protocol $ true