Oppsummering
Beskyttelse for CVE-2022-21920 er inkludert i oppdateringene for 11. januar 2022 Windows og senere Windows oppdateringer. Disse oppdateringene inneholder forbedret logikk for å oppdage nedgraderingsangrep for tjenesteprinsippnavn i tre deler når du bruker Godkjenningsprotokoll for Microsoft Negotiate.
Denne artikkelen gir veiledning når Kerberos-godkjenning ikke lykkes.
Mer informasjon
Hvis du installerer oppdateringene 11. januar 2022 Windows og nyere Windows kan det føre til at godkjenning mislykkes for 3-delers SPN-er der Kerberos-godkjenning ikke er vellykket. For disse miljøene er det sannsynlig at Kerberos-godkjenning for 3-delers SPN-er ikke har fungert på en stund. Du kan se følgende hendelse på Windows klientsystemer for å hjelpe til med å finne ut hvordan du gjør det.
Skjermbilde av LSA-hendelse 40970 som identifiserer et NTLM-tilbakefall for en bestemt SPN fra et Microsoft-testmiljø. |
LSA-hendelse 40970 Tekstversjon |
|
Sikkerhetssystemet har oppdaget et nedgraderingsforsøk når du kontakter 3-delers SPN <SPN-navn> med feilkoden «SAM-databasen på Windows-serveren har ikke en datamaskinkonto for klareringsrelasjonen for arbeidsstasjonen (0x0000018b)» Ble nektet godkjenning. |
Handling
Microsoft anbefaler at du velger hvorfor Kerberos-godkjenning for 3-delers SPN mislyktes. Noen vanlige årsaker til Kerberos-godkjenningsfeil omfatter følgende:
-
SPN-en som brukes som mål for godkjenning, er misformet. Hvis du vil ha mer informasjon, kan du se Navneformater for unike SPN-er.
Obs!: Programmer og API-er kan ha strengere eller forskjellige definisjoner for hva som utgjør et legitimt SPN for tjenesten.
Eksempler på en legitim SPN
http/webserver
Host/machine2.contoso.com
Ldap/machine1.contoso.com/contoso.com
Tjeneste/maskin1:10100
SPN
Årsak
Vert/vert/maskin1
Vert/vert er mest sannsynlig en feil siden «vert» vanligvis er en tjenesteklasse og ikke et maskinnavn. Det er mulig at det legitime SPN-et er vert/maskin1.
Ldap/machine/contoso.com:10100
Porter kan angis på vertsnavnet («maskin») og ikke på navnet på tjenesteforekomsten. Det er mulig at det legitime SPN-et er «ldap/machine:10100/contoso.com»
Ldap/dc-a/DC=CONTOSO,DC=COM
Enkelte API-er forventer et DNS-navn i stedet for et FQDN. DsBindA-funksjonen (ntdsapi.h) forventer for eksempel å bli sendt i et DNS-navn. Hvis et FQDN er passert, kan det føre til feilformet SPN. Det legitime SPN-et kan være «ldap/dc-a/contoso.com»
Hvis du vil løse disse problemene, kan du vurdere enten å bruke riktig SPN eller registrere det misformede SPN-et til riktig tjenestekonto.
-
SPN som brukes som mål for godkjenning, finnes ikke. Hvis du vil løse dette problemet, kan du vurdere å registrere SPN-et til riktig tjenestekonto.
-
Klientmaskinen Windows ikke har en domenekontroller (for eksempel DCs er frakoblet, kan ikke oppdages i DNS, eller tilgang til KDC-porten er blokkert).
-
Du bruker kanskje NetBIOS-navn i et scenario der NetBIOS-navn ikke fungerer. Et eksempel er tilgang til domeneressurser fra en maskin som ikke er domeneaktivert, og NetBIOS-navneløsing er deaktivert eller fungerer ikke.(User Principal Name) eller et domenenavnsystem (DNS) i stedet for NetBIOS-navnet.
Microsoft anbefaler at du bruker et upn-navn
Registrere SPN-er
Avhengig av konfigurasjonen av programmet og miljøet, kan SPN-er konfigureres på tjenesteprinsippnavn-attributtet for tjenestekontoen eller datamaskinkontoen i Active Directory-domenet som Kerberos-klienten prøver å etablere Kerberos-tilkoblingen med. For at Kerberos-godkjenning skal fungere riktig, må SPN-målet være gyldig.
Se distribusjonsdokumentasjonen eller støtteleverandøren for hvert bestemt program for veiledning om hvordan du aktiverer Kerberos-godkjenning. Enkelte programinstallasjonsprogrammer eller programmer registrerer SPN-er automatisk. Det finnes ulike alternativer for både utviklere og administratorer for å registrere et SPN:
-
Hvis du vil registrere SPN-er for en tjenesteforekomst manuelt, kan du se Setspn.
-
Hvis du vil registrere SPN-er programmatisk for en tjenesteforekomst, kan du se Hvordan en tjeneste registrerer SPN-ene som beskriver hvordan du gjør følgende:
-
Kall DsGetSpn-funksjonen for å opprette ett eller flere unike SPN-er for tjenesteforekomsten. Hvis du vil ha mer informasjon, kan du se Navneformater for unike SPN-er.
-
Ring DsWriteAccountSpn-funksjonen for å registrere navnene på tjenestens påloggingskonto.
-
Kjente problemer
Det er for øyeblikket ingen kjente problemer med denne oppdateringen.