Omówienie podpisywania bloku komunikatów serwera

W tym artykule opisano podpisywanie bloków komunikatów serwera (SMB) 2.x i 3.x oraz sposób określania, czy podpisywanie SMB jest wymagane.

Wprowadzenie

Podpisywanie SMB (nazywane również sygnaturami zabezpieczeń) jest mechanizmem zabezpieczeń w protokole SMB. Podpisywanie protokołu SMB oznacza, że każdy komunikat SMB zawiera podpis generowany przy użyciu klucza sesji. Klient umieszcza skrót całego komunikatu w polu podpisu nagłówka SMB.

Podpisywanie SMB po raz pierwszy pojawiło się w systemach Microsoft Windows 2000, Microsoft Windows NT 4.0 i Microsoft Windows 98. Algorytmy podpisywania ewoluowały w miarę upływu czasu. Podpisywanie protokołu SMB 2.02 zostało ulepszone przez wprowadzenie kodu uwierzytelniania komunikatów opartych na skrótach (HMAC) SHA-256, zastępując starą metodę MD5 z końca lat 90., która była używana w protokole SMB1. Protokół SMB 3.0 dodał algorytmy AES-CMAC. W systemach Windows Server 2022 i Windows 11 dodaliśmy przyspieszanie podpisywania AES-128-GMAC. Jeśli chcesz uzyskać najlepszą kombinację wydajności i ochrony, rozważ uaktualnienie do najnowszych wersji systemu Windows.

Jak podpisywanie protokołu SMB chroni połączenie

Jeśli ktoś zmieni komunikat podczas transmisji, skrót nie będzie zgodny, a protokół SMB będzie wiedział, że ktoś manipulował danymi. Podpis potwierdza również tożsamości nadawcy i odbiorcy. Zapobiega to atakom przekaźnika. W idealnym przypadku używasz protokołu Kerberos zamiast NTLMv2, aby klucz sesji był silny. Nie łącz się z udziałami przy użyciu adresów IP i nie używaj rekordów CNAME lub użyjesz protokołu NTLM zamiast protokołu Kerberos. Zamiast tego użyj protokołu Kerberos. Aby uzyskać więcej informacji, zobacz Using Computer Name Aliases in place of DNS CNAME Records (Używanie aliasów nazw komputerów zamiast rekordów CNAME DNS ).

Lokalizacje zasad podpisywania SMB

Zasady podpisywania SMB znajdują się w konfiguracji> komputeraUstawienia>systemu Windows Ustawienia> zabezpieczeńOpcje zabezpieczeńzasad> lokalnych.

  • Klient sieci firmy Microsoft: podpisz cyfrowo komunikację (zawsze)
    Klucz rejestru: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
    Wartość rejestru: RequireSecuritySignature
    Typ danych: REG_DWORD
    Dane: 0 (wyłączenie), 1 (włącz)
  • Klient sieci firmy Microsoft: podpisuj cyfrowo komunikację (jeśli serwer wyrazi na to zgodę)
    Klucz rejestru: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
    Wartość rejestru: EnableSecuritySignature
    Typ danych: REG_DWORD
    Dane: 0 (wyłączenie), 1 (włącz)
  • Serwer sieci firmy Microsoft: podpisuj cyfrowo komunikację (zawsze)
    Klucz rejestru: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
    Wartość rejestru: RequireSecuritySignature
    Typ danych: REG_DWORD
    Dane: 0 (wyłączenie), 1 (włącz)
  • Serwer sieci firmy Microsoft: podpisz cyfrowo komunikację (jeśli klient wyrazi na to zgodę)
    Klucz rejestru: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
    Wartość rejestru: EnableSecuritySignature
    Typ danych: REG_DWORD
    Dane: 0 (wyłączenie), 1 (włącz)

Uwaga W tych zasadach "zawsze" wskazuje, że podpisywanie SMB jest wymagane, a "jeśli serwer wyrazi zgodę" lub "jeśli klient wyrazi zgodę" wskazuje, że podpisywanie SMB jest włączone.

Opis elementów "RequireSecuritySignature" i "EnableSecuritySignature"

Ustawienie rejestru EnableSecuritySignature dla klienta SMB2+ i serwera SMB2+ jest ignorowane. W związku z tym to ustawienie nie robi nic, chyba że używasz protokołu SMB1. Podpisywanie protokołu SMB 2.02 i nowszych jest kontrolowane wyłącznie przez wymaganie lub nie. To ustawienie jest używane, gdy serwer lub klient wymaga podpisania protokołu SMB. Tylko wtedy, gdy oba mają podpisywanie ustawione na wartość 0 , podpisywanie nie nastąpi.

- Serwer — RequireSecuritySignature=1 Serwer — RequireSecuritySignature=0
Klient — RequireSecuritySignature=1 Podpisane Podpisane
Klient — RequireSecuritySignature=0 Podpisane Niepodpisane

Odwołanie

Konfigurowanie podpisywania SMB z ufnością

Jak bronić użytkowników przed atakami przechwytywania za pośrednictwem usługi SMB Client Defense

Zabezpieczenia protokołu SMB 2 i SMB 3 w Windows 10: anatomia podpisywania i kluczy kryptograficznych

Protokół SMBv1 nie jest instalowany domyślnie w Windows 10 wersji 1709, Windows Server w wersji 1709 i nowszych

Nazwa komputera netdom