Samenvatting
Beveiligingen voor CVE-2022-21920 zijn opgenomen in de updates van 11 januari 2022 Windows updates en latere Windows updates. Deze updates bevatten verbeterde logica voor het detecteren van downgrade-aanvallen voor 3-delige Service Principal Names bij het gebruik van het Microsoft Negotiate-verificatieprotocol.
Dit artikel bevat richtlijnen wanneer Kerberos-verificatie niet is gelukt.
Meer informatie
Als u de updates van 11 januari 2022 Windows en latere Windows-updates installeert, kan verificatie mislukken voor 3-delige SPN's waarbij Kerberos-verificatie niet is gelukt. Voor deze omgevingen is het waarschijnlijk dat Kerberos-verificatie voor 3-delige SPN's al enige tijd niet heeft gewerkt. Mogelijk ziet u de volgende gebeurtenis op Windows clientsystemen om triage te helpen.
LSA Event 40970 Schermafbeelding van een NTLM-terugval voor een specifieke SPN vanuit een Microsoft-testomgeving. |
Tekstversie van LSA Event 40970 |
|
Het beveiligingssysteem heeft een downgradepoging gedetecteerd bij het contact opnemen met het 3-delige SPN <SPN-naam> met foutcode 'De SAM-database op de Windows Server heeft geen computeraccount voor de workstation trustrelatie (0x0000018b)' Verificatie is geweigerd. |
Actie
Microsoft raadt u aan te triage waarom Kerberos-verificatie voor het 3-delige SPN is mislukt. Enkele veelvoorkomende redenen voor kerberos-verificatiefout zijn de volgende:
-
De SPN die wordt gebruikt als doel voor verificatie, is verkeerd vervormd. Zie Naamopmaak voor unieke SPN'svoor meer informatie.
Opmerking: Toepassingen en API's kunnen striktere of andere definities hebben voor wat een legitieme SPN voor hun service vormt.
Voorbeelden van een legitieme SPN
http/webserver
Host/machine2.contoso.com
Ldap/machine1.contoso.com/contoso.com
Service/machine1:10100
Voorbeelden van mogelijk verkeerd vervormde SPN'sSPN
Reden
Host/host/machine1
Host/host is waarschijnlijk een fout omdat 'host' meestal een serviceklasse is en geen machinenaam. Het is mogelijk dat de legitieme SPN host/machine1 is.
Ldap/machine/contoso.com:10100
Poorten kunnen worden opgegeven op de hostnaam ("machine") en niet op de naam van het service-exemplaar. Het is mogelijk dat de legitieme SPN 'ldap/machine:10100/contoso.com' is.
Ldap/dc-a/DC=CONTOSO,DC=COM
Bepaalde API's verwachten een DNS-naam in plaats van een FQDN. DsBindA, functie (ntdsapi.h) verwacht bijvoorbeeld dat deze wordt doorgegeven in een DNS-naam. Als een FQDN wordt doorgegeven, kan dit leiden tot de verkeerd vorm van SPN.
De legitieme SPN kan 'ldap/dc-a/contoso.com' zijn.Als u deze problemen wilt oplossen, kunt u overwegen om de juiste SPN te gebruiken of het verkeerd vervormde SPN te registreren bij het juiste serviceaccount.
-
SPN die wordt gebruikt als doel voor verificatie bestaat niet. Als u dit probleem wilt oplossen, kunt u overwegen de SPN te registreren bij het juiste serviceaccount.
-
De Windows clientmachine heeft geen lijn van zicht naar een domeincontroller (zoals de DC's zijn offline, kunnen niet worden gevonden in DNS of de toegang tot de KDC-poort wordt geblokkeerd).
-
Mogelijk gebruikt u NetBIOS-namen in een scenario waarin NetBIOS-namen niet werken. Een voorbeeld hiervan is het openen van domeinbronnen vanaf een machine die niet is verbonden met een domein en de naamresolutie van NetBIOS is uitgeschakeld of werkt niet.
Microsoft raadt aan een UPN (User Principal Name) of een DNS (Domain Name System) te gebruiken in plaats van de Naam van NetBIOS.
SPN's registreren
Afhankelijk van de configuratie van de toepassing en uw omgeving, kunnen SPN's worden geconfigureerd op het kenmerk Service Principal Name van het serviceaccount of het computeraccount in het Active Directory-domein waar de Kerberos-client de Kerberos-verbinding mee probeert tot stand te brengen. Als Kerberos-verificatie correct werkt, moet de doel-SPN geldig zijn.
Raadpleeg implementatiedocumentatie of de ondersteuningsprovider voor elke specifieke toepassing voor informatie over het inschakelen van Kerberos-verificatie. In sommige toepassingsinstallateurs of toepassingen worden SPN's automatisch geregistreerd. Er zijn verschillende opties voor zowel ontwikkelaars als beheerders om een SPN te registreren:
-
Zie Setspn als u SPN's handmatig wilt registreren voor een service-exemplaar.
-
Als u SPN's voor een service-exemplaar programmatisch wilt registreren, gaat u naar How a Service Registers its SPN's describing how to:
-
Bel de functie DsGetSpn om een of meer unieke SPN's voor het service-exemplaar te maken. Zie Naamopmaak voor unieke SPN's voor meer informatie.
-
Bel de functie DsWriteAccountSpn om de namen op het aanmeldingsaccount van de service te registreren.
-
Bekende problemen
Er zijn momenteel geen bekende problemen met deze update.