Rezumat
Protecțiile pentru CVE-2022-21920 sunt incluse în actualizările Windows 11 ianuarie 2022 Windows actualizările Windows ulterioare. Aceste actualizări conțin o logică îmbunătățită pentru a detecta atacurile de downgrade asupra numelor principale de serviciu din 3 părți, atunci când utilizați protocolul de autentificare pentru Microsoft Negociați.
Acest articol oferă instrucțiuni atunci când autentificarea Kerberos nu are succes.
Mai multe informații
Instalarea actualizărilor de tip 11 ianuarie 2022 Windows și a actualizărilor ulterioare Windows poate cauza nereușite autentificarea pentru 3 părți, unde autentificarea Kerberos nu a reușit. Pentru aceste medii, probabil că autentificarea Kerberos pentru 3 părți nu a funcționat de ceva timp. Este posibil să vedeți următorul eveniment pe Windows Client pentru a contribui la trierea.
Captură de ecran cu evenimentul LSA 40970 care identifică o rezervă NTLM pentru un anumit SPN dintr-un mediu de test Microsoft. |
Versiune text eveniment LSA 40970 |
|
Sistemul de securitate a detectat o încercare de downgrade atunci când contactați SPN-ul din 3 părți <nume SPN> cu codul de eroare "Baza de date SAM de pe Windows Server nu are un cont de computer pentru relația de încredere a stației de lucru (0x0000018b)" Autentificarea a fost refuzată. |
Acțiune
Microsoft vă recomandă să triați motivul pentru care autentificarea Kerberos pentru SPN din 3 părți nu a reușit. Printre motivele comune ale erorii de autentificare Kerberos se numără următoarele:
-
SPN utilizat ca țintă pentru autentificare are un format incorect. Pentru mai multe informații, consultați Formate de nume pentru SPN unice.
Notă: Aplicațiile și API-urile pot avea definiții mai stricte sau diferite pentru ceea ce reprezintă un SPN legitim pentru serviciul lor.
Exemple de SPN legitime
http/webserver
Host/machine2.contoso.com
Ldap/machine1.contoso.com/contoso.com
Serviciu/computer1:10100
Exemple de SPN-uri posibil cu forme incorecteSPN
Motiv
Host/host/machine1
Gazdă/gazdă este cel mai probabil o greșeală, deoarece "gazdă" este, de obicei, o clasă de serviciu și nu un nume de computer. Este posibil ca SPN legitim să fie gazdă/computer1.
Ldap/machine/contoso.com:10100
Porturile pot fi specificate pe numele gazdei ("computer") și nu pe numele instanței de serviciu. Este posibil ca SPN legitim să fie "ldap/machine:10100/contoso.com"
Ldap/dc-a/DC=CONTOSO,DC=COM
Anumite API-uri așteaptă un nume DNS în loc de FQDN. De exemplu, funcția DsBindA (ntdsapi.h) se așteaptă să fie transmisă într-un nume DNS. Dacă un FQDN este transmis, poate avea ca rezultat SPN cu un format incorect.
SPN legitim poate fi "ldap/dc-a/contoso.com"Pentru a rezolva aceste probleme, luați în considerare utilizarea SPN corectă sau înregistrarea SPN cu un format incorect în contul de serviciu corect.
-
SPN utilizat ca țintă pentru autentificare nu există. Pentru a rezolva această problemă, luați în considerare înregistrarea SPN în contul de serviciu corect.
-
Computerul client Windows nu are Line of Sight la un controler de domeniu (cum ar fi PC-urile sunt offline, nu pot fi descoperite în DNS sau accesul la portul KDC este blocat).
-
Este posibil să utilizați nume Net REST într-un scenariu în care numele Net SESN nu funcționează. Un exemplu este accesarea resurselor de domeniu de la un computer care nu este unit cu domeniul, iar rezoluția numelui Net REST este fie dezactivată, fie nu funcționează.
Microsoft recomandă utilizarea unui UPN sau a unui sistem DNS (Domain Name System - Sistemul de nume de domeniu) în loc de numele Net REST.
Înregistrarea SPN-uri
În funcție de configurația aplicației și de mediul dvs., NS-urile pot fi configurate pe atributul Nume principal serviciu al contului de serviciu sau al contului de computer aflat în domeniul Active Directory cu care încearcă să stabilească conexiunea Kerberos. Pentru ca autentificarea Kerberos să funcționeze corect, SPN țintă trebuie să fie validă.
Consultați documentația de implementare sau furnizorul de asistență pentru fiecare aplicație specifică pentru instrucțiuni despre cum să activați autentificarea Kerberos. Unele program de instalare a aplicațiilor sau unele aplicații înregistrează automat SPN-uri. Există opțiuni diferite pentru ca atât dezvoltatorii, cât și administratorii să înregistreze un SPN:
-
Pentru a înregistra manual SPN-uri pentru o instanță de serviciu, consultați Setspn.
-
Pentru a înregistra prin program SPN-uri pentru o instanță de serviciu, consultați Cum își înregistrează un serviciu NS-urile pentru a descrie:
-
Apelați funcția DsGetSpn pentru a crea unul sau mai multe SPN-uri unice pentru instanța de serviciu. Pentru mai multe informații, consultați Formate de nume pentru SPN unice.
-
Apelați funcția DsWriteAccountSpn pentru a înregistra numele în contul de log on al serviciului.
-
Probleme cunoscute
În prezent, nu există probleme cunoscute cu această actualizare.