Podpora za SMB 1.0 v operacijskem sistemu Windows Server 2012 R2 / Windows Server 2016

V Windows Server 2012 R2 je bila predstavljena nova različica protokola SMB 3 (tehnično gledano to SMB 3.02, ker SMB različice 3.0 se je pojavil v Windows Server 2012) in starejšem gonilniku protokola SMB 1.0 Zdaj lahko onemogočite in blokirate nalaganje njegovih komponent. Zaradi pomanjkanja podpore za SMB 1.0 najstarejše (Windows XP, Server 2003) in združljivi odjemalci (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, starejše različice Linuxa) ne bodo mogli dostopati do datotek, ki se nahajajo na datotečnem strežniku z operacijskim sistemom Windows 2012 R2 / 2016.

Vsebina:

  • Različice verzij protokola SMB za Windows
  • O nevarnostih uporabe SMB1
  • SMB 1.0 protokol v operacijskem sistemu Windows Server 2012 R2
  • SMB 1.0 protokol v operacijskem sistemu Windows Server 2016

Različice verzij protokola SMB za Windows

SMB (Server Message Block, včasih imenovan LAN-Manager) je omrežni protokol za oddaljeni dostop do datotek, tiskalnikov in drugih storitev. Za povezavo se uporablja vrata TCP 445. V naslednjih različicah sistema Windows so se pojavile različne različice protokola SMB:

  • Cifs - Windows NT 4.0
  • SMB 1.0 - Windows 2000
  • SMB 2.0 - Windows Server 2008 in WIndows Vista SP1
  • SMB 2.1 - Windows Server 2008 R2 in Windows 7
  • SMB 3.0 - Windows Server 2012 in Windows 8 (podpora za šifriranje SMB)
  • SMB 3.02 - Windows Server 2012 R2 in Windows 8.1
  • SMB 3.1.1 - Windows Server 2016 in Windows 10

Za omrežno komunikacijo s protokolom SMB med odjemalcem in strežnikom se uporablja največja različica protokola, ki jo podpirata tako odjemalec kot strežnik..

Spodaj je pregledna tabela, s katero lahko določite različico protokola SMB, ki je izbrana pri interakciji z različnimi različicami sistema Windows:

Operacijski sistemWin 10, Server 2016Windows 8.1,
Strežnik 2012 R2
Windows 8,
Strežnik 2012
Windows 7,
Server 2008 R2
Windows Vista,
Strežnik 2008
Windows XP, Server 2003 in novejši
Windows 10 ,
Windows Server 2016
SMB 3.1.1SMB 3.02SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 8.1 ,
Strežnik 2012 R2
SMB 3.02SMB 3.02SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 8 ,
Strežnik 2012
SMB 3.0SMB 3.0SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 7,
Server 2008 R2
SMB 2.1SMB 2.1SMB 2.1SMB 2.1SMB 2.0SMB 1.0
Windows Vista,
Strežnik 2008
SMB 2.0SMB 2.0SMB 2.0SMB 2.0SMB 2.0SMB 1.0
Windows XP, 2003 in novejšiSMB 1.0SMB 1.0SMB 1.0SMB 1.0SMB 1.0SMB 1.0

Na primer, ko povežete odjemalni računalnik z operacijskim sistemom Windows 7 na datotečni strežnik z Windows Server 2012 R2, bo uporabljen protokol SMB 2.1.

Namig. Lahko določite različico protokola SMB, po kateri odjemalec komunicira s strežnikom s pomočjo ukaza s pomočjo Powershell:

Get-smb povezava

Če želite prikazati različice protokola SMB, ki jih uporabljajo stranke, in število odjemalcev, ki jih uporablja določena različica protokola SMB na strani strežnika, zaženite ukaz:

Get-SmbSession | Select-Object -ExpandProperty Dialect | Razvrsti-Predmet -Unique

V našem primeru je 825 odjemalcev povezanih s strežnikom prek SMB 2.1 (Win 7/2008 r2) in 12 odjemalcev prek SMB 3.02 (Win 8.1 / 2012 r2.

V skladu s tabelo Windows XP lahko Windows Server 2003 uporablja samo SMB 1.0 za dostop do datotek in map v skupni rabi na strežniku, ki jih je mogoče onemogočiti v novih različicah Windows Server (2012 R2 / 2016). Če vaša infrastruktura hkrati uporablja računalnike z Windows XP (ukinjena), Windows Server 2003 / R2 in strežnike z Windows Server 2012 R2 / Server 2016, morate razumeti, da stari uporabniki ne bodo mogli dostopati do datotek in map v datotečni strežnik z novim OS. In v primeru, da se v Windows Server 2016/2012 R2 z onemogočenim SMB 1.0 uporablja kot krmilnik domene, to pomeni, da odjemalci v sistemu Windows XP / Server 2003 ne bodo mogli zagnati prijavnih skriptov (NETLOGON) in nekaterih skupinskih pravilnikov, shranjenih v omrežne mape na krmilnikih domen (na primer pri uporabi centraliziranega shranjevanja predlog admx). Pri starejših odjemalcih se pri poskusu povezave z virom na datotečnem strežniku z onemogočenim SMB v1 prikaže napaka:

Navedeno omrežno ime ni več na voljo

O nevarnostih uporabe SMB1

Trenutno je protokol SMB 1.0 zastarel in ima veliko kritičnih ranljivosti (spomnite se zgodovine virusov wannacrypt in petya ransomware, ki so uporabili ranljivost v protokolu SMBv1). Microsoft in druga IT podjetja močno priporočajo, da opustijo njegovo uporabo.

Če odjemalci z operacijskim sistemom Windows XP in Windows Server 2003 ostanejo v vašem omrežju, jih morate čim prej premakniti na novejše različice operacijskega sistema Microsoft OS ali jih skrbno izolirati..

SMB 1.0 protokol v operacijskem sistemu Windows Server 2012 R2

Če odprete seznam komponent sistema Windows Server 2012 R2, lahko med njimi vidite funkcijo z imenom SMB 1.0 / CIFS Datoteka Skupna raba Podpora, ki ni nameščen. Toda sam gonilnik SMB 1.0 deluje. Ko je ta vloga nameščena, storitev brskalnik Computer (Računalnik Brskalnik) To je odjemalec SMB 1.0, brez katerega se ne bo mogoče povezati z drugimi računalniki, ki podpirajo samo ta protokol s tega strežnika..



Namig. Če omrežje ne potrebuje starejše različice SMB 1.0 za računalnike z operacijskim sistemom Windows XP ali Windows Server 2003, lahko to funkcijo onemogočite z ukazom, da zmanjšate obremenitev sistema in povečate varnost:
Odstrani-WindowsFeature FS-SMB1
Nato morate v nastavitvah strežnika popolnoma onemogočiti SMB 1.0 z ukazom:

Set-SmbServerConfiguration -EnableSMB1Protocol $ false

V operacijskem sistemu Windows Server 2012 sta privzeto naložena gonilnika SMB 1 in SMB 2. Če se želite prepričati o tem, odprite lastnosti sistemske storitve Strežnik (LanmanServer) in zavihek Odvisnosti preverite, ali se gonilniki hkrati izvajajo na strežniku Gonilnik SMB 1.xxx in  Gonilnik SMB 2.xxx.

Če odpremo lastnosti storitve LanmanServer v sistemu Windows 2012 R2, bomo videli, da je gonilnik, ki podpira SMB 1.0, izključen iz odvisnosti.

Toda to ne pomeni, da gonilnik SMB 1.0 ne deluje. Z ukazom lahko preverite, ali je protokol SMB 1.0 na strani strežnika omogočen:

Get-SmbServerConfiguration | Izberite EnableSMB1Protocol

Kot lahko vidite, je protokol SMB1 omogočen v WS 2012 R2 kljub odsotnosti komponente za podporo datotek SMB 1.0 / CIFS in skupni podpori v LanmanServerju.

Če starejši odjemalci (XP / Server 2003 itd.) Izgubijo SMB dostop do datotečnih strežnikov / krmilnikov domen v operacijskem sistemu Windows Server 2012 R2, lahko aktivirate podporo SMB 1 na naslednji način. Najprej omogočite protokol v nastavitvah strežnika:

Set-SmbServerConfiguration -EnableSMB1Protocol $ true

Nato v registru omogočite odvisnosti od protokola SMB 1.0 v sistemu Windows Server 2012 R2. Pojdi na podružnico HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer in spremenite vrednost parametra DependOnService od SamSS Srv2 do SamSS Srv.

Po tem je treba strežnik znova zagnati in se prepričati, da gonilnik SMB 1.0 znova deluje.

To operacijo je treba izvesti na vseh datotečnih strežnikih in krmilnikih domen, na katere se povezujejo starejše različice odjemalca..

SMB 1.0 protokol v operacijskem sistemu Windows Server 2016

V operacijskem sistemu Windows Server 2016 je podpora za SMB 1.0 na strani stranke vključena tudi kot ločena komponenta, ki jo najdete na seznamu čarovnika za dodajanje / odstranjevanje funkcij. Ta komponenta se imenuje SMB 1.0 / CIFS Datoteka Skupna raba Podpora.

Podporo SMB v1 lahko onemogočite in komponento v celoti odstranite s pomočjo ukazov:

Odstrani-WindowsFeature FS-SMB1
sc.exe config lanmanworkstation odvisen = bowser / mrxsmb20 / nsi
sc.exe config mrxsmb10 start = onemogočen

Opomba. Popolna navodila za onemogočanje SMB 1.0 v operacijskem sistemu Windows 10 / Server 2016.

Od Windows Server 2016 1709 (in Windows 10 Fall Creators) je komponenta SMBv1 (tako odjemalec kot strežnik) privzeta odklopljen (dostop gosta prek protokola SMBv2 je tudi onemogočen). Če želite dostopati do starejših sistemov z zastarelo različico protokola, ga morate namestiti posebej. Namestiti morate komponento podpore za skupno rabo datotek SMB 1.0 / CIFS in omogočiti SMB 1.0 z naslednjimi ukazi:

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