Povzetek
Zaščita za CVE-2022-21920 je vključena v 11. januarja 2022 Windows posodobitvah in novejših Windows posodobitvah. Te posodobitve vključujejo izboljšano logiko za zaznavanje napadov na pregraditev za glavna imena 3-delne storitve pri uporabi protokola za preverjanje pristnosti Microsoft Negotiate.
V tem članku so navodila, ko preverjanje pristnosti Kerberos ni uspešno.
Več informacij
Če namestite posodobitve iz 11. januarja 2022 Windows in novejše posodobitve storitve Windows, preverjanje pristnosti morda ne bo uspelo za 3-delne SN-je, kjer preverjanje pristnosti Kerberos ni uspešno. V teh okoljih je verjetno, da preverjanje pristnosti Kerberos za 3-delne SN-je nekaj časa ne bo delovalo. V odjemalskih sistemih podjetja se lahko Windows naslednji dogodek kot pomoč pri triažah.
Lsa Event 40970 Screenshot identifying an NTLM fallback for a specific SPN from a Microsoft test environment. |
Lsa Event 40970 Text version |
|
Varnostni sistem je zaznal poskus strnjenja pri stiku s 3-delno SPN-jem <SPN> s kodo napake »Zbirka podatkov SAM v strežniku Windows Server nima računa računalnika za odnos zaupanja delovne postaje (0x0000018b)« Preverjanje pristnosti je zavrnjeno. |
Dejanje
Microsoft priporoča, da ne veste, zakaj preverjanje pristnosti Kerberos za 3-del SPN ni uspelo. Nekateri pogosti razlogi za napako zaradi preverjanja pristnosti Kerberos so:
-
SPN, ki se uporablja kot cilj preverjanja pristnosti, je napačno oblikovan. Če želite več informacij, glejte Oblike imen za enolične SPN-je.
Opomba: Aplikacije in API-ji imajo lahko stroge ali drugačne definicije za to, kaj predstavlja legitimen SPN za njihovo storitev.
Primeri legitimnega SPN-a
http/webserver
Host/machine2.contoso.com
Ldap/machine1.contoso.com/contoso.com
Storitev/računalnik1:10100
Primeri morebiti napačno oblikovanih SPN-ovSPN
Razlog
Host/host/machine1
Gostitelj/gostitelj je najverjetneje napaka, ker je »gostitelj« običajno razred storitve in ne ime računalnika. Možno je, da je pravi SPN gostitelj/računalnik1.
Ldap/machine/contoso.com:10100
Vrata je mogoče določiti v imenu gostitelja (»računalnik«) in ne v imenu primerka storitve. Možno je, da je pravi SPN »ldap/machine:10100/contoso.com«
Ldap/dc-a/DC=CONTOSO,DC=COM
Nekateri API-ji pričakujejo ime DNS namesto FQDN-ja. Funkcija DsBindA (ntdsapi.h) na primer pričakuje, da bo posredovana v imenu DNS. Če je FQDN posredovan, lahko povzroči napačno oblikovanO SPN.
Legitimna SPN je lahko »ldap/dc-a/contoso.com«Če želite odpraviti te težave, razmislite o tem, da bi uporabljali pravilen SPN ali registrirali poškodovano SPN v pravilni račun storitve.
-
SPN, ki se uporablja kot cilj preverjanja pristnosti, ne obstaja. Če želite odpraviti to težavo, registrirajte SPN v pravilnem računu storitve.
-
Odjemalski Windows ima v kontrolniku domene vrstico z vidom (npr. D-ji so brez povezave, jih ni mogoče odkriti v sistemu DNS ali pa je dostop do vrat KDC blokiran).
-
Morda uporabljate imena Net MASES v scenariju, pri katerem imena netOGRAFIJE ne delujejo. Primer je dostop do virov domene iz računalnika, ki ni pridružen domeni, in ločljivost imena NetČILAS je onemogočena ali pa ne deluje.
Microsoft priporoča uporabo glavnega imena uporabnika (UPN) ali sistema DNS (Domain Name System) ime namesto imena Net MASES.
Registracija spN-ov
Odvisno od konfiguracije aplikacije in okolja, se lahko SN-ji konfigurirajo v atributu glavno ime storitve računa storitve ali računa računalnika, ki je v domeni imenika Active Directory, s katerem odjemalec Kerberos poskuša vzpostaviti povezavo »Kerberos«. Če želite, da preverjanje pristnosti Kerberos deluje pravilno, mora biti ciljni SPN veljaven.
Če želite navodila o tem, kako omogočite preverjanje pristnosti Kerberos, preberite dokumentacijo za uvajanje ali ponudnika podpore za vsako posamezno aplikacijo. Nekateri namestitveni programi ali aplikacije samodejno registrirajo SN-je. Tako razvijalci kot skrbniki lahko registrirajo SPN na različne načine:
-
Če želite ročno registrirati SPN-je za primerek storitve, glejte Setspn.
-
Če želite programsko registrirati SN-je za primerek storitve, glejte Kako storitev registrira svoje SN-je, ki opisujejo, kako:
-
Pokličite funkcijo DsGetSpn, da ustvarite enega ali več enoličnih SPN-jev za primerek storitve. Če želite več informacij, glejte Oblike imen za enolične SPN-je.
-
Pokličite funkcijo DsWriteAccountSpn, da registrirate imena v računu za prijavo storitve.
-
Znane težave
Trenutno ni znanih težav s to posodobitvijo.