Obsługa SMB 1.0 w Windows Server 2012 R2 / Windows Server 2016

W systemie Windows Server 2012 R2 wprowadzono nową wersję protokołu SMB 3 (technicznie to SMB 3.02, ponieważ Wersja SMB 3.0 pojawiła się w systemie Windows Server 2012) i starszy sterownik protokołu SMB 1.0 Teraz możesz wyłączyć i zablokować ładowanie jego komponentów. Ze względu na brak obsługi SMB 1.0 starsze wersje (Windows XP, Server 2003) i kompatybilne klienty (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, starsze wersje systemu Linux) nie będą miały dostępu do plików znajdujących się na serwerze plików z systemem Windows 2012 R2 / 2016.

Treść

  • Wersje protokołu Windows SMB
  • O niebezpieczeństwach związanych z używaniem SMB1
  • Protokół SMB 1.0 w systemie Windows Server 2012 R2
  • Protokół SMB 1.0 w systemie Windows Server 2016

Wersje protokołu Windows SMB

SMB (Server Message Block, czasem nazywany LAN-Manager) to protokół sieciowy do zdalnego dostępu do plików, drukarek i innych usług. Do połączenia wykorzystywany jest port TCP 445. Różne wersje protokołu SMB pojawiły się w następujących wersjach systemu Windows:

  • Cifs - Windows NT 4.0
  • SMB 1.0 - Windows 2000
  • SMB 2.0 - Windows Server 2008 i WIndows Vista SP1
  • SMB 2.1 - Windows Server 2008 R2 i Windows 7
  • SMB 3.0 - Windows Server 2012 i Windows 8 (obsługa szyfrowania SMB)
  • SMB 3.02 - Windows Server 2012 R2 i Windows 8.1
  • SMB 3.1.1 - Windows Server 2016 i Windows 10

Do komunikacji sieciowej przy użyciu protokołu SMB między klientem a serwerem używana jest maksymalna wersja protokołu, obsługiwana zarówno przez klienta, jak i serwer.

Poniżej znajduje się tabela podsumowująca, za pomocą której można określić wersję protokołu SMB, która jest wybierana podczas interakcji z różnymi wersjami systemu Windows:

System operacyjnyWygraj 10, Server 2016Windows 8.1,
Server 2012 R2
Windows 8,
Serwer 2012
Windows 7,
Server 2008 R2
Windows Vista,
Serwer 2008
Windows XP, Server 2003 i nowsze wersje
Windows 10 ,
Windows Server 2016
SMB 3.1.1SMB 3.02SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 8.1 ,
Server 2012 R2
SMB 3.02SMB 3.02SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 8 ,
Serwer 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,
Serwer 2008
SMB 2.0SMB 2.0SMB 2.0SMB 2.0SMB 2.0SMB 1.0
Windows XP, 2003 i nowsze wersjeSMB 1.0SMB 1.0SMB 1.0SMB 1.0SMB 1.0SMB 1.0

Na przykład podczas podłączania komputera klienckiego z systemem Windows 7 do serwera plików z systemem Windows Server 2012 R2 zostanie użyty protokół SMB 2.1.

Wskazówka. Możesz określić wersję protokołu SMB, dzięki której klient wchodzi w interakcję z serwerem, używając polecenia Powershell:

Get-smbconnection

Aby wyświetlić listę wersji protokołu SMB używanego przez klientów i liczbę klientów używaną przez określoną wersję protokołu SMB po stronie serwera, uruchom polecenie:

Get-SmbSession | Wybierz-obiekt -Rozwiń okno właściwości | Sort-Object -Unique

W naszym przykładzie jest 825 klientów podłączonych do serwera za pomocą SMB 2.1 (Win 7/2008 R2) i 12 klientów za pośrednictwem SMB 3.02 (Win 8.1 / 2012 R2.

Zgodnie z tabelą systemu Windows XP system Windows Server 2003 może używać SMB 1.0 tylko do uzyskiwania dostępu do udostępnionych plików i folderów na serwerze, które można wyłączyć w nowych wersjach systemu Windows Server (2012 R2 / 2016). Dlatego jeśli twoja infrastruktura jednocześnie korzysta z komputerów z systemem Windows XP (nie produkowane), Windows Server 2003 / R2 i serwery z systemem Windows Server 2012 R2 / Server 2016, musisz zrozumieć, że starsze klienty nie będą miały dostępu do plików i folderów na serwer plików z nowym systemem operacyjnym. W przypadku, gdy w systemie Windows Server 2016/2012 R2 z wyłączonym SMB 1.0 jest używany jako kontroler domeny, oznacza to, że klienci w systemie Windows XP / Server 2003 nie będą mogli uruchamiać skryptów logowania (NETLOGON) i niektórych zasad grupy przechowywanych w foldery sieciowe na kontrolerach domen (na przykład podczas korzystania ze scentralizowanego przechowywania szablonów admx). Na starszych klientach podczas próby połączenia się z zasobem na serwerze plików z wyłączonym SMB v1 pojawia się błąd:

Określona nazwa sieci nie jest już dostępna

O niebezpieczeństwach związanych z używaniem SMB1

W tej chwili protokół SMB 1.0 jest przestarzały i ma wiele krytycznych luk (pamiętaj historię wirusów wannacrypt i petya ransomware, które wykorzystywały tę lukę w protokole SMBv1). Microsoft i inne firmy informatyczne zdecydowanie zalecają zaprzestanie jego używania.

Jeśli klienci z systemem Windows XP i Windows Server 2003 pozostają w sieci, musisz jak najszybciej przeprowadzić migrację do nowszych wersji systemu operacyjnego Microsoft lub ostrożnie je odizolować.

Protokół SMB 1.0 w systemie Windows Server 2012 R2

Jeśli otworzysz listę składników systemu Windows Server 2012 R2, wśród nich zobaczysz funkcję o nazwie SMB 1.0 / CIFS Plik Udostępnianie Wsparcie, który nie jest zainstalowany. Ale sam sterownik SMB 1.0 działa. Po zainstalowaniu tej roli usługa Przeglądarki komputera (Komputer Przeglądarka) Jest to klient SMB 1.0, bez którego nie będzie można połączyć się z innymi komputerami obsługującymi tylko ten protokół z tego serwera..



Wskazówka. Jeśli sieć nie musi obsługiwać starej wersji SMB 1.0 dla komputerów z systemem Windows XP lub Windows Server 2003, tę funkcję można wyłączyć za pomocą polecenia zmniejszającego obciążenie systemu i zwiększającego bezpieczeństwo:
Usuń-WindowsFeature FS-SMB1
Następnie w ustawieniach serwera musisz całkowicie wyłączyć SMB 1.0 za pomocą polecenia:

Set-SmbServerConfiguration -EnableSMB1Protocol $ false

W systemie Windows Server 2012 domyślnie ładowane są zarówno sterowniki SMB 1, jak i SMB 2. Aby się upewnić, otwórz właściwości usługi systemowej Serwer (LanmanServer) i tab Zależności upewnij się, że na serwerze działają sterowniki w tym samym czasie Serwer SMB 1.xxx Driver Sterownik SMB 2.xxx.

Jeśli otworzymy właściwości usługi LanmanServer w systemie Windows 2012 R2, zobaczymy, że sterownik obsługujący SMB 1.0 jest wykluczony z zależności.

Ale to nie znaczy, że sterownik SMB 1.0 nie działa. Możesz sprawdzić, czy protokół SMB 1.0 jest włączony po stronie serwera za pomocą polecenia:

Get-SmbServerConfiguration | Wybierz EnableSMB1Protocol

Jak widać, protokół SMB1 jest włączony w WS 2012 R2 pomimo braku komponentu Wspierania udostępniania plików SMB 1.0 / CIFS i zależności w LanmanServer.

W przypadku, gdy starsze klienci (XP / Server 2003 itp.) Utracą dostęp SMB do serwerów plików / kontrolerów domeny w systemie Windows Server 2012 R2, możesz aktywować obsługę SMB 1 w następujący sposób. Najpierw włącz protokół w ustawieniach serwera:

Set-SmbServerConfiguration -EnableSMB1Protocol $ true

Następnie włącz zależności protokołu SMB 1.0 w systemie Windows Server 2012 R2 za pośrednictwem rejestru. Idź do oddziału HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer i zmień wartość parametru DependOnService od SamSS Srv2 do SamSS Srv.

Następnie należy ponownie uruchomić serwer i upewnić się, że sterownik SMB 1.0 ponownie działa.

Tę operację należy wykonać na wszystkich serwerach plików i kontrolerach domeny, z którymi łączą się starsze wersje klientów..

Protokół SMB 1.0 w systemie Windows Server 2016

W systemie Windows Server 2016 obsługa SMB 1.0 po stronie klienta jest również zawarta jako osobny składnik, który można znaleźć na liście kreatora Dodaj / Usuń funkcje. Ten komponent jest nazywany SMB 1.0 / CIFS Plik Udostępnianie Wsparcie.

Możesz wyłączyć obsługę SMB v1 i całkowicie usunąć komponent za pomocą poleceń:

Usuń-WindowsFeature FS-SMB1
sc.exe config lanmanworkstation depend = bowser / mrxsmb20 / nsi
sc.exe config mrxsmb10 start = wyłączone

Uwaga. Kompletne instrukcje wyłączania SMB 1.0 w systemie Windows 10 / Server 2016.

Począwszy od systemu Windows Server 2016 1709 (i Windows 10 Fall Creators) składnik SMBv1 (zarówno klient, jak i serwer) jest domyślny odłączony (dostęp gości przez protokół SMBv2 jest również wyłączony). Aby uzyskać dostęp do starszych systemów korzystających z nieaktualnej wersji protokołu, musisz zainstalować go osobno. Musisz zainstalować komponent Obsługa udostępniania plików SMB 1.0 / CIFS i włączyć SMB 1.0 za pomocą następujących poleceń:

Dodaj funkcję Windows FS-SMB1
Set-SmbServerConfiguration -EnableSMB1Protocol $ true