Číst v angličtině

Sdílet prostřednictvím


Detekce, povolení a zakázání SMBv1, SMBv2 a SMBv3 ve Windows

Tento článek popisuje povolení a zakázání protokolu SMB (Server Message Block) verze 1 (SMBv1), SMB verze 2 (SMBv2) a SMB verze 3 (SMBv3) na komponentách klienta a serveru SMB.

Pokud SMBv1 zakážete nebo odeberete, může docházet k problémům s kompatibilitou starých počítačů nebo softwaru. SMBv1 má významné ohrožení zabezpečení a důrazně doporučujeme, abyste ho nepoužívali. SMBv1 není ve výchozím nastavení nainstalován v žádné edici Windows 11 ani ve Windows Serveru 2019 a novějších verzích. SMBv1 také není ve výchozím nastavení nainstalovaný ve Windows 10 s výjimkou edicí Home a Pro. Doporučujeme místo přeinstalace SMBv1 aktualizovat server SMB, který ho stále vyžaduje. Seznam partnerů, kteří vyžadují SMBv1, a jejich aktualizace, které tento požadavek odeberou, najdete v Centrálním registru produktů SMB1 .

Zakázání SMBv2 nebo SMBv3 pro řešení potíží

Doporučujeme zachovat povolenou verzi SMBv2 a SMBv3, ale může být užitečné ji dočasně zakázat pro řešení potíží. Další informace naleznete v tématu Použití příkazového řádku nebo Editor registru ke správě protokolů SMB.

Zakázání SMBv3 deaktivuje následující funkce:

  • Transparentní převzetí služeb při selhání: Poskytuje klientům způsob, jak se znovu připojit bez přerušení k uzlům clusteru během údržby nebo převzetí služeb při selhání.
  • Horizontální škálování: Nabízí souběžný přístup ke sdíleným datům na všech uzlech clusteru souborů.
  • SMB Multichannel: Usnadňuje agregaci šířky pásma sítě a odolnosti proti chybám, pokud je mezi klientem a serverem k dispozici více cest.
  • SMB Direct: Přidává podporu síťovému vzdálenému přímému přístupu do paměti (RDMA), což zajišťuje vysoký výkon s nízkou latencí a nízkým využitím procesoru.
  • Šifrování: Poskytuje komplexní šifrování a nabízí ochranu před odposloucháváním v nedůvěryhodných sítích.
  • Pronájem adresářů: Zlepšuje dobu odezvy aplikací ve firemních pobočkách prostřednictvím ukládání do mezipaměti.
  • Optimalizace výkonu: Optimalizuje malé náhodné vstupně-výstupní operace čtení a zápisu.

Zakázání SMBv2 deaktivuje následující funkce:

  • Skládání žádostí: Podporuje odesílání více požadavků SMBv2 do jednoho síťového požadavku.
  • Větší čtení a zápisy: Zlepšuje používání rychlejších sítí.
  • Ukládání složky a vlastností souboru do mezipaměti: Umožňuje klientům uchovávat místní kopie složek a souborů.
  • Odolné úchyty: Poskytují způsob, jak znovu navázat připojení k serveru bez viditelného přerušení po dočasném odpojení.
  • Vylepšené podepisování zpráv: Používá zabezpečený hashovací algoritmus HMAC SHA-256 s 256bitovým otiskem místo algoritmu Message-Digest Algoritmus 5 (MD5) jako hashovacího algoritmu.
  • Vylepšená škálovatelnost sdílení souborů: Výrazně se zvyšuje počet uživatelů, sdílených složek a otevřených souborů na server.
  • Podpora symbolických odkazů
  • Model pronájmu oplock klienta: Omezuje data přenášená mezi klientem a serverem, zlepšuje výkon sítí s vysokou latencí a zvyšuje škálovatelnost serveru SMB.
  • Podpora velké maximální přenosové jednotky (MTU): Podporuje plné využití 10 Gigabit Ethernetu (GbE)
  • Vylepšená energetická účinnost: Poskytuje způsob klientům, kteří mají otevřené soubory na serveru, aby mohli přejít do režimu spánku.

Protokol SMBv2 byl zaveden v systémech Windows Vista a Windows Server 2008. Protokol SMBv3 byl zaveden ve Windows 8 a Windows Serveru 2012. Další informace o možnostech SMBv2 a SMBv3 najdete v následujících článcích:

Odebrání SMBv1 pomocí PowerShellu

Můžete použít Get-WindowsOptionalFeature, Disable-WindowsOptionalFeaturea Enable-WindowsOptionalFeature příkazy PowerShellu k detekci, zakázání a povolení klienta nebo serveru SMBv1. Příkazy spusťte na příkazovém řádku se zvýšenými oprávněními.

Poznámka

Po spuštění příkazů PowerShellu se počítač restartuje a zakáže nebo povolí SMBv1.

  • Detekce:

    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Vypnout:

    Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Zapnout:

    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    

Tip

Stav SMBv1 můžete zjistit bez zvýšení oprávnění spuštěním příkazu Get-SmbServerConfiguration: Get-SmbServerConfiguration | Format-List EnableSMB1Protocol.

Odebrání SMBv1

SMBv1 není ve výchozím nastavení nainstalovaný ve Windows Serveru 2019 a novějších verzích. Ve starších verzích Windows Serveru můžete pomocí Správce serveru odebrat SMBv1:

  1. Na serveru, ze kterého chcete odebrat SMBv1, otevřete Správce serveru.

  2. Na řídicím panelu Správce serveru v části Konfigurovat tento místní servervyberte Přidat role a funkce.

  3. Na stránce Než začnete, zvolte Spustit průvodce odebráním rolí a funkcía poté na další stránce zvolte Další.

  4. Na stránce Vyberte cílový server v části Fond serverůověřte, že je vybraný server, ze kterého chcete tuto funkci odebrat, a pak vyberte Další.

  5. Na stránce Odebrat role serveru vyberte Další.

  6. Na stránce Odebrat funkce zrušte zaškrtnutí políčka pro podporu sdílení souborů SMB 1.0/CIFSa potom vyberte Další.

    snímek obrazovky se stránkou Odebrat funkce na řídicím panelu Správce serveru V seznamu funkcí je zvýrazněná položka SMBv1.

  7. Na stránce Potvrzení výběrů pro odebrání se ujistěte, že je tato funkce uvedena, a poté vyberte Odebrat.

Použití příkazového řádku nebo Editoru registru ke správě protokolů SMB

Počínaje Windows 10 Fall Creators Update a Windows Serverem 2019 už není SMBv1 ve výchozím nastavení nainstalovaný. Další informace naleznete v tématu SMBv1 není ve výchozím nastavení nainstalován ve Windows 10 verze 1709, Windows Server verze 1709 a novějších verzích.

Když povolíte nebo zakážete SMBv2 ve Windows 8 nebo Windows Serveru 2012, bude SMBv3 také povolený nebo zakázaný. K tomuto chování dochází, protože tyto protokoly sdílejí stejnou síťovou vrstvu.

Pomocí rutiny Set-SMBServerConfiguration můžete povolit nebo zakázat protokoly SMBv1, SMBv2 a SMBv3 na součásti serveru. K načtení konfigurace serveru SMB můžete použít rutinu Get-SmbServerConfiguration.

Po spuštění rutiny Set-SMBServerConfiguration nemusíte počítač restartovat.

SMBv1

  • Detekovat:

    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    
  • Vypnout:

    Set-SmbServerConfiguration -EnableSMB1Protocol $false
    
  • Povolit:

    Set-SmbServerConfiguration -EnableSMB1Protocol $true
    

Další informace najdete v tématu Zastavení používání protokolu SMB1.

SMBv2 a SMBv3

  • Detekovat:

    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    
  • Vypnout:

    Set-SmbServerConfiguration -EnableSMB2Protocol $false
    
  • Zapnout:

    Set-SmbServerConfiguration -EnableSMB2Protocol $true
    

Povolení nebo zakázání protokolu SMB v systémech Windows 7, Windows Server 2008 R2, Windows Vista a Windows Server 2008

Pokud chcete povolit nebo zakázat protokoly SMB na serveru SMB se systémem Windows 7, Windows Server 2008 R2, Windows Vista nebo Windows Server 2008, použijte Windows PowerShell nebo Editor registru, jak je vysvětleno v následujících částech.

Použití Windows PowerShellu

Můžete použít rutiny cmdlet Get-Item, Get-ItemPropertya Set-ItemProperty ke zjištění, povolení a zakázání protokolů SMB.

Poznámka

Příkazy v následujících částech vyžadují PowerShell 2.0 nebo novější.

SMBv1 na serveru SMB
  • Detekovat:

    Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
    

    Výchozí konfigurace je Enabled. V důsledku toho se nevytváří žádná hodnota registru s názvem, takže příkaz nevrací hodnotu SMB1.

  • Vypnout:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
    
  • Zapnout:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
    

Poznámka

Po provedení těchto změn je nutné počítač restartovat.

Další informace najdete v tématu Zastavení používání protokolu SMB1.

SMBv2 a SMBv3 na serveru SMB
  • Detekuj

    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
    
  • Vypnout:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
    
  • Zapnout:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force
    

Poznámka

Po provedení těchto změn je nutné počítač restartovat.

Použití Editoru registru

Důležité

Pečlivě postupujte podle kroků v této části. Pokud registr upravíte nesprávně, může dojít k vážným problémům. Než ho upravíte, zálohujte registr pro obnovení v případě, že dojde k problémům.

Pokud chcete povolit nebo zakázat SMBv1 na serveru SMB, otevřete Editor registru a přejděte na následující cestu ke klíči registru:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Nakonfigurujte položku, která má následující vlastnosti:

  • Jako název použijte smb1.
  • Pro typ použijte REG_DWORD.
  • Pro data použijte 0 pro Zakázáno a 1 pro Povoleno. Výchozí hodnota je 1nebo Povoleno. V tomto případě se nevytvořil žádný klíč registru.

Pokud chcete povolit nebo zakázat SMBv2 na serveru SMB, otevřete Editor registru a přejděte na následující cestu ke klíči registru:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Nakonfigurujte položku, která má následující vlastnosti:

  • Jako název použijte SMB2 .
  • Pro typ použijte REG_DWORD.
  • Pro data použijte 0 pro Zakázáno a 1 pro Povoleno. Výchozí hodnota je 1nebo Povoleno. V tomto případě se nevytvořil žádný klíč registru.

Poznámka

 Po provedení těchto změn je nutné počítač restartovat.

Použijte zásady skupiny k zakázání SMBv1

V této části se dozvíte, jak pomocí zásad skupiny zakázat SMBv1. Tuto metodu můžete použít v různých verzích Windows.

SMBv1

SMBv1 můžete na serveru SMB zakázat konfigurací následující nové položky v registru:

  • Cesta ke klíči: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • Položka registru: SMB1
  • Typ položky: REG_DWORD
  • Vstupní data: 0, pro Zakázáno

Pokud chcete ke konfiguraci této položky použít zásady skupiny, proveďte následující kroky:

  1. Otevřete konzolu pro správu zásad skupiny. Pravým tlačítkem myši klikněte na objekt zásad skupiny (GPO), který by měl obsahovat novou položku předvoleb, a pak vyberte Upravit.

  2. Ve stromu konzoly v části Konfigurace počítačerozbalte složku Předvolby a potom rozbalte složku Nastavení systému Windows.

  3. Klikněte pravým tlačítkem myši na uzel registru , přejděte na Novýa poté vyberte položku registru .

    Snímek obrazovky stromu konzolí v konzoli pro správu zásad skupiny. Je vidět místní nabídky registru, s možností Nový zvýrazněnou v první nabídce.

  4. V dialogovém okně Nové vlastnosti registru vyberte nebo zadejte následující hodnoty:

    • akce: Vytvořit
    • Hive: HKEY_LOCAL_MACHINE
    • Klíčová cesta: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
    • Název hodnoty: SMB1
    • Typ hodnoty: REG_DWORD
    • Hodnotová data: 0

    snímek obrazovky s dialogovým oknem Nové vlastnosti registru Hodnoty jsou viditelné v akci, podregistru, cestě ke klíči, názvu, typu a datových polích.

Tento postup zakáže součásti serveru SMBv1. Tuto zásadu musíte použít na všechny potřebné pracovní stanice, servery a řadiče domény v doméně.

Poznámka

 Filtry rozhraní WMI (Windows Management Instrumentation) můžete nastavit tak, aby vyloučily konkrétní operační systémy nebo vyloučily klientské nebo serverové operační systémy. Další informace najdete v tématu Filtrování zásad skupiny a Vytvoření filtrů rozhraní WMI pro GPO.

Důležité

Některé systémy vyžadují přístup ke složce SYSVOL nebo jiným sdíleným složkám, ale nepodporují SMBv2 nebo SMBv3. Mezi příklady takových systémů patří starší systémy Windows a starší systémy Linux a partnerské systémy. Při zákazu SMBv1 na řadičích domény v těchto systémech buďte opatrní.

Provozní audit protokolu SMBv1

Pokud chcete zjistit, kteří klienti se pokusí připojit k serveru SMB pomocí SMBv1, můžete povolit auditování u klientů s Windows Serverem a Windows. Pokud chcete povolit nebo zakázat auditování, použijte rutinu Set-SmbServerConfiguration. Ke kontrole stavu auditování použijte rutinu Get-SmbServerConfiguration.

  • Zapnout:

    Set-SmbServerConfiguration -AuditSmb1Access $true
    
  • Vypnout:

    Set-SmbServerConfiguration -AuditSmb1Access $false
    
  • Detekovat:

    Get-SmbServerConfiguration | Select AuditSmb1Access
    

Po povolení auditování SMBv1 můžete zkontrolovat Microsoft-Windows-SMBServer\Audit protokol událostí přístupu. Pokaždé, když se klient pokusí použít SMBv1 pro připojení k serveru, zobrazí se v protokolu položka s ID události 3000.

Kontrola nastavení zásad skupiny

Pokud jsou všechna nastavení ve stejném objektu zásad skupiny, zobrazí se následující nastavení:

snímek obrazovky s registrem editoru správy zásad skupiny Jsou viditelné tři položky: DependOnService, SMB1 a Start.

Testování a ověření zásady

Po dokončení kroků konfigurace v konzole pro správu zásad skupiny poskytněte zásadám skupiny čas na aplikaci aktualizací do jejích nastavení. V případě potřeby pro testování spusťte gpupdate /force na příkazovém řádku a zkontrolujte cílové počítače a ujistěte se, že jsou nastavení registru použita správně. Ujistěte se, že SMBv2 a SMBv3 fungují pro všechny ostatní systémy v prostředí.

Poznámka

Po otestování zásady restartujte cílové systémy.