Udostępnij za pośrednictwem


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 jest wymagane podpisywanie protokołu SMB.

Wprowadzenie

Podpisywanie protokołu SMB (nazywane również podpisami zabezpieczeń) to mechanizm 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 wraz z upływem czasu. Ulepszono podpisywanie protokołu SMB 2.02 przez wprowadzenie kodu uwierzytelniania komunikatów opartego na skrótach (HMAC) SHA-256, zastępując starą metodę MD5 z końca 1990 roku, która została użyta w protokole SMB1. Protokół SMB 3.0 dodał algorytmy AES-CMAC. W systemach Windows Server 2022 i Windows 11 dodaliśmy przyspieszenie 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 przekazywania. W idealnym przypadku używasz protokołu Kerberos zamiast NTLMv2, aby klucz sesji był silny. Nie nawiąż połączenia 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 systemu DNS).

Lokalizacje zasad podpisywania protokołu SMB

Zasady podpisywania SMB znajdują się w obszarze Konfiguracja>komputera Ustawienia zabezpieczeń Ustawienia>systemu>Windows Opcje zabezpieczeń Zasady lokalne.>

  • Klient sieci firmy Microsoft: podpisuj cyfrowo komunikację (zawsze)
    Klucz rejestru: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
    Wartość rejestru: RequireSecuritySignature
    Typ danych: REG_DWORD
    Dane: 0 (wyłącz), 1 (włącz)
  • Klient sieci firmy Microsoft: podpisz cyfrowo komunikację (jeśli serwer zgadza się)
    Klucz rejestru: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
    Wartość rejestru: EnableSecuritySignature
    Typ danych: REG_DWORD
    Dane: 0 (wyłącz), 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łącz), 1 (włącz)
  • Serwer sieci Microsoft: podpisz cyfrowo komunikację (jeśli klient zgadza się)
    Klucz rejestru: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
    Wartość rejestru: EnableSecuritySignature
    Typ danych: REG_DWORD
    Dane: 0 (wyłącz), 1 (włącz)

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

Informacje o elementach "RequireSecuritySignature" i "EnableSecuritySignature"

Ustawienie rejestru EnableSecuritySignature dla klienta SMB2+ i serwera SMB2+ jest ignorowane. W związku z tym to ustawienie nie działa, 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 podpisywania protokołu SMB. Tylko wtedy, gdy oba mają ustawioną wartość 0 , nie zostaną wykonane podpisywanie.

- Serwer — requireSecuritySignature=1 Serwer — requireSecuritySignature=0
Klient — requireSecuritySignature=1 Podpisane Podpisane
Klient — requireSecuritySignature=0 Podpisane Nie podpisano

Odwołanie

Konfigurowanie podpisywania SMB z ufnością

Jak bronić użytkowników przed atakami przechwytywania za pośrednictwem ochrony klienta SMB

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

Protokół SMBv1 nie jest instalowany domyślnie w systemie Windows 10 w wersji 1709, Windows Server w wersji 1709 lub nowszej

Nazwa komputera Netdom