Shrnutí

CVE-2022-34691,CVE-2022-26931 a CVE-2022-26923 řeší ohrožení zabezpečení způsobující zvýšení oprávnění, ke kterému může dojít v případě, že Centrum distribuce protokolu Kerberos (KDC) obsluhuje žádost o ověření na základě certifikátu. Před aktualizací zabezpečení z 10. května 2022 by ověřování na základě certifikátů nezapočítávalo znak dolaru ($) na konci názvu počítače. To umožnilo emulaci souvisejících certifikátů (falšování identity) různými způsoby. Kromě toho konflikty mezi hlavními názvy uživatelů (UPN) a sAMAccountName zavedly další chyby zabezpečení emulace (falšování identity), která se také řeší touto aktualizací zabezpečení.

Provedení akce

Pokud chcete chránit prostředí, proveďte následující kroky pro ověřování na základě certifikátů:

  1. Pomocí aktualizace z 10. května 2022 aktualizujte všechny servery se službou Active Directory Certificate Services a řadiči domény s Windows, které používají ověřování na základě certifikátů (viz režim kompatibility). Aktualizace z 10. května 2022 bude poskytovat události auditu , které identifikují certifikáty, které nejsou kompatibilní s režimem úplného vynucení.

  2. Pokud se na řadičích domény po dobu jednoho měsíce po instalaci aktualizace nevytvoří žádné protokoly událostí auditu, pokračujte povolením režimu úplného vynucení na všech řadičích domény. Do 9. května 2023 se všechna zařízení aktualizují na režim úplného vynucení. Pokud v tomto režimu certifikát selže se silnými (zabezpečenými) mapovacími kritérii (viz mapování certifikátů), ověřování se zamítne.

Události auditu

Windows Update z 10. května 2022 přidá následující protokoly událostí.

Nenašla se žádná mapování silných certifikátů a certifikát neměl nové rozšíření identifikátoru zabezpečení (SID), které by služba KDC mohla ověřit.

Protokol událostí

Systém

Typ události

Upozornění, pokud je KDC v režimu kompatibility

Chyba, pokud je KDC v režimu vynucení

Zdroj události

Kdcsvc

ID události

39

41 (pro Windows Server 2008 R2 SP1 a Windows Server 2008 SP2)

Text události

Služba KDC (Key Distribution Center) zjistila platný uživatelský certifikát, který ale nelze namapovat na uživatele silným způsobem (například prostřednictvím explicitního mapování, mapování důvěryhodnosti klíčů nebo identifikátoru SID). Tyto certifikáty by měly být nahrazeny nebo mapovány přímo na uživatele prostřednictvím explicitního mapování. Další informace najdete https://go.microsoft.com/fwlink/?linkid=2189925.

Uživatel:> <hlavní název

Předmět certifikátu: název subjektu <v> certifikátu

Vystavitel certifikátu: <plně kvalifikovaný název domény (FQDN) vystavitele >

Sériové číslo certifikátu: <sériové číslo certifikátu>

Kryptografický otisk certifikátu: <kryptografický otisk certifikátu>

Certifikát byl uživateli vydán předtím, než uživatel existoval ve službě Active Directory, a nebylo možné najít žádné silné mapování. Tato událost se protokoluje jenom v případě, že je služba KDC v režimu kompatibility.

Protokol událostí

Systém

Typ události

Chyba

Zdroj události

Kdcsvc

ID události

40

48 (pro Windows Server 2008 R2 SP1 a Windows Server 2008 SP2

Text události

Služba KDC (Key Distribution Center) zjistila platný uživatelský certifikát, který ale nelze namapovat na uživatele silným způsobem (například prostřednictvím explicitního mapování, mapování důvěryhodnosti klíčů nebo identifikátoru SID). Certifikát také předchází uživateli, na který je namapovaný, a proto byl odmítnut. Další informace najdete https://go.microsoft.com/fwlink/?linkid=2189925.

Uživatel:> <hlavní název

Předmět certifikátu: název subjektu <v> certifikátu

Vystavitel certifikátu: <plně kvalifikovaný název domény vystavitele>

Sériové číslo certifikátu: <sériové číslo certifikátu>

Kryptografický otisk certifikátu: <kryptografický otisk certifikátu>

Doba vystavení certifikátu: <FILETIME> certifikátu

Čas vytvoření účtu: <FILETIME objektu zabezpečení ve službě AD>

Identifikátor SID obsažený v novém rozšíření uživatelského certifikátu neodpovídá identifikátoru SID uživatelů, což znamená, že certifikát byl vydán jinému uživateli.

Protokol událostí

Systém

Typ události

Chyba

Zdroj události

Kdcsvc

ID události

41

49 (pro Windows Server 2008 R2 SP1 a Windows Server 2008 SP2)

Text události

Služba KDC (Key Distribution Center) zjistila platný certifikát uživatele, který obsahoval jiné identifikátory SID než uživatel, na který je namapovaný. V důsledku toho se požadavek týkající se certifikátu nezdařil. Další informace najdete https://go.microsoft.cm/fwlink/?linkid=2189925.

Uživatel:> <hlavní název

SiD uživatele: <IDENTIFIKÁTOR SID ověřovacího objektu zabezpečení>

Předmět certifikátu: název subjektu <v> certifikátu

Vystavitel certifikátu: <plně kvalifikovaný název domény vystavitele>

Sériové číslo certifikátu: <sériové číslo certifikátu>

Kryptografický otisk certifikátu: <kryptografický otisk certifikátu>

SiD certifikátu: identifikátor SID <nalezený v novém> rozšíření certifikátu

Mapování certifikátů

Správci domény mohou ručně mapovat certifikáty na uživatele ve službě Active Directory pomocí atributu altSecurityIdentities objektu users. Pro tento atribut existuje šest podporovaných hodnot, přičemž tři mapování jsou považována za slabá (nezabezpečená) a další tři jsou považovány za silné. Obecně platí, že typy mapování jsou považovány za silné, pokud jsou založeny na identifikátorech, které nelze znovu použít. Proto jsou všechny typy mapování založené na uživatelských jménech a e-mailových adresách považovány za slabé.

Mapování

Příklad

Typ

Poznámky

X509IssuerSubject

X509:<I>IssuerName<S>SubjectName

Slabý

X509SubjectOnly

"X509:<S>SubjectName"

Slabý

X509RFC822

"X509:<RFC822>user@contoso.com"

Slabý

E-mailová adresa

X509IssuerSerialNumber

"X509:<I>IssuerName<SR>1234567890"

Silné

Doporučené

X509SKI

"X509:<SKI>123456789abcdef"

Silné

X509SHA1PublicKey

"X509:<SHA1-PUKEY>123456789abcdef"

Silné

Pokud zákazníci nemůžou znovu vystavit certifikáty s novým rozšířením SID, doporučujeme vytvořit ruční mapování pomocí jednoho ze silných mapování popsaných výše. Můžete to udělat tak, že do atributu users altSecurityIdentities ve službě Active Directory přidáte odpovídající řetězec mapování.

Poznámka Určitá pole, například Vystavitel, Předmět a Sériové číslo, jsou hlášena ve formátu "forward". Když přidáte řetězec mapování do atributu altSecurityIdentities , musíte tento formát vrátit zpět. Pokud chcete například přidat mapování X509IssuerSerialNumber na uživatele, vyhledejte pole Vystavitel a Sériové číslo certifikátu, který chcete namapovat na uživatele. Podívejte se na níže uvedený ukázkový výstup.

  • Vystavitel: CN=CONTOSO-DC-CA, DC=contoso, DC=com

  • Sériové číslo: 2B0000000011AC000000012

Potom aktualizujte atribut altSecurityIdentities uživatele ve službě Active Directory následujícím řetězcem:

  • "X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>120000000AC1100000002B"

Pokud chcete tento atribut aktualizovat pomocí PowerShellu, můžete použít následující příkaz. Mějte na paměti, že ve výchozím nastavení mají oprávnění k aktualizaci tohoto atributu pouze správci domény.

  • set-aduser 'DomainUser' -replace @{altSecurityIdentities= "X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>120000000AC1110000002B"}

Všimněte si, že při obrácení sériového čísla musíte zachovat pořadí bajtů. To znamená, že při vrácení sériového čísla "A1B2C3" by měl být výsledkem řetězec "C3B2A1" a ne "3C2B1A". Další informace naleznete v tématu Postupy: Mapování uživatele na certifikát prostřednictvím všech metod dostupných v atributu altSecurityIdentities.

Časová osa pro aktualizace Windows

Po instalaci aktualizací Windows z 10. května 2022 budou zařízení v režimu kompatibility. Pokud je možné certifikát silně namapovat na uživatele, proběhne ověřování podle očekávání. Pokud je možné certifikát namapovat pouze slabě na uživatele, ověřování proběhne podle očekávání. Zpráva upozornění se ale zaprotokoluje, pokud certifikát není starší než uživatel. Pokud je certifikát starší než uživatel a klíč registru backdating certifikátu není k dispozici nebo je rozsah mimo záložní kompenzaci, ověřování se nezdaří a zaprotokoluje se chybová zpráva.  Pokud je nakonfigurovaný klíč registru backdating certifikátu, zaznamená se zpráva upozornění do protokolu událostí, pokud data spadají do zálohované kompenzace.

Po instalaci aktualizací Windows z 10. května 2022 sledujte všechny zprávy s upozorněním, které se můžou objevit po měsíci nebo více. Pokud neexistují žádné zprávy s upozorněním, důrazně doporučujeme povolit režim úplného vynucení na všech řadičích domény pomocí ověřování založeného na certifikátech. K povolení režimu úplného vynucení můžete použít klíč registru služby KDC .

Pokud se na tento režim neaktualizuje dříve, aktualizujeme všechna zařízení do 9. května 2023 na režim úplného vynucení. Pokud certifikát nejde silně namapovat, ověřování se zamítá.

Pokud ověřování založené na certifikátech závisí na slabém mapování, které nemůžete přesunout z prostředí, můžete řadiče domény umístit do zakázaného režimu pomocí nastavení klíče registru. Microsoft to nedoporučuje a 14. února 2023 odebereme zakázaný režim.

Řešení potíží

  • Pomocí provozního protokolu Kerberos na příslušném počítači určete, který řadič domény selhává při přihlášení. Přejděte na Prohlížeč událostí protokoly aplikací a služeb>\Microsoft \Windows\Security-Kerberos\Operational.

  • Vyhledejte relevantní události v protokolu systémových událostí na řadiči domény, u kterého se účet pokouší ověřit.

  • Pokud je certifikát starší než účet, znovu vystavte certifikát nebo přidejte k účtu zabezpečené mapování altSecurityIdentities (viz mapování certifikátů).

  • Pokud certifikát obsahuje rozšíření SID, ověřte, že identifikátor SID odpovídá účtu.

  • Pokud se certifikát používá k ověření několika různých účtů, bude každý účet potřebovat samostatné mapování altSecurityIdentities .

  • Pokud certifikát nemá zabezpečené mapování na účet, přidejte ho nebo ponechte doménu v režimu kompatibility, dokud ho nebude možné přidat.

Příkladem mapování certifikátů TLS je použití intranetové webové aplikace služby IIS.

  • Po instalaci ochrany CVE-2022-26391 a CVE-2022-26923 používají tyto scénáře pro mapování certifikátů a ověřování ve výchozím nastavení protokol Kerberos Certificate Service for User (S4U).

  • V protokolu Kerberos Certificate S4U požadavek na ověření přetéká z aplikačního serveru do řadiče domény, nikoli z klienta na řadič domény. Proto budou relevantní události na aplikačním serveru.

Informace o klíči registru

Po instalaci ochrany CVE-2022-26931 a CVE-2022-26923 v aktualizacích systému Windows vydaných mezi 10. května 2022 a 9. května 2023 jsou k dispozici následující klíče registru.

Tento klíč registru změní režim vynucení služby KDC na zakázaný režim, režim kompatibility nebo režim úplného vynucení.

Důležité

Použití tohoto klíče registru je dočasné alternativní řešení pro prostředí, která ho vyžadují a musí být prováděna s opatrností. Použití tohoto klíče registru pro vaše prostředí znamená následující:

  • Tento klíč registru funguje pouze v režimu kompatibility počínaje aktualizacemi vydanými 10. května 2022.

  • Tento klíč registru nebude podporován po instalaci aktualizací pro Systém Windows vydaných 9. května 2023, což povolí režim úplného vynucení.

Podklíč registru

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc

Hodnota

StrongCertificateBindingEnforcement

Datový typ

REG_DWORD

Data

1 – Zkontroluje, jestli existuje mapování silného certifikátu. Pokud ano, ověřování je povoleno. Jinak služba KDC zkontroluje, jestli certifikát obsahuje nové rozšíření SID, a ověří ho. Pokud toto rozšíření neexistuje, je ověřování povoleno, pokud uživatelský účet předchází certifikátu.

2 – Zkontroluje, jestli existuje mapování silného certifikátu. Pokud ano, ověřování je povoleno. Jinak služba KDC zkontroluje, jestli certifikát obsahuje nové rozšíření SID, a ověří ho. Pokud toto rozšíření neexistuje, ověřování se zamítá.

0 – Zakáže kontrolu mapování silných certifikátů. Nedoporučuje se.

Vyžaduje se restartování?

Ne

Pokud serverová aplikace vyžaduje ověření klienta, Schannel se automaticky pokusí namapovat certifikát, který klient PROTOKOLU TLS poskytuje uživatelskému účtu. Uživatele, kteří se přihlašují pomocí klientského certifikátu, můžete ověřit vytvořením mapování, která spojují informace o certifikátu s uživatelským účtem systému Windows. Po vytvoření a povolení mapování certifikátů při každém zobrazení klientského certifikátu klientem serverová aplikace automaticky přidruží tohoto uživatele k příslušnému uživatelskému účtu systému Windows.

Schannel se pokusí mapovat jednotlivé metody mapování certifikátů, které jste povolili, dokud jedna neproběhne úspěšně. Schannel se pokusí nejprve mapovat mapování Service-For-User-To-Self (S4U2Self). Mapování certifikátů Subject/Issuer, Issuer a UPN jsou teď považována za slabá a ve výchozím nastavení jsou zakázaná. Bitový součet vybraných možností určuje seznam dostupných metod mapování certifikátů.

Výchozí klíč registru SChannel byl 0x1F a je teď 0x18. Pokud dojde k selháním ověřování u serverových aplikací založených na Schannel, doporučujeme provést test. Přidejte nebo upravte hodnotu klíče registru CertificateMappingMethods na řadiči domény a nastavte ji na 0x1F a zjistěte, jestli se tím problém řeší. Další informace najdete v protokolech systémových událostí na řadiči domény a vyhledejte případné chyby uvedené v tomto článku. Mějte na paměti, že změna hodnoty klíče registru SChannel zpět na předchozí výchozí (0x1F) se vrátí k používání slabých metod mapování certifikátů.

Podklíč registru

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel

Hodnota

CertificateMappingMethods

Datový typ

DWORD

Data

0x0001 – mapování certifikátu předmětu nebo vystavitele (slabé – ve výchozím nastavení zakázáno)

0x0002 – mapování certifikátů vystavitelů (slabé – ve výchozím nastavení zakázáno)

0x0004 – mapování certifikátů UPN (slabé – ve výchozím nastavení zakázáno)

0x0008 – S4U2Self certificate mapping (strong)

0x0010 – explicitní mapování certifikátů S4U2Self (silné)

Vyžaduje se restartování?

Ne

Další zdroje informací a podporu najdete v části Další zdroje informací.

Po instalaci aktualizací, které řeší CVE-2022-26931 a CVE-2022-26923, může ověřování selhat v případech, kdy jsou uživatelské certifikáty starší než čas vytvoření uživatelů. Tento klíč registru umožňuje úspěšné ověření, pokud ve svém prostředí používáte slabé mapování certifikátů a čas certifikátu předchází času vytvoření uživatele v rámci nastaveného rozsahu. Tento klíč registru nemá vliv na uživatele nebo počítače s mapováním silných certifikátů, protože čas certifikátu a čas vytvoření uživatele nejsou kontrolovány pomocí mapování silných certifikátů. Tento klíč registru nemá žádný vliv, pokud je vlastnost StrongCertificateBindingEnforcement nastavena na hodnotu 2.

Použití tohoto klíče registru je dočasné alternativní řešení pro prostředí, která ho vyžadují a musí být prováděna s opatrností. Použití tohoto klíče registru pro vaše prostředí znamená následující:

  • Tento klíč registru funguje pouze v režimu kompatibility počínaje aktualizacemi vydanými 10. května 2022. Ověřování bude povoleno v rámci posunu vyrovnávací kompenzace, ale pro slabou vazbu se zaprotokoluje upozornění protokolu událostí.

  • Povolení tohoto klíče registru umožňuje ověření uživatele, když čas certifikátu předchází času vytvoření uživatele v nastaveném rozsahu jako slabé mapování. Po instalaci aktualizací pro Systém Windows vydaných 9. května 2023 nebudou podporována slabá mapování, která povolí režim úplného vynucení.

Podklíč registru

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc

Hodnota

CertificateBackdatingCompensation

Datový typ

REG_DWORD

Data

Hodnoty alternativního řešení v přibližně letech:

  • 50 let: 0x5E0C89C0

  • 25 let: 0x2EFE0780

  • 10 let: 0x12CC0300

  • 5 let: 0x9660180

  • 3 roky: 0x5A39A80

  • 1 rok: 0x1E13380

Poznámka Pokud znáte životnost certifikátů ve vašem prostředí, nastavte tento klíč registru na mírně delší dobu, než je životnost certifikátu.  Pokud neznáte dobu života certifikátu pro vaše prostředí, nastavte tento klíč registru na 50 let. Výchozí hodnota je 10 minut, pokud tento klíč neexistuje, což odpovídá službě Active Directory Certificate Services (ADCS). Maximální hodnota je 50 let (0x5E0C89C0).

Tento klíč nastavuje časový rozdíl v sekundách, který bude Centrum distribuce klíčů (KDC) ignorovat mezi časem vydání ověřovacího certifikátu a časem vytvoření účtu pro účty uživatelů nebo počítačů.

Důležité Tento klíč registru nastavte pouze v případě, že to vaše prostředí vyžaduje. Použití tohoto klíče registru zakazuje kontrolu zabezpečení.

Vyžaduje se restartování?

Ne

Certifikační autority organizace

Certifikační autority organizace začnou po instalaci aktualizace Windows 10. května 2022 ve výchozím nastavení přidávat nové nekritické rozšíření s identifikátorem objektu (OID) (1.3.6.1.4.1.311.25.2). Přidání tohoto rozšíření můžete zastavit nastavením 0x00080000 bitu v hodnotě msPKI-Enrollment-Flag odpovídající šablony.

Spuštěním následujícího příkazu certutil vyloučíte certifikáty uživatelské šablony z získání nového rozšíření.

  1. Přihlaste se k serveru certifikační autority nebo k Windows 10 klientovi připojenému k doméně pomocí podnikového správce nebo ekvivalentních přihlašovacích údajů.

  2. Otevřete příkazový řádek a zvolte Spustit jako správce.

  3. Spusťte příkaz certutil -dstemplate user msPKI-Enrollment-Flag +0x00080000. 

Zakázáním přidání tohoto rozšíření se odebere ochrana poskytovaná novým rozšířením. Zvažte to až po jedné z následujících akcí:

  1. Potvrdíte, že odpovídající certifikáty nejsou přijatelné pro kryptografii s veřejným klíčem pro počáteční ověřování (PKINIT) v ověřování protokolu Kerberos v KDC.

  2. Odpovídající certifikáty mají nakonfigurovaná další mapování silných certifikátů.

Prostředí, která mají nasazení certifikační autority jiné společnosti než Microsoft, nebudou po instalaci aktualizace Windows 10. května 2022 chráněna pomocí nového rozšíření SID. Ovlivnění zákazníci by měli na řešení tohoto řešení spolupracovat s odpovídajícími dodavateli certifikační autority nebo by měli zvážit použití jiných mapování silných certifikátů popsaných výše.

Další zdroje informací a podporu najdete v části Další zdroje informací.

Nejčastější dotazy

Ne, prodloužení se nevyžaduje. Certifikační autorita se odešle v režimu kompatibility. Pokud chcete silné mapování pomocí rozšíření ObjectSID, budete potřebovat nový certifikát.

Další zdroje informací

Další informace o mapování klientských certifikátů TLS najdete v následujících článcích:

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti

Projít školení >

Získejte nové funkce jako první

Připojit se k programu Microsoft Insider >

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×