Sdílet prostřednictvím


Podrobný průzkum zabezpečení předávacího ověřování Microsoft Entra

Tento článek obsahuje podrobnější popis fungování předávacího ověřování Microsoft Entra. Zaměřuje se na aspekty zabezpečení funkce. Tento článek je určený pro správce zabezpečení a IT, vedoucí pracovníky pro dodržování předpisů a zabezpečení a další odborníky v oblasti IT, kteří zodpovídají za zabezpečení a dodržování předpisů v organizacích nebo podnicích libovolné velikosti.

Mezi projednávaná témata patří:

  • Podrobné technické informace o instalaci a registraci ověřovacích agentů
  • Podrobné technické informace o šifrování hesel při přihlašování uživatele
  • Zabezpečení kanálů mezi místními agenty ověřování a Microsoft Entra ID.
  • Podrobné technické informace o tom, jak udržovat agenty ověřování bezpečné v provozu.

Možnosti zabezpečení průchozího autentizačního klíče

Předávací ověřování má tyto klíčové možnosti zabezpečení:

  • Je založená na zabezpečené víceklientské architektuře, která zajišťuje izolaci přihlašovacích požadavků mezi tenanty.
  • Místní hesla se nikdy neukládají v cloudu v žádné podobě.
  • Místní agenti ověřování, kteří naslouchají požadavkům na ověření hesla a reagují na ně, provádějí odchozí připojení jenom z vaší sítě. Tyto ověřovací agenty není nutné instalovat do hraniční sítě (označované také jako DMZ, demilitarizovaná zóna a monitorovaná podsíť). Osvědčeným postupem je považovat všechny servery se spuštěnými agenty ověřování jako systémy vrstvy 0 (viz referenční informace).
  • Pro odchozí komunikaci z ověřovacích agentů do Microsoft Entra ID se používají jenom standardní porty (port 80 a port 443). V bráně firewall nemusíte otevírat příchozí porty.
  • Port 443 se používá pro veškerou ověřenou odchozí komunikaci.
  • Port 80 se používá jenom ke stahování seznamů odvolaných certifikátů (CRL), aby se zajistilo, že nebyla odvolána žádná z certifikátů, které tato funkce používá.
  • Úplný seznam požadavků na síť najdete v úvodní příručce pro předávací ověřování Microsoft Entra.
  • Hesla, která uživatelé zadají během přihlašování, se šifrují v cloudu předtím, než je místní ověřovací agenti přijmou k ověření ve službě Windows Server Active Directory (Windows Server AD).
  • Kanál HTTPS mezi Microsoft Entra ID a místním ověřovacím agentem je zabezpečený pomocí vzájemného ověřování.
  • Předávací ověřování chrání vaše uživatelské účty tím, že bez problémů spolupracuje se zásadami podmíněného přístupu od Microsoft Entra, včetně vícefaktorového ověřování (MFA), blokováním staršího ověřování a filtrací útoků hrubou silou na hesla.

Komponenty zapojené do průchozího ověření

Obecné podrobnosti o provozním zabezpečení, službě a zabezpečení dat pro ID Microsoft Entra najdete v Centru zabezpečení. Při použití průchodového ověřování pro přihlášení uživatele jsou zapojeny následující komponenty:

  • Služba tokenů zabezpečení Microsoft Entra (Microsoft Entra STS):: Bezstavová služba tokenů zabezpečení, která zpracovává žádosti o přihlášení a vydává tokeny zabezpečení pro uživatelské prohlížeče, klienty nebo služby podle potřeby.
  • Azure Service Bus: Poskytuje cloudovou komunikaci s podnikovým zasíláním zpráv a předáváním, která pomáhá propojit místní řešení s cloudem.
  • Microsoft Entra Connect Authentication Agent: Místní komponenta, která naslouchá žádostem o ověření hesla a odpovídá na ně.
  • Azure SQL Database: Obsahuje informace o agentech ověřování vašeho tenanta, včetně jejich metadat a šifrovacích klíčů.
  • Windows Server AD: Místní služba Active Directory, kde jsou uložené uživatelské účty a jejich hesla.

Instalace a registrace agentů ověřování

Agenti ověřování se instalují a registrují s ID Microsoft Entra, když provedete jednu z následujících akcí:

Provoz ověřovacího agenta zahrnuje tři hlavní fáze:

  • Instalace
  • Registrace
  • Inicializace

Tyto fáze jsou podrobně popsány v následujících částech.

Instalace ověřovacího agenta

Na místní server může nainstalovat ověřovacího agenta (pomocí služby Microsoft Entra Connect nebo samostatné instance) pouze účet správce hybridní identity.

Instalace přidá do seznamu v Ovládacích panelech>Programy>Programy a funkce dvě nové položky:

  • Samotná aplikace ověřovacího agenta. Tato aplikace běží s oprávněními NetworkService .
  • Aplikace Updater, která se používá k automatické aktualizaci ověřovacího agenta. Tato aplikace běží s oprávněními LocalSystem .

Důležité

Z hlediska zabezpečení by správci měli server, na kterém běží předávací ověřovací agent, považovat za řadič domény. Servery agenta předávacího ověřování by měly být zodolněny, jak je uvedeno v části Zabezpečte řadiče domény proti útoku.

Registrace agenta ověřování

Po instalaci ověřovacího agenta se zaregistruje v Microsoft Entra ID. Microsoft Entra ID přiřadí každému ověřovacímu agentu jedinečný certifikát digitální identity, který může použít pro zabezpečenou komunikaci s Microsoft Entra ID.

Postup registrace také vytvoří vazbu ověřovacího agenta s vaším tenantem. Pak Microsoft Entra ID ví, že tento konkrétní ověřovací agent je jediný, který má oprávnění zpracovávat žádosti o ověření hesla pro vašeho tenanta. Tento postup se opakuje pro každého nového ověřovacího agenta, kterého zaregistrujete.

Agenti ověřování se zaregistrují pomocí následujícího postupu s ID Microsoft Entra:

Diagram znázorňující registraci agenta ověřování ve službě Azure AD

  1. Microsoft Entra nejprve požádá, aby se správce hybridní identity přihlásil k ID Microsoft Entra pomocí svých přihlašovacích údajů. Během přihlašování získá ověřovací agent přístupový token, který může používat jménem uživatele.

  2. Ověřovací agent pak vygeneruje pár klíčů: veřejný klíč a privátní klíč.

    • Pár klíčů se generuje prostřednictvím standardního 2 048bitového šifrování RSA.
    • Privátní klíč zůstane na místním serveru, kde se nachází ověřovací agent.
  3. Ověřovací agent odešle žádost o registraci na ID Microsoft Entra přes HTTPS s následujícími komponentami zahrnutými v požadavku:

    • Přístupový token, který agent získal.
    • Veřejný klíč, který byl vygenerován.
    • Žádost o podepsání certifikátu (CSR nebo žádost o certifikát). Tato žádost se vztahuje na certifikát digitální identity s ID Microsoft Entra jako jeho certifikační autoritou.
  4. Id Microsoft Entra ověří přístupový token v žádosti o registraci a ověří, že žádost pochází od správce hybridní identity.

  5. Microsoft Entra ID pak podepíše certifikát digitální identity a odešle ho zpět ověřovacímu agentu.

    • Kořenová certifikační autorita v MICROSOFT Entra ID se používá k podepsání certifikátu.

    Poznámka:

    Tato certifikační autorita není v úložišti důvěryhodných kořenových certifikačních autorit systému Windows.

    • Pouze funkce předávacího ověřování používá certifikační autoritu. Certifikační autorita se používá pouze k podepisování certifikačních žádostí během registrace ověřovacího agenta.
    • Tuto certifikační autoritu nepoužívá žádná jiná služba Microsoft Entra.
    • Předmět certifikátu (označovaný také jako Rozlišující název nebo DN) je nastavený na ID vašeho tenanta. Jedná se o identifikátor GUID, který jednoznačně identifikuje vašeho nájemce. Tento obor názvů určuje certifikát pro použití pouze s vaším klientem.
  6. ID Microsoft Entra ukládá veřejný klíč ověřovacího agenta do databáze ve službě Azure SQL Database. K databázi má přístup pouze ID Microsoft Entra.

  7. Vystavený certifikát je uložený na místním serveru v úložišti certifikátů Windows (konkrétně v CERT_SYSTEM_STORE_LOCAL_MACHINE). Certifikát používá ověřovací agent i aplikace Updater.

Inicializace agenta ověřování

Při prvním spuštění ověřovacího agenta po registraci nebo po restartování serveru potřebuje způsob, jak bezpečně komunikovat se službou Microsoft Entra, aby mohl začít přijímat žádosti o ověření hesla.

Diagram znázorňující inicializaci agenta ověřování

Tady je postup inicializace agentů ověřování:

  1. Ověřovací agent vytvoří odchozí zaváděcí požadavek na Microsoft Entra ID. Tento požadavek se provádí přes port 443 a přes vzájemně ověřený kanál HTTPS. Požadavek používá stejný certifikát, jaký byl vydán při registraci ověřovacího agenta.
  2. Microsoft Entra ID odpoví na požadavek poskytnutím přístupového klíče do fronty služby Service Bus, která je jedinečná pro vašeho tenanta a která je identifikována ID vašeho tenanta.
  3. Ověřovací agent vytvoří trvalé HTTPS připojení (přes port 443) do fronty jako odchozí spojení.

Ověřovací agent je teď připravený načíst a zpracovat žádosti o ověření hesla.

Pokud máte ve svém tenantovi zaregistrovaných více agentů ověřování, inicializační postup zajistí, že se každý agent připojí ke stejné frontě služby Service Bus.

Jak předávací ověřování zpracovává žádosti o přihlášení

Následující diagram znázorňuje, jak předávací ověřování zpracovává žádosti uživatelů o přihlášení:

Diagram znázorňující, jak předávací ověřování zpracovává žádosti uživatelů o přihlášení

Jak zpracovává předávací ověřování žádost o přihlášení uživatele:

  1. Uživatel se pokusí o přístup k aplikaci, například k Outlook Web Appu.
  2. Pokud uživatel ještě není přihlášený, aplikace přesměruje prohlížeč na přihlašovací stránku Microsoft Entra.
  3. Služba Microsoft Entra STS odpoví zpět stránkou pro přihlášení uživatele.
  4. Uživatel zadá své uživatelské jméno na přihlašovací stránce Uživatele a pak vybere tlačítko Další .
  5. Uživatel zadá heslo na přihlašovací stránce uživatele a pak vybere tlačítko Přihlásit se.
  6. Uživatelské jméno a heslo se odešle do služby Microsoft Entra STS v požadavku HTTPS POST.
  7. Microsoft Entra STS načte veřejné klíče pro všechny ověřovací agenty zaregistrované ve vašem tenantovi ze služby Azure SQL Database a zašifruje heslo pomocí klíčů. Vytvoří jednu zašifrovanou hodnotu hesla pro každého ověřovacího agenta zaregistrovaného ve vašem tenantovi.
  8. Služba Microsoft Entra STS umístí žádost o ověření hesla, která se skládá z uživatelského jména a šifrovaných hodnot hesel, do fronty služby Service Bus, která je specifická pro vašeho tenanta.
  9. Vzhledem k tomu, že agenti inicializovaného ověřování jsou trvale připojeni k frontě služby Service Bus, jeden z dostupných agentů ověřování načte žádost o ověření hesla.
  10. Ověřovací agent používá identifikátor k vyhledání šifrované hodnoty hesla, která je specifická pro jeho veřejný klíč. Dešifruje veřejný klíč pomocí svého privátního klíče.
  11. Ověřovací agent se pokusí ověřit uživatelské jméno a heslo vůči službě Windows Server AD pomocí rozhraní WIN32 LogonUser API s parametrem nastaveným dwLogonType na LOGON32_LOGON_NETWORK.
    • Toto rozhraní API je stejné, které používají služby Active Directory Federation Services (AD FS) k přihlášení uživatelů ve scénáři federovaného přihlašování.
    • Toto rozhraní API spoléhá na standardní proces vyhledávání na Windows Serveru k nalezení řadiče domény.
  12. Ověřovací agent obdrží výsledek ze služby Windows Server AD, jako je úspěch, uživatelské jméno nebo heslo je nesprávné nebo vypršela platnost hesla.

Poznámka:

Pokud ověřovací agent během procesu přihlášení selže, celý požadavek na přihlášení se zahodí. Žádosti o přihlášení se nepředávají z jednoho místního ověřovacího agenta na jiného. Tito agenti komunikují jenom s cloudem, a ne s ostatními.

  1. Ověřovací agent předá výsledek zpět službě Microsoft Entra STS přes odchozí vzájemně ověřený kanál HTTPS přes port 443. Vzájemné ověřování používá certifikát vydaný ověřovacímu agentu během registrace.
  2. Microsoft Entra STS ověřuje, že tento výsledek koreluje s konkrétní žádostí o přihlášení ve vašem nájemním účtu.
  3. Microsoft Entra STS pokračuje v postupu přihlašování podle konfigurace. Pokud bylo například ověření hesla úspěšné, může být uživatel vyzván pro vícefaktorové ověřování nebo přesměrován zpět do aplikace.

Provozní bezpečnost ověřovacího agenta

Aby předání ověřování zůstalo bezpečné, Microsoft Entra ID pravidelně obnovuje certifikáty ověřovacího agenta. Id Microsoft Entra aktivuje prodloužení platnosti. Prodloužení se neřídí samotnými ověřovacími agenty.

Diagram znázorňující fungování provozního zabezpečení při použití předávacího ověřování.

Pro obnovení důvěryhodnosti agenta ověřování s Microsoft Entra ID:

  1. Ověřovací agent provádí ping na Microsoft Entra každých pár hodin, aby zjistil, zda je čas obnovit jeho certifikát. Platnost certifikátu se prodloužila 30 dní před vypršením jeho platnosti. Tato kontrola se provádí přes vzájemně ověřený kanál HTTPS a používá stejný certifikát, který byl vydán během registrace.
  2. Pokud služba indikuje, že je čas prodloužit platnost, agent ověřování vygeneruje nový pár klíčů: veřejný klíč a privátní klíč.
    • Tyto klíče se generují prostřednictvím standardního 2 048bitového šifrování RSA.
    • Privátní klíč nikdy neopustí místní server.
  3. Ověřovací agent pak odešle žádost o prodloužení platnosti certifikátu na ID Microsoft Entra přes HTTPS. V požadavku jsou zahrnuty následující komponenty:
    • Existující certifikát načtený z umístění CERT_SYSTEM_STORE_LOCAL_MACHINE v úložišti certifikátů Systému Windows.
    • Veřejný klíč vygenerovaný v kroku 2.
    • Firemní společenská odpovědnost. Tato žádost se vztahuje na nový certifikát digitální identity s ID Microsoft Entra jako jeho certifikační autoritou.
  4. ID Microsoft Entra ověří existující certifikát v žádosti o prodloužení platnosti certifikátu. Pak ověří, že požadavek pochází z ověřovacího agenta zaregistrovaného ve vašem nájemním prostředí.
  5. Pokud je stávající certifikát stále platný, Microsoft Entra ID podepíše nový certifikát digitální identity a vydá nový certifikát zpět ověřovacímu agentu.
  6. Pokud platnost existujícího certifikátu vypršela, Microsoft Entra ID odstraní ověřovacího agenta ze seznamu registrovaných ověřovacích agentů vašeho tenanta. Správce hybridní identity pak musí ručně nainstalovat a zaregistrovat nového ověřovacího agenta.
    • K podepsání certifikátu použijte kořenovou certifikační autoritu Microsoft Entra ID.
    • Nastavte DN certifikátu na ID vašeho tenanta, identifikátor GUID, který jednoznačně identifikuje vašeho tenanta. Rozsah rozlišujícího jména certifikátu se vztahuje pouze na váš účet nájemce.
  7. Id Microsoft Entra ukládá nový veřejný klíč ověřovacího agenta do databáze v Azure SQL Database, ke které má přístup jenom on. Také zneplatní starý veřejný klíč přidružený k ověřovacímu agentovi.
  8. Nový certifikát (vydaný v kroku 5) se pak uloží na server v úložišti certifikátů Systému Windows (konkrétně v umístění CERT_SYSTEM_STORE_CURRENT_USER ).

Vzhledem k tomu, že k postupu obnovení důvěryhodnosti dochází neinteraktivně (bez přítomnosti správce hybridní identity), ověřovací agent už nemá přístup k aktualizaci existujícího certifikátu v CERT_SYSTEM_STORE_LOCAL_MACHINE umístění.

Poznámka:

Tento postup neodebere certifikát samotný z úložiště CERT_SYSTEM_STORE_LOCAL_MACHINE. 9. Od tohoto okamžiku se nový certifikát používá k ověřování. Každé následné obnovení certifikátu nahradí certifikát v umístění CERT_SYSTEM_STORE_LOCAL_MACHINE.

Automatická aktualizace ověřovacího agenta

Aplikace Updater automaticky aktualizuje ověřovacího agenta při vydání nové verze (s opravami chyb nebo vylepšeními výkonu). Aplikace Updater nezpracuje žádné žádosti o ověření hesla pro vašeho tenanta.

Microsoft Entra ID hostuje novou verzi softwaru jako podepsaný balíček Instalační služby systému Windows (MSI). MSI je podepsána pomocí Microsoft Authenticode s algoritmem souhrnu SHA-256.

Diagram znázorňující automatickou aktualizaci ověřovacího agenta

Automatická aktualizace ověřovacího agenta:

  1. Aplikace Updater každou hodinu pinguje Microsoft Entra, aby zkontrolovala, zda je k dispozici nová verze ověřovacího agenta. Tato kontrola se provádí přes vzájemně ověřený kanál HTTPS pomocí stejného certifikátu, který byl vydán během registrace. Ověřovací agent a aktualizátor sdílejí certifikát uložený na serveru.
  2. Pokud je k dispozici nová verze, Microsoft Entra ID vrátí podepsané MSI zpět do aktualizátoru.
  3. Aktualizátor ověří, že MSI je podepsána Microsoftem.
  4. Aktualizátor spouští MSI. V tomto procesu aplikace Updater:

Poznámka:

Aktualizátor běží s oprávněními místního systému .

  1. Zastaví službu ověřovacího agenta.
  2. Nainstaluje novou verzi ověřovacího agenta na server.
  3. Restartuje službu ověřovacího agenta.

Poznámka:

Pokud máte ve svém tenantovi zaregistrovaných více ověřovacích agentů, id Microsoft Entra neprodlouží platnost certifikátů ani je neaktualizuje současně. Místo toho Microsoft Entra ID prodlouží certifikáty po jednom, aby se zajistila vysoká dostupnost pro žádosti o přihlášení.

Další kroky