FIDO2 - přihlašování bez hesla i v lokální Active Directory - I. část
Přihlášení ke službám M365, resp. k Azure AD bez nutnosti zadávání hesla již dlouho není nic neobvyklého. Přistupovat ke zdrojům v lokálním Active Directory stejným způsobem, však stále ještě obvyklé není. V a následujícím článku si shrneme stávající možnosti „passwordless“ přihlašování právě v prostředí AD DS, i když budeme využívat Azure AD jako prostředníka.
Ve dvoudílném článku si postupně projdeme následující kapitoly:
První část
- Co je FIDO2
- Proč chceme FIDO2
- Kerberos, SSO, jak to celé funguje
- Výběr tokenů
- Co potřebujeme v cloudu
- Co potřebujeme v AD DS
Druhá část
- Jak to vidí uživatel
- Údržba a rutiny
- Omezení a trable
- Závěr
Co je FIDO2
FIDO (Fast Identity Online) Alliance je seskupení nejen technologických firem (např. Amazon, Apple, Gemalto, Google, Intel, Lenovo, Microsoft, Samsung, Visa a mnoho dalších), které zaštiťují a podporují moderní autentizační technologie.
FIDO2 je otevřený standard pro autentizaci, která umožňuje dvoufaktorové ověření pomocí specializovaných zařízení (např. USB tokeny, NFC/Bluetooth zařízení, biometrické prvky, TPM čipy atp.). Oproti svému předchůdci (U2F) lez využívat druhého faktoru bez dalšího hesla. FIDO2 také zahrnuje standard pro ověřování na webu (WebAuthn).
FIDO U2F (Universal 2nd Factor) je předchůdcem FIDO2. FIDO2 je s U2F zpětně kompatibilní.
FIDO2 klíče jsou zařízení, která umožňují přihlášení např. k Azure AD, aniž by uživatel musel někam zadávat (nebo dokonce i znát) uživatelské heslo, přihlašovací jméno nebo telefonní číslo.
Proč chceme FIDO2
Klíče FIDO2 umožňují „passwordless“ ověřování (volitelně s PINem), které je dnes považováno za ideální silnou/bezpečnou metodu. Tento způsob přihlašování zároveň uživatelům poskytuje rozumnou úroveň přívětivosti a komfortu při každodenním používání.
Kombinace asymetrické kryptografie, nutnost fyzického přístupu k zařízení, ochrana PINem, a v neposlední řadě nutnost fyzické interakce uživatele (žádný mallware prozatím není schopen se fyzicky dotknout tlačítka na USB klíči a potvrdit tak proces přihlášení) zajišťuje opravdu velmi vysoký bezpečnostní standard.
Uživatelé přitom mohou mít zaregistrováno několik účtů k jedinému klíči, a zároveň mohu mít ke každému svému účtu připojeno více bezpečnostních klíčů.
Své FIDO2 klíče mohou uživatelé používat pro zabezpečení mnoha dalších služeb. Kromě obligátních služeb typu Facebook, Google apod. je možné je použít také pro přístup k Portálu občana, do datových schránek – resp. k portálu národního bodu pro identifikaci a autentizaci.
FIDO klíče jsou samozřejmě také ideálním způsobem pro přihlašování administrátorů služeb Azure/M365.
Kerberos, SSO, jak to celé funguje
Definujme si nyní náš dnešní cíl. Chceme zajistit bezpečné ověření uživatele při přístupu ke zdrojům v místní Active Directory, kdy ověření proběhne s využitím FIDO2 klíče. Standardní řadiče domény nám to sice neumožní přímo, my ale využijeme toho, že Azure Active Directory může vystavit Kerberos Ticket Granting Ticket (TGT) pro všechny naše místní domény AD DS.
Řešení je založeno na vytvoření virtuálního účtu řadiče domény (Azure AD Kerberos Server), který je propojen s Azure Active Directory.
Zdroj: Microsoft
- Uživatel se ověří z Windows 10 stanice pomocí svého FIDO2 klíče k Azure AD
- Azure AD vyhledá příslušný Kerberos Server klíč a vystaví uživateli Kerberos TGT obsahující pouze uživatelův SID. TGT v tomto okamžiku tedy ještě není kompletní.
- Klient získá TGT a PRT
- Klient předá získaný TGT místnímu řadiči domény a obdrží kompletní verzi TGT
- Klient má k dispozici Azure AD PRT a kompletní TGT – má tedy přístup ke cloudovým i místním službám.
Předpoklady:
- Klienti musí používat Windows 10 verze 2004 nebo novější a musí být zavedeni v Azure AD
- Verze používaného Azure AD Connect serveru musí být alespoň 1.4.32.0
- Řadiče domény musí být alespoň na úrovni Windows Server 2016 (KB4534307) nebo Windows Server 2019 (KB4534321). Aktualizace z ledna 2020 již máte jistě nainstalovány
Výběr tokenů
FIDO2 klíč může být implementován jako software, například telefon s operačním systémem Android, my se ale dnes budeme zabývat pouze hardwarovými klíči. Klíče je dnes možné pořídit od mnoha výrobců, určitě doporučujeme certifikaci od výše zmíněné FIDO Alliance.
Nicméně, pokud se rozhodnete začít používat FIDO2 v Azure Active Directory, klíče musí splňovat některé další požadavky definované CTAP protokolem (Client to Authenticator Protocol):
- Resident key
- Client pin
- Hmac-secret
- Multiple accounts per RP
Pozor, že je klíč FIDO2 bohužel neznamená, že podporuje tato rozšíření. Nejčastěji narazíte na chybějící podporu PINu, některé klíče mohou být blokovány samotným Microsoftem. Ukázka chybového hlášení sice naznačuje, že klíč je blokován organizací – to ale není pravda.
Podobně jako při výběru čipových karet je tedy důležité testovat a vyzkoušet různé typy a dodavatele. Rozhodně Vám nechci podsouvat žádnou konkrétní značku nebo typ. Nicméně v mé sbírce jedna značka převažuje, a to je můj tajný tip do začátku.
Co potřebujeme v cloudu
V Azure AD toho mnoho nastavovat nemusíme. Ověřte, že uživatelé mají povolenu možnost kombinované registrace (combined security information registration).
Nejdůležitější je pak povolení FIDO2 v seznamu autentizačních metod. Povolte všem, případně skupině pilotních uživatelů.
A nakonec rychlá kontrola, zda jsou naše stanice v pořádku registrovány v Azure AD:
Co potřebujeme v AD DS
Nyní musíme v AD DS vytvořit objekt AzureADKereberos, který se tváři jako Read-only Domain Controller. S příslušnými oprávněni spustíme ideálně na severu Azure AD Connect několik příkazů:
Výsledkem bude nový objekt v organizační jednotce „Domain Controllers“.
Jeho vlastnosti si pak můžeme nechat vypsat na AAD Connect serveru:
„ID“ je unikátní hodnota pro každý objekt v AD DS, „KeyVersion“ a „KeyUpdatedOn“ se budou zvyšovat při každé aktualizaci. Toto si upřesníme později.
Současně také vznikl účet „krbtgt_AzureAD“, který je s objektem AzureADKerberos propojen.
Dále musíme povolit klíče jako přihlašovací metodu pro naše stanice. K tomu je potřeba mít aktualizovány šablony pro správu. Stáhneme tedy šablony pro Windows 10 verze 2004 a aktualizujeme centrální úložiště GPO.
Následně našim klientům doručíme ono nastavení –„Turn on security key sign-in“:
Poznámka: Toto nastavení je možné provést i konfiguraci Intune, nicméně dnes se zaměřujeme na místní prostředí, kde je to jen trochu možné.
Zde bych pro tuto chvíli první díl článku ukončil, kapitoly Jak to vidí uživatel, Údržba a rutiny a Omezení a trable najdete v druhém navazujícím díle.
Sdílej v médiích