ADFS (5) – Rozšířené nastavení ADFS

1 Úvod

V minulém díle jsme nastavili ADFS tak, aby vyhovovalo produkčnímu nasazení. V tomto díle se zaměříme na debug logging, omezení autentizace ADFS pouze na některé uživatele, přizpůsobení úvodní obrazovky a další.

2 Rozšířené nastavení ADFS

2.1 Přizpůsobení úvodní obrazovky

Autentizační nástroj ve firemních barvách působí profesionálně. Nastavení firemního loga a barevného schématu není nic složitého a provádí se příkazem Set-ADFSGlobalWebContent. Příklad nastavení je uveden v následujících obrázcích

s1 s2

S nastavenou ilustrací a logem podle výše uvedených příkazů může přihlašovací stránka ADFS vypadat například takto

s3

2.1.1 Propojení ADFS a Office 365

K propojení ADFS a Office 365 byla napsána spousta článků. Jde v podstatě o to nastavit relaying party trust z pohledu ADFS a Claims Provider Trust z pohledu Office 365 tak, aby se Office 365 dokázal doptat zákazníkova ADFS, zda přihlašovaný uživatel se úspěšně autentizoval vůči lokálnímu AD a má tedy právo využívat služeb Office 365, které jsou navázány na jeho identitu. Je potřeba:

· Nainstalovat Microsoft Online Services Sign-In Assistant for IT Professionals RTW (ke stažení zde)

· Nainstalovat Azure Active Directory Module for Windows Powershell (ke stažení zde)

· Připojit se admin účtem k Office 465 (z primárního ADFS serveru v případě instalace ADFS z WID)

· Spustit PowerShell, Připojit se účtem globálního administrátora a konvertovat požadovanou MSOL doménu na federovanou následujícími příkazy. Přikaz Set-MSOLADFSContext nastavuje, ke kterému ADFS serveru budou směřovány další příkazy.

s4

Výsledkem je funkční autentizace přes ADFS a ve výpisu Get-MSOLDomain přes PowerShell Office 365 „Federovaná doména“

s5

2.1.2 Nastavení automatické obnovy RPT při obnově Token Signing a Token Decrypting certifikátů

Po každé obnově Token Signing a Token Decrypting certifikátů je potřeba obnovit Relaying Party Trust s Office 365. V nezměněném nastavení ADFS k obnově certifikátů dojde jeden krát za rok. Metody obnovy jsou popsány zde. Skript pro automatickou obnovu Federation Metadata je možné stáhnout zde. Skript vytvoří naplánovanou úlohu, která jednou denně o půlnoci zkontroluje a obnoví nastavení federačních metadat pro Office 365.

· Po stažení PowerShell skriptu je potřeba skript spustit na primárním ADFS serveru (v případě WID), nebo na kterémkoliv ADFS serveru ve farmě se zvýšenými právy

s6

· Skript vytvoří naplánovanou úlohu a uloží údaje o Globálním administrátorském účty v Office 365 do lokálního správce pověření

s7 s8

2.1.3 Natavení Debug Loggingu (Trace Debugging and Advanced Access Logging)

Debug logging není přesný název, přesně řečeno Trace Debugging and Advanced Access Logging, je způsob, jak z ADFS získat informace v případě, že je na ADFS komplexní problém, který nelze vyřešit běžným logováním. Proces získávání logů z ADFS může být velmi komplexní a v tomto článku je zmíněn několika krokový postup zapnutí. Trace debugging se dá provádět:

· na koncovém zařízení, přistupujícím k ADFS (zjišťuje se, jak je vyvolán požadavek k autentizaci)

· na ADFS (zjišťuje se, jak se požadavek vyřešil)

· na síti (zjišťuje se, jak požadavek cestuje z koncového zařízení k ADFS a zpět). Pro třetí možnost, a to zjišťování provozu na síti, je nejvhodnější použít nástroje třetích stran (Fiddler apod.), kdy hlavním důvodem je potřeba terminovat SSL připojení, aby se dal analyzovat obsah šifrovaného kanálu.

Na ADFS se Trace Debugging zapíná dle následujícího postupu:

2.1.3.1 Zapnutí ADFS Trace Debuggingu

V prvním kroku je potřeba nastavit správnou úroveň logování pro Event log „ADFS Debug/Trace“ pomocí utility WEVTUtil. Utilitu je potřeba spustit přes příkazový řádek se zvýšenými oprávněními. Původní nastavení ADFS je Debug/Trace v Disabled a úroveň 4.

s9 s10

Nastavení bude spočívat v přepnutí do úrovně 5 (nejvyšší možná) a povolení logování. Nastavení se provede opět přes WEVTUtil.exe.

s11

Následně je potřeba v konzoli Event Viewer kliknout pravým tlačítkem myši na Applications and Service Logs -> View -> Show Analytic and Debug Logs.

s12

Nově se objeví sekce AD FS Tracing, ve které je potřeba přes pravé tlačítko povolit logování.

s13

Povolením logování je ukončena konfigurace logování Tracingu AD FS. Test funkčnosti je možné provést přihlášením na https://<ADFSServicename>.<domain>.<suffix>/adfs/ls/idpinitiatedsignon.aspx , kdy připojení vyvolá zápis několika Tracing událostí do logu. Pro zjednodušení procházení je potřeba uložit výsledky logování do EVTX souboru a následně načíst a procházet. Úspěšné nastavení je po testu vidět podobně, jako v příkladu:

s14

Vypnutí Tracingu se provede nastavením levelu 4 přes WEVTUTIL.exe a zakázáním logování v Event Vieweru.

2.1.3.2 Zapnutí Object Access Auditování

Logování je potřeba zapnout v situacích, kdy je potřeba zjistit, kdo přistupuje k ADFS serverům. Logování se zapíná ve dvou krocích. Nejdříve je potřeba přes MMC konzoli AD FS Management, povolit Object Audit Access Success and Failure. V AD FS Management konzoli pravým tlačítkem myši na Service -> Edit Federation Service Properties -> Záložka Events a označit Success Audits , Failure Audits.

s15

Nastavení se provádí na každém ADFS (také WAP) serveru. Aby nastavení fungovalo, je potřeba ještě povolit přes GPO (případně lokální GPO na každém ADFS serveru). Otevřete GPO Editor -> Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Audit Policy a nastavte “Audit Object Access” with “Success” and “Failure” . Po aplikaci politik ADFS server loguje velké množství událostí a je potřeba počítat i s uzpůsobením maximální velkosti jednotlivých souborů event Logů.

2.1.4 Omezení autentizace na AD skupinu

ADFS umožňuje povolit, nebo zakázat autentizaci uživatelů s ohledem na to, odkud se připojují, jaká zařízení používají, nebo třeba členy jakých skupin jsou. Nastavení je součástí Client Access Policies ( více zde ), a v tomto díle si ukážeme scénář, kdy ADFS autorizuje přístup pouze uživatelům, jež jsou členy AD skupiny „O365 Access“. V dalším díle budeme pokračovat ostatními scénáři. V dnešním scénáři se jedná o zákazníka, který má nasazeno ADFS za účelem nejlepší možné autentizace pro Office 365. Zákazník také chce využívat ADFS pro autentizaci dalších služeb, které nechce omezovat podobně, jako přístup k autentizaci do Office 365.

Ze zadání vyplývá, že bude potřeba nastavit Relaying Party Trust pro Office 365 tak, aby se podařilo autentizovat pouze uživatelům, kteří jsou členy skupiny O365 Access. Předpokladem je již založená skupina O365 Access v zákazníkově AD (bude potřeba její SID). Nastavení se provádí přes AD FS Management -> Trust Relationships -> Relaying Party Trusts (vybere se správný trust, u kterého je potřeba provést výše zmíněné omezení) -> záložka Issuance Authorization Rules s16

Na záložce Issuance Authorization Rules -> Add rule s17

Pro pravidlo se vybere Custom Rule

s18

Po zadání zobrazovaného jména pravidla je potřeba dodat pravidlo, které definuje SAML jazykem, že členové skupiny mají přístup povolen (respektive pokud uživatel nemá v seznamu claimů SID O365 Access, přístup mu bude odepřen):

s19 s20

Jako další pak je potřeba přidat pravidlo, které na základě Value = „Fail“ z předchozícho pravidla vytvoří claim „Deny“, který bude poslán uživateli.

s21 s22

Pozor! Jednotlivá pravidla fungují tak, že Deny má vždy přednost před Allow. V tomto scénáři se explicitně zakazují všichni, kteří nejsou členové skupiny O365 Access. Ostatní projdou přes poslední pravidlo, které povolí všechny uživatele. Hotová pravidla vypadají dle obrázku:

s23

Výsledek, pokud uživatel není členem skupiny O365 Access, je patrný z obrázku:

s24

Po přidání uživatele do skupiny je výsledkem:

s25

V příštím díle si ukážeme další scénáře omezení přístupu autentizace přes ADFS a propojení ADFS se software třetích stran.

- Zbyněk Saloň, KPCS CZ

Mohlo by vás také zajímat

Cloud Identities (ADFS)