Översikt över signering av servermeddelandeblockering
I den här artikeln beskrivs SMB-signering (Server Message Block) 2.x och 3.x och hur du avgör om SMB-signering krävs.
Introduktion
SMB-signering (även kallat säkerhetssignaturer) är en säkerhetsmekanism i SMB-protokollet. SMB-signering innebär att varje SMB-meddelande innehåller en signatur som genereras med hjälp av sessionsnyckeln. Klienten placerar en hash för hela meddelandet i signaturfältet i SMB-huvudet.
SMB-signering visades först i Microsoft Windows 2000, Microsoft Windows NT 4.0 och Microsoft Windows 98. Signeringsalgoritmer har utvecklats med tiden. SMB 2.02-signering förbättrades genom införandet av hash-baserad kod för meddelandeautentisering (HMAC) SHA-256 och ersatte den gamla MD5-metoden från slutet av 1990-talet som användes i SMB1. SMB 3.0 lade till AES-CMAC-algoritmer. I Windows Server 2022 och Windows 11 lade vi till AES-128-GMAC-signeringsacceleration. Om du vill ha bästa möjliga prestanda och skydd kan du uppgradera till de senaste Windows-versionerna.
Så skyddar SMB-signering anslutningen
Om någon ändrar ett meddelande under överföringen matchar inte hashen och SMB vet att någon har manipulerat data. Signaturen bekräftar också avsändarens och mottagarens identiteter. Detta förhindrar reläattacker. Helst använder du Kerberos i stället för NTLMv2 så att sessionsnyckeln börjar starkt. Anslut inte till resurser med hjälp av IP-adresser och använd inte CNAME-poster, eller så använder du NTLM i stället för Kerberos. Använd Kerberos i stället. Mer information finns i Använda datornamnalias i stället för DNS CNAME-poster .
Principplatser för SMB-signering
Principerna för SMB-signering finns i Windows-inställningar>för datorkonfiguration>Säkerhetsinställningar>Lokala principer>Säkerhetsalternativ.
- Microsoft-nätverksklient: Signera kommunikation digitalt (alltid)
Registernyckel:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
Registervärde: RequireSecuritySignature
Datatyp: REG_DWORD
Data: 0 (inaktivera), 1 (aktivera) - Microsoft-nätverksklient: Signera kommunikation digitalt (om servern samtycker)
Registernyckel:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
Registervärde: EnableSecuritySignature
Datatyp: REG_DWORD
Data: 0 (inaktivera), 1 (aktivera) - Microsoft-nätverksserver: Signera kommunikation digitalt (alltid)
Registernyckel:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
Registervärde: RequireSecuritySignature
Datatyp: REG_DWORD
Data: 0 (inaktivera), 1 (aktivera) - Microsoft-nätverksserver: Signera kommunikation digitalt (om klienten samtycker)
Registernyckel:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
Registervärde: EnableSecuritySignature
Datatyp: REG_DWORD
Data: 0 (inaktivera), 1 (aktivera)
Obs! I dessa principer anger "always" att SMB-signering krävs och "om servern godkänner" eller "om klienten samtycker" anger att SMB-signering är aktiverat.
Förstå "RequireSecuritySignature" och "EnableSecuritySignature"
Registerinställningen EnableSecuritySignature för SMB2+-klienten och SMB2+-servern ignoreras. Därför gör den här inställningen ingenting om du inte använder SMB1. SMB 2.02 och senare signering styrs enbart genom krav eller inte. Den här inställningen används när antingen servern eller klienten kräver SMB-signering. Endast om båda har signering inställd på 0 kommer signering inte att ske.
- | Server – RequireSecuritySignature=1 | Server – RequireSecuritySignature=0 |
---|---|---|
Klient – RequireSecuritySignature=1 | Undertecknad | Undertecknad |
Klient – RequireSecuritySignature=0 | Undertecknad | Inte signerad |
Referens
Konfigurera SMB-signering med konfidens
Så här skyddar du användare från avlyssningsattacker via SMB-klientförsvar
SMB 2- och SMB 3-säkerhet i Windows 10: signerings- och kryptografiska nycklars anatomi