Sammendrag
Beskyttelse af CVE-2022-21920 er inkluderet i opdateringerne for 11. januar 2022 Windows opdateringer og Windows opdateringer. Disse opdateringer indeholder forbedret logik til at registrere nedgraderingsangreb på 3-del Service Principal Names, når du bruger Microsoft Negotiate Authentication Protocol.
Denne artikel indeholder en vejledning, når Kerberos-godkendelse ikke lykkes.
Flere oplysninger
Når du installerer opdateringerne for den 11. januar 2022 Windows og nyere Windows kan det medføre, at godkendelse mislykkes for SPN'er i tre dele, hvor Kerberos-godkendelse ikke lykkes. For disse miljøer er det sandsynligt, at Kerberos-godkendelse for 3-del SPN'er ikke har fungeret i et stykke tid. Du kan muligvis se følgende hændelse på et Windows klientsystemer for at hjælpe med triage.
LSA-hændelse 40970 Skærmbillede, der identificerer et NTLM-fallback for et bestemt SPN fra et Microsoft-testmiljø. |
LSA Event 40970 Text version |
|
Sikkerhedssystemet har registreret et forsøg på nedgradering, når du kontakter SPN-3-delen <SPN-navn> med fejlkoden "SAM-databasen på serveren Windows ikke har en computerkonto for arbejdsstationstillidsrelationen (0x0000018b)", blev godkendelse nægtet. |
Handling
Microsoft anbefaler, at du finder ud af, hvorfor Kerberos-godkendelse for den 3-del SPN mislykkedes. Nogle almindelige årsager til Kerberos-godkendelsesfejl omfatter følgende:
-
Det SPN, der bruges som destination for godkendelse, er forkert udformet. Du kan få mere at vide under Navneformater for entydige SPN'er.
Bemærk!: Programmer og API'er kan have strengere eller forskellige definitioner af, hvad der udgør et legitimt SPN for deres tjeneste.
Eksempler på et legitimt SPN
http/webserver
Vært/machine2.contoso.com
Ldap/machine1.contoso.com/contoso.com
Tjeneste/computer1:10100
Eksempler på muligvis forkert udformet SPN'erSPN
Årsag
Vært/vært/computer1
Vært/vært er højst sandsynligt en fejl, da "vært" normalt er en tjenesteklasse og ikke et maskinnavn. Det er muligt, at det legitime SPN er vært/maskine1.
Ldap/machine/contoso.com:10100
Porte kan angives på værtsnavnet ("maskine") og ikke på navnet på tjenesteforekomsten. Det legitime SPN er muligvis "ldap/machine:10100/contoso.com"
Ldap/dc-a/DC=CONTOSO,DC=COM
Visse API'er forventer et DNS-navn i stedet for et FQDN. Funktionen DsBindA (ntdsapi.h) forventer f.eks. at blive overført i et DNS-navn. Hvis et FQDN videregives, kan det medføre det forkert udformet SPN.
Det legitime SPN kan være "ldap/dc-a/contoso.com"For at løse disse problemer skal du overveje enten at bruge det korrekte SPN eller registrere det forkert udformet SPN på den korrekte tjenestekonto.
-
SPN, der bruges som destination for godkendelse, findes ikke. For at løse dette problem skal du overveje at registrere SPN'et til den korrekte tjenestekonto.
-
Klientcomputeren Windows ikke har Line of Sight til en domænecontroller (f.eks. at DCs er offline, ikke kan findes i DNS, eller at adgangen til KDC-porten er blokeret).
-
Du bruger muligvis Net BIOS-navne i et scenarie, hvor NetFLOS-navne ikke fungerer. Et eksempel er at få adgang til domæneressourcer fra en ikke-domænetilføjet maskine, og net BIOS-navneoversæt er enten deaktiveret eller fungerer ikke.
Microsoft anbefaler, at du bruger et UPN (User Principal Name) eller et DNS (Domain Name System) i stedet for Net BIOS-navnet.
Registrering af SPN'er
Afhængigt af konfigurationen af programmet og dit miljø kan SPN'er være konfigureret på attributten Tjeneste principal name for tjenestekontoen eller computerkontoen, der er placeret i Active Directory-domænet, som Kerberos-klienten forsøger at etablere Kerberos-forbindelsen med. Hvis Kerberos-godkendelse skal fungere korrekt, skal mål-SPN være gyldigt.
Se installationsdokumentationen eller supportudbyderen for hvert specifikke program for at få vejledning til, hvordan du aktiverer Kerberos-godkendelse. Nogle programinstallationsprogrammer eller programmer registrerer automatisk SPN'er. Der er forskellige muligheder for, at både udviklere og administratorer kan registrere et SPN:
-
Hvis du manuelt vil registrere SPN'er for en tjenesteforekomst, skal du se Setspn.
-
Hvis du vil registrere SPN'er for en tjenesteforekomst programmeringligt, skal du se Sådan registrerer en tjeneste sine SPN'er, der beskriver, hvordan du:
-
Ring til funktionen DsGetSpn for at oprette en eller flere entydige SPN'er for tjenesteforekomsten. Du kan finde flere oplysninger under Navneformater for entydige SPN'er.
-
Ring til funktionen DsWriteAccountSpn for at registrere navnene på tjenestens logonkonto.
-
Kendte problemer
Der er i øjeblikket ingen kendte problemer med denne opdatering.