Udostępnij za pośrednictwem


Wpisy rejestru protokołu Kerberos i klucze konfiguracji centrum dystrybucji kluczy dystrybucji kluczy w systemie Windows

W tym artykule opisano wpisy rejestru dotyczące protokołu uwierzytelniania Kerberos w wersji 5 i konfiguracji centrum dystrybucji kluczy (KDC).

Oryginalny numer KB: 837361

Podsumowanie

Kerberos to mechanizm uwierzytelniania używany do weryfikowania tożsamości użytkownika lub hosta. Kerberos to preferowana metoda uwierzytelniania dla usług w systemie Windows.

Jeśli korzystasz z systemu Windows, możesz zmodyfikować parametry protokołu Kerberos, aby ułatwić rozwiązywanie problemów z uwierzytelnianiem Kerberos lub przetestować protokół Kerberos. W tym celu dodaj lub zmodyfikuj wpisy rejestru wymienione w poniższych sekcjach.

Ważne

W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonać poniższe kroki. Aby zapewnić dodatkową ochronę, utwórz kopię zapasową rejestru przed przystąpieniem do jego modyfikacji. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat sposobu tworzenia kopii zapasowych, przywracania i modyfikowania rejestru, zobacz artykuł Tworzenie kopii zapasowych i przywracanie rejestru systemu Microsoft Windows.

Uwaga 16.

Po zakończeniu rozwiązywania problemów lub testowaniu protokołu Kerberos usuń wszystkie dodane wpisy rejestru. W przeciwnym razie może to mieć wpływ na wydajność komputera.

Wpisy i wartości rejestru w kluczu Parametry

Wpisy rejestru wymienione w tej sekcji muszą zostać dodane do następującego podklucza rejestru:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

Uwaga 16.

Jeśli klucz Parameters nie znajduje się na liście w obszarze Kerberos, musisz utworzyć klucz.

  • Wpis: SkewTime

    • Typ: REG_DWORD

    • Wartość domyślna: 5 (minuty)

      Ta wartość jest maksymalną różnicą czasu dozwoloną między komputerem klienckim a serwerem, który akceptuje uwierzytelnianie Kerberos lub centrum dystrybucji kluczy.

      Uwaga 16.

      Funkcja SkewTime jest uwzględniana w określeniu ważności biletu Protokołu Kerberos do ponownego użycia. Bilet jest uznawany za wygasły, jeśli czas wygaśnięcia jest krótszy niż bieżący czas + Niesymetryczność Czasu. Jeśli na przykład parametr SkewTime jest ustawiony na 20 minut, a bieżąca godzina to 08:00, wszystkie bilety z upływem czasu wygaśnięcia przed godziną 08:20 zostaną uznane za wygasłe.

  • Wpis: LogLevel

    • Typ: REG_DWORD

    • Wartość domyślna: 0

      Ta wartość wskazuje, czy zdarzenia są rejestrowane w dzienniku zdarzeń systemu. Jeśli ta wartość jest ustawiona na dowolną wartość inną niż zero, wszystkie zdarzenia związane z protokołem Kerberos są rejestrowane w dzienniku zdarzeń systemu.

      Uwaga 16.

      Zarejestrowane zdarzenia mogą zawierać wyniki fałszywie dodatnie, w których klient Protokołu Kerberos ponawia próbę z różnymi flagami żądań, które następnie kończą się powodzeniem. W związku z tym nie zakładaj, że masz problem z kerberosem, gdy zobaczysz zdarzenie zarejestrowane na podstawie tego ustawienia. Aby uzyskać więcej informacji, zobacz How to enable Kerberos event logging (Jak włączyć rejestrowanie zdarzeń protokołu Kerberos).

  • Wpis: MaxPacketSize

    • Typ: REG_DWORD

    • Wartość domyślna: 1465 (bajty)

      Ta wartość to maksymalny rozmiar pakietu protokołu UDP (User Datagram Protocol). Jeśli rozmiar pakietu przekracza tę wartość, używany jest protokół TCP.

      Wartość domyślna dla tej wartości w systemie Windows Vista i nowszej wersji systemu Windows to 0, więc protokół UDP nigdy nie jest używany przez klienta Protokołu Kerberos systemu Windows.

  • Wpis: StartupTime

    • Typ: REG_DWORD

    • Wartość domyślna: 120 (sekundy)

      Ta wartość to czas oczekiwania systemu Windows na uruchomienie centrum dystrybucji kluczy przed zakończeniem pracy z systemem Windows.

  • Wpis: KdcWaitTime

    • Typ: REG_DWORD

    • Wartość domyślna: 10 (sekundy)

      Ta wartość to czas oczekiwania systemu Windows na odpowiedź z centrum dystrybucji kluczy.

  • Wpis: KdcBackoffTime

    • Typ: REG_DWORD

    • Wartość domyślna: 10 (sekundy)

      Ta wartość to czas między kolejnymi wywołaniami centrum dystrybucji kluczy, jeśli poprzednie wywołanie nie powiodło się.

  • Wpis: KdcSendRetries

    • Typ: REG_DWORD

    • Wartość domyślna: 3

      Ta wartość to liczba prób skontaktowania się z centrum dystrybucji kluczy przez klienta.

  • Wpis: DefaultEncryptionType

    • Typ: REG_DWORD

      Ta wartość wskazuje domyślny typ szyfrowania dla uwierzytelniania wstępnego. Wartość domyślna to 18 dziesiętnych dla AES256

      Możliwe inne wartości:

      • 17 dziesiętnych dla AES128
      • 23 dziesiętne dla RC4 HMAC

      Ta wartość wskazuje domyślny typ szyfrowania dla uwierzytelniania wstępnego.

  • Wpis: FarKdcTimeout

    • Typ: REG_DWORD

    • Wartość domyślna: 10 (minuty)

      Jest to wartość limitu czasu używana do unieważnienia kontrolera domeny z innej lokacji w pamięci podręcznej kontrolera domeny.

  • Wpis: NearKdcTimeout

    • Typ: REG_DWORD

    • Wartość domyślna: 30 (minuty)

      Jest to wartość limitu czasu używana do unieważnienia kontrolera domeny w tej samej lokacji w pamięci podręcznej kontrolera domeny.

  • Wpis: ZdecydowanieEncryptDatagram

    • Typ: REG_BOOL

    • Wartość domyślna: FALSE

      Ta wartość zawiera flagę wskazującą, czy używać szyfrowania 128-bitowego dla pakietów datagramu.

  • Wpis: MaxReferralCount

    • Typ: REG_DWORD

    • Wartość domyślna: 6

      Ta wartość to liczba odwołań do centrum dystrybucji kluczy, które klient realizuje przed zakończeniem pracy klienta.

  • Wpis: MaxTokenSize

    • Typ: REG_DWORD

    • Wartość domyślna: 12000 (dziesiętna). Począwszy od systemów Windows Server 2012 i Windows 8, wartość domyślna to 48000.

      Ta wartość jest maksymalną wartością tokenu Kerberos. Firma Microsoft zaleca ustawienie tej wartości na mniejszą niż 65535. Aby uzyskać więcej informacji, zobacz Problemy z uwierzytelnianiem Kerberos, gdy użytkownik należy do wielu grup.

  • Wpis: SpnCacheTimeout

    • Typ: REG_DWORD

    • Wartość domyślna: 15 minut

      Ta wartość jest używana przez system podczas przeczyszczania wpisów pamięci podręcznej głównych nazw usługi (SPN). Na kontrolerach domeny pamięć podręczna SPN jest wyłączona. Klienci i serwery członkowskie używają tej wartości do starzenia się i przeczyszczania ujemnych wpisów pamięci podręcznej (nie znaleziono nazwy SPN). Prawidłowe wpisy pamięci podręcznej spN (na przykład nie ujemna pamięć podręczna) nie są usuwane po 15 minutach tworzenia. Jednak wartość SPNCacheTimeout jest również używana do zmniejszenia pamięci podręcznej SPN do możliwego do zarządzania rozmiaru — gdy pamięć podręczna SPN osiągnie 350 wpisów, system użyje tej wartości do scavenge / cleanup starych i nieużywanych wpisów.

  • Wpis: S4UCacheTimeout

    • Typ: REG_DWORD

    • Wartość domyślna: 15 minut

      Ta wartość to okres istnienia wpisów ujemnej pamięci podręcznej S4U używanych do ograniczania liczby żądań serwera proxy S4U z określonego komputera.

  • Wpis: S4UTicketLifetime

    • Typ: REG_DWORD

    • Wartość domyślna: 15 minut

      Ta wartość to okres istnienia biletów uzyskanych przez żądania serwera proxy S4U.

  • Wpis: RetryPdc

    • Typ: REG_DWORD

    • Wartość domyślna: 0 (false)

    • Możliwe wartości: 0 (false) lub dowolna wartość inna niż zero (true)

      Ta wartość wskazuje, czy klient skontaktuje się z podstawowym kontrolerem domeny w przypadku żądań obsługi uwierzytelniania (AS_REQ), jeśli klient otrzyma błąd wygaśnięcia hasła.

  • Wpis: RequestOptions

    • Typ: REG_DWORD

    • Wartość domyślna: dowolna wartość RFC 1510

      Ta wartość wskazuje, czy istnieje więcej opcji, które muszą być wysyłane jako opcje centrum dystrybucji kluczy w żądaniach obsługi udzielania biletów (TGS_REQ).

  • Wpis: ClientIpAddresses

    • Typ: REG_DWORD

    • Wartość domyślna: 0 (to ustawienie jest równe 0 z powodu problemów z tłumaczeniem protokołu dynamicznej konfiguracji hosta i rozwiązywania problemów z tłumaczeniem sieci).

    • Możliwe wartości: 0 (false) lub dowolna wartość inna niż zero (true)

      Ta wartość wskazuje, czy adres IP klienta zostanie dodany w AS_REQ, aby wymusić Caddr , aby pole zawierało adresy IP we wszystkich biletach.

      W przypadku obszarów innych firm, które wymagają adresów klientów, można selektywnie włączyć adresy:

      1. Otwórz okno wiersza polecenia z podwyższonym poziomem uprawnień.

      2. Uruchom następujące polecenie:

        ksetup /setrealmflags <your Kerberos realm name> sendaddress
        
      3. Możesz użyć przełącznika /server , aby umożliwić ksetup wprowadzenie zmian na komputerze zdalnym.

  • Wpis: TgtRenewalTime

    • Typ: REG_DWORD

    • Wartość domyślna: 600 sekund

      Ta wartość to czas oczekiwania protokołu Kerberos przed próbą odnowienia biletu przyznania biletu (TGT) przed wygaśnięciem biletu.

  • Wpis: AllowTgtSessionKey

    • Typ: REG_DWORD

    • Wartość domyślna: 0

    • Możliwe wartości: 0 (false) lub dowolna wartość inna niż zero (true)

      Ta wartość wskazuje, czy klucze sesji są eksportowane z początkowym lub z uwierzytelnianiem TGT między obszarami. Wartość domyślna to false ze względów bezpieczeństwa.

      Uwaga 16.

      Dzięki aktywnej funkcji Credential Guard w systemie Windows 10 i nowszych wersjach systemu Windows nie można już włączyć udostępniania kluczy sesji TGT aplikacjom.

Wpisy i wartości rejestru w kluczu centrum dystrybucji kluczy

Wpisy rejestru wymienione w tej sekcji muszą zostać dodane do następującego podklucza rejestru:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc

Uwaga 16.

Jeśli klucz centrum dystrybucji kluczy nie znajduje się na liście w obszarze Usługi, musisz utworzyć klucz.

  • Wpis: KdcUseClientAddresses

    • Typ: REG_DWORD

    • Wartość domyślna: 0

    • Możliwe wartości: 0 (false) lub dowolna wartość inna niż zero (true)

      Ta wartość wskazuje, czy adresy IP zostaną dodane w odpowiedzi usługi udzielania biletów (TGS_REP).

  • Wpis: KdcDontCheckAddresses

    • Typ: REG_DWORD

    • Wartość domyślna: 1

    • Możliwe wartości: 0 (false) lub dowolna wartość inna niż zero (true)

      Ta wartość wskazuje, czy adresy IP TGS_REQ i pole TGT Caddr zostaną zaznaczone.

  • Wpis: NewConnectionTimeout

    • Typ: REG_DWORD

    • Wartość domyślna: 10 (sekundy)

      Ta wartość to czas, przez który początkowe połączenie punktu końcowego TCP będzie otwarte w celu odbierania danych przed jego rozłączeniem.

  • Wpis: MaxDatagramReplySize

    • Typ: REG_DWORD

    • Wartość domyślna: 1465 (dziesiętne, bajty)

      Ta wartość jest maksymalnym rozmiarem pakietów UDP w komunikatach TGS_REP i odpowiedzi usługi uwierzytelniania (AS_REP). Jeśli rozmiar pakietu przekroczy tę wartość, centrum dystrybucji kluczy zwraca komunikat "KRB_ERR_RESPONSE_TOO_BIG", który żąda przełączenia klienta do protokołu TCP.

      Uwaga 16.

      Zwiększenie wartości MaxDatagramReplySize może zwiększyć prawdopodobieństwo fragmentowania pakietów protokołu Kerberos UDP.

      Aby uzyskać więcej informacji na temat tego problemu, zobacz Jak wymusić użycie protokołu Kerberos do używania protokołu TCP zamiast protokołu UDP w systemie Windows.

  • Wpis: KdcExtraLogLevel

    • Typ: REG_DWORD

    • Wartość domyślna: 2

    • Możliwe wartości:

      • 1 (dziesiętne) lub 0x1 (szesnastkowe): Przeprowadź inspekcję nieznanych błędów nazwy SPN w dzienniku zdarzeń zabezpieczeń. Identyfikator zdarzenia 4769 jest rejestrowany przy użyciu inspekcji, która zakończyła się niepowodzeniem.
      • 2 (dziesiętne) lub 0x2 (szesnastkowe): Błędy infrastruktury PKINIT dziennika. Spowoduje to zarejestrowanie zdarzenia ostrzeżenia centrum dystrybucji kluczy o identyfikatorze 21 (domyślnie włączonym) w dzienniku zdarzeń systemu. PKINIT jest internetową wersją roboczą Internet Engineering Task Force (IETF) dla kryptografii klucza publicznego na potrzeby uwierzytelniania początkowego w protokole Kerberos.
      • 4 (dziesiętne) lub 0x4 (szesnastkowe): Zarejestruj wszystkie błędy centrum dystrybucji kluczy. Spowoduje to zarejestrowanie zdarzenia KDC o identyfikatorze 24 (przykład wymaganych problemów U2U) w dzienniku zdarzeń systemu.
      • 8 (dziesiętne) lub 0x8 (szesnastkowe): Zarejestruj zdarzenie ostrzeżenia centrum dystrybucji kluczy o identyfikatorze 25 w dzienniku systemowym, gdy użytkownik, który prosi o bilet S4U2Self, nie ma wystarczającego dostępu do użytkownika docelowego.
      • 16 (dziesiętne) lub 0x10 (szesnastkowe): Rejestrowanie zdarzeń inspekcji na typie szyfrowania (ETYPE) i błędach nieprawidłowych opcji. Ta wartość wskazuje, jakie informacje centrum dystrybucji kluczy będzie zapisywać w dziennikach zdarzeń i inspekcji w dzienniku zdarzeń zabezpieczeń. Identyfikator zdarzenia 4769 jest rejestrowany przy użyciu inspekcji, która zakończyła się niepowodzeniem.
  • Wpis: DefaultDomainSupportedEncTypes

    • Typ: REG_DWORD

    • Wartość domyślna: 0x27

    • Możliwe wartości:

      Wartość domyślna to 0x27 (DES, RC4, klucze sesji AES). Zalecamy ustawienie wartości na 0x3C w celu zwiększenia bezpieczeństwa, ponieważ ta wartość umożliwia używanie zarówno biletów zaszyfrowanych za pomocą protokołu AES, jak i kluczy sesji AES. Jeśli przejdziesz do środowiska tylko do AES, w którym rc4 nie jest używany dla protokołu Kerberos, zalecamy ustawienie wartości na 0x38.

      Ta wartość ustawia AES jako domyślny typ szyfrowania dla kluczy sesji na kontach, które nie są oznaczone domyślnym typem szyfrowania.

      Aby uzyskać więcej informacji, zobacz KB5021131: Jak zarządzać zmianami protokołu Kerberos związanymi z CVE-2022-37966.