SmartIT Zmorge «ADFS»
Herzlich willkommen.
Agenda
Zeit Programm
08:45 – 09:00 Uhr Begrüssung und Einleitung Remo Rüedi, Teamleiter Consulting + Projektmanagement
09:00 – 10:00 Uhr ADFS Grundlagen und ArchitekturHansruedi Brunner, zertifizierter Microsoft Teacher und Consultant
10:00 – 10:15 Uhr Pause
10:15 – 11:30 Uhr ADFS Aufbau und Praxis, Live-Demo Hansruedi Brunner, zertifizierter Microsoft Teacher und Consultant
Massgeschneiderte Dienstleistungen seit 1999.
Gründung: 1. Juni 1999
Rechtsform: Aktiengesellschaft
Aktienkapital: CHF 300‘000 (voll liberiert)
Partner (v.l.n.r.): Pietro Bisanti, Daniel Rentsch, Roberto Valentini
Geschäftsleitung: Daniel Rentsch, Roberto Valentini, Patrick Buser
Anzahl Mitarbeitende: 43
Umsatz: CHF 9.5 Mio. (Geschäftsjahr 2016)
Unsere Werte
Engagiert.Die Aufgaben, die uns unsere Kunden stellen, begeistern uns. Anspruchsvolle Aufgaben fordern uns zu gemeinsamenHöchstleistungen heraus.
Flexibel.Wir sind eigenständig und unabhängig. Wir ermöglichen Veränderung. Mit uns gelangen Kunden auch in einem bewegten Umfeld sicher ans Ziel.
Aufrichtig.Wir haben eine Meinung. Unsere Kunden sehen uns als wertvollen Geschäftspartner, der im direkten Dialog eine konkrete Meinung vertritt.
Solutions und Services
Services
David BirrerSystem Engineer
Alain DolderSystem Engineer
Patrick FontanaConsultant | Projektleiter
Marc GrandSystem Engineer
Remo RüediTeamleiter Consulting +Projektmanagement
Simon SchallerTeamleiter Engineering Projekte
Michael SchäublinSystem Engineer
Franz SchenkSystem Engineer
Hansruedi BrunnerConsultant
Projekte
Daniel RentschPartner | Geschäftsleitung |Leiter Projekte
Fabian MüllerConsultant | Projektleiter
Marco StrazziniConsultant | Projektleiter
Michael BürgiSystem Engineer
Patrick MäderSystem Engineer
Yanick RöthlisbergerSystem Engineer
Stefan SchiffmannSystem Engineer
Pietro BisantiPartner | Teamleiter Engineering Betrieb
Patrick BuserGeschäftsleitung | Leiter Betrieb + Datacenter
Manuel KobelSystem Engineer
Tim WiederkehrPraktikant Systemtechnik
David SheppardSystem Engineer
Engineering Betrieb und Datacenter
Patrick GrauSystem Engineer
Daniel PlüssSystem Engineer
Florian AmportServicedesk | ICT Supporter
Tanja HerzogServicedesk | ICT Supporter
Andreas MoserServicedesk | ICT Supporter
Servicedesk und Servicemanagement
Phil KienerTeamleiter Servicedesk + Servicemanagement
David LeiserServicedesk | ICT Supporter
Andreas WaltherService Manager
Moritz WydlerServicedesk | ICT Supporter
Dominic AugstburgerServicedesk | ICT Supporter
Philipp LüthyServicedesk | ICT Supporter
Vanessa FurerServicedesk | ICT Supporter
Nadja BergerFinanzen
Bettina HeinigerSales Support | HR
Kristina KleflinSales Support
Roberto ValentiniPartner | Geschäftsleitung |Leiter Sales + Backoffice
Christoph von SiebenthalSales | Senior Account Manager
Slavica VranjkovicMarketing
Judith WalserMarketing | HR
Sarah WinigerMarketing | Sales
Markus BieriSales | Account Manager
Sales + Backoffice
Cloud Readiness
_ Erlaubt die Firmenstrategie eine Nutzung von Clouds, auch im Ausland?
_ Ist die Datenhaltung Ihrer Unternehmensdaten ausserhalb des Unternehmens erlaubt?
_ Ist eine Klassifizierung Ihrer Daten erstellt?
_ Ist die Nutzung der Cloud-Dienste intern regulierbar?
_ Sind DemandManagement-Prozesse bereits vorhanden?
_ Ist die Integration der IT als Schlüsselpartner sichergestellt?
_ Vertragliche Bindung an Anbieter handhabbar?
_ Ist der vorgegebene Update-Zyklus anwendbar?
_ Sind Bandbreitenengpässe lösbar?
_ Ist das Identity-Management benutzerfreundlich lösbar?
Hansruedi BrunnerADFS – so geht’s!
Agenda
Zeit Programm
08:45 – 09:00 Uhr Begrüssung und Einleitung Remo Rüedi, Teamleiter Consulting + Projektmanagement
09:00 – 10:00 Uhr ADFS Grundlagen und ArchitekturHansruedi Brunner, zertifizierter Microsoft Teacher und Consultant
10:00 – 10:15 Uhr Pause
10:15 – 11:30 Uhr ADFS Aufbau und Praxis, Live-Demo Hansruedi Brunner, zertifizierter Microsoft Teacher und Consultant
AD FS….
Vorgehen zur Erkenntnis…
Wie nähern wir uns dem Thema
…wie schleichen wir uns an AD FS heran:
1. Was ist überhaupt das Probem
2. Wir beobachten zuerst, wie’s grob läuft: Wo geht die Authentisierung durch
3. Dann geht’s ins Detail: Welche Komponenten und Protokolle sind involviert.
4. Welche Fragen muss man sich vor einer Implementation stellen
5. Wie sieht eine Infrastruktur aus, welche Komponenten sind darin enthalten
6. Wie baut man eine AD FS Infrastruktur
7. Demo in einfacher Test Infrastruktur
8. Live Demo konkrete produktive Nutzung
…und zwischendurch ein «volkstümlicher Vergleich» zum besseren Verständnis !
Die Problemstellung
Überall Accounts und Passwörter…
Verschiedenste Login Informationen…
...für Anmeldung an Cloud Anwendungen
…oder on Premises für unterschiedliche Systeme
Die Folgen:
• In jeder Cloud Anwendung oder angekoppelten On Premises Applikation müssen Benutzer, Gruppenmitgliedschaften und Passwörter separat gepflegt werden !
• Jeder Anwender muss seine vielen Accounts und Passwörter im Griff haben
• Zusatzaufwand aufgrund vieler Service Desk Calls
• Grösserer Aufwand für IT Administration
• Sicherheitsrisiken z.B. durch gleiche Passwörter auf verschiedenen Konti
x Logins an allen Orten
Die ProblemstellungUnterschiedliche Zusammenarbeiten, heterogene Infrastrukturen..
Historisch gewachsene Systemlandschaften…
Zusammenarbeit über Firmenbereiche oder Gesellschaften hinaus…
…führen zu parallelen Infrastrukturen zur Verwaltung von Usern, Gruppen und Berechtigungen
…führen zu hoher Komplexität der IT Infrastruktur
Lösungsansätze
Damit’s gesagt ist:
Das super IT-Tool, welche auf einen Schlag alle Herausforderungen meistert, gibt es nicht…
(…auch AD FS kann keine Wunder vollbringen)
Aus einem «IT-Puff» wird auch mit eine super IT-Tool höchstens ein «automatisiertes IT-Puff»….
AD FS Vorarbeit deshalb: (…eigentlich klar, aber trotzdem )
• Bewusstsein schärfen: Auch AD FS ist nicht das Allerweltsheilmittel…
• Historische «IT-Sündenfälle» wo möglich bereinigen
• Business Prozesse und IT Infrastruktur in Übereinstimmungbringen
• Auf standard Zugriffsmethoden und Protokolle setzen
Damit’s gesagt ist…
Der Wunsch SSO
Single Sign On !!
https://www.vbsso.com/2015/09/what-is-single-sign-on-sso-what-is-the-difference-between-sso-and-vbsso/
Die Wünsche:
• Zentrale Benutzerverwaltung SSO• Identity and Access Management IAM
Firmen internes SSO mit AD und Kerberos
Was wir schon haben…
Active Directory Domain Services:
Bieten SSO
Klappt schon länger innerhalb einer Firmen Infrastruktur
Warum also nicht «immer» AD DS ?
• Begrenzt auf «Enterprise», d.h. eigene Firma, Konzern etc.
• Zwar erweiterbar mit Forest Trust, damit dann aber sehr enge Koppelung
• Fixes Set an Attributen (AD Schema)
• Begrenzt auf Anwendungen, die mit Windows integratedAuthentication (Keberos / NTLM) funktionieren
SSO (Single Sign On)
Ganz grob lassen sich drei technische Ansätze unterscheiden für SSO
a) Automatisierte Passworteingabe – «Retype Password»:Eine Appliance oder Anwendung speichert analog einem «Passwort Tresor» für verschiedene Systeme Account und Passwort. Bei Zugriff auf ein System wird Username und Passwort automatisiert in die entsprechende Anmeldemaske eingegeben.
b) Synchronisation – «Same Password»:Von einem zentralen System aus werden die Benutzerdaten inklusive Passworthash regelmässig auf alle zugeschalteten Systeme und Anlagen synchronisiert und dort gespeichert. Ein Benutzer kann sich also anschliessend auf allen beteiligten Systemen mit seinen gewohnten Credentials anmelden.
c) «Echtes» Single Sign On – «true SSO»:Die gesamte Benutzeridentifikation inklusive Passworthash werden an einem einzigen zentralen Ort gespeichert. Alle integrierten Systeme müssen «irgendwie» mit dem zentralen Identifikationssystem kommunizieren können und dort um die Authentifizierung des Anwenders nachfragen.
Es gibt verschiedene Varianten und Ansätze:
AD FS
Was ist gefordert:
• Gewünscht ist «echtes SSO» Security, keine Firmeninfos «draussen», insbesondere Passwort Hash
• Unterstützung verschiedener Szenarien: Mitarbeiter-, Partner- und Kundenzugriff auf interne wie auch auf Cloud-Partner Anwendungen
• Flexible und sichere Übertragung von Authentisierungsbestätigung sowie zusätzlichen Informationen
Lösung: Standards-Based Federation…und dabei «stösst» man sofort auf den Begriff «SAML»
• SAML und weitere zugehörige Protokolle bieten offenbar Unterstützung verschiedener aktueller Standards fürdas gewünschte «echte» SSO:Security Assertion Markup Language SAML, OpenID Connect, OAuth 2.0, WS-Fed, WS-Trust etc.(…was immer diese Standards auch repräsentieren)
Microsoft STS (Security Token Service) Produkt für «echtes» SSO
http://www.ldapwiki.com/wiki/Single%20Sign-On%20Scenarios
https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/ad-fs-2016-overview
…macht SAML langsam aber sicher Konkurrenz. Ist ab Windows Server 2016 ADFS 4.0 auch unterstützt
AD FS 4.0 (Windows Server 2016)
Es gibt also einen etablierten Standard, um die genannten «Wünsche» zu erfüllen:
SAML: Security Assertion Markup Language
Wikipedia: Die Security Assertion Markup Language (SAML) ist ein XML-Framework zum Austausch von Authentifizierungs- und Autorisierungsinformationen. Sie stellt Funktionen bereit, um sicherheitsbezogene Informationen zu beschreiben und zu übertragen.
Aha :-) ? !
Deshalb: «volkstümliche Erklärung» zum Verständnis, wie’s läuft !Und: SAML ist nicht die einzige Möglichkeit, hat aber aktuell die grösste Verbreitung und Akzeptanz
SAML / WS-Fed und OpenID Connect / OAuth 2.0
Der Vergleich
Schalter - «Odyssee» auf Ämtern. Ein möglicher Vergleich zum Verständnis von Federation:(Variante Federation passive request)
1: Ich benötige eine Baubewilligung für mein Gartenhaus (…entspricht Zugriff auf App-Server)
2: Schön, aber wir kennen Sie nicht. Gehen Sie zu Schalter 222 und besorgen sie sich dort die Bewilligung zur Gesuchseinreichung.Und bringen Sie gleich noch einen Heimatschein sowie Infos zu ihrem aktuellen Einkommen mit.
(…standard Antwort auf Bauamt gehe zu Schalter 222 !Andere Schalter kennen sie dort nicht )
3: Schalter 222: Wir können diese Bewilligung nicht geben, wir können ihre Identität leider nicht prüfen, das muss ihr Heimatort tun.
Woher kommen sie? Aha, dann gehen sie in ihr Heimatort Winterthur zum Schalter Einwohneramt und lassen sie sich dort zweifelsfrei identifizieren
«Volkstümliche» Erklärung für Funktionsweise FederationWie läuft’s…
Der Vergleich
Schalter - «Odyssee» auf Ämtern. Ein möglicher Vergleich zum Verständnis von Federation:(Variante Federation passive request)
4: Winterthur Schalter Einwohneramt: Wir kennen sie, sie sind in unserer Einwohnerdatenbank. Tiptop, hier der Stempel, dass sie tatsächlich Hr. Brunner sind und sich bei uns prüfen liessen. Dazu noch Heimatschein und Lohninfos, alles fälschungssicher versiegelt, mit Absender versehen und vier Wochen gültig.
5: Schalter 222: Da bin ich wieder, jetzt mit den nötigen Bestätigungen und Infos des Heimatorts.
OK, nun geben sie mir die nötigen Formulare, Belege und Infos für die Gesuchseinreichung auf dem Bauamt
6: Schalter Bauamt: Jetzt ist alles da für die Gesuchseinreichung, vom Heimatort geprüfte Identität sowie Heimatschein und Infos zu Gehalt
Schalter Bauamt: Antrag für Gartenhaus kann eingereicht werden, alles i.O. :-) (d.h. Zugriff auf App-Server klappt)
«Volkstümliche» Erklärung für Funktionsweise Federation
Szenarien
Mitarbeiter-, Partner- und Kundenzugriff auf interne wie auch auf Cloud-Partner Anwendungen:
SSO in Single Organization:
• Authentisierung und Applikation im internen NetzClient intern oder extern
SSO in B2B Szenario:
• Applikation bei Dienstleister, Authentisierung im eigenen NetzClient intern oder extern
SSO to Cloud:
• Applikation in Cloud (SaaS Software as a Service), Authentisierung im eigenen NetzClient intern oder extern
Die hauptsächlichen Szenarien:
Wie läuft’s prinzipiell (Beispiel SSO in B2B)Microsoft
Trey Research A. Datum
Internal
Client
Computer
Resource
Federation
ServerAccount
Federation
Server
Web Server mit Claims
Aware Application
AD DSFederation Trust
7
6
8
5
4
3
2
1 11
9
10...entspricht dem Beispiel mit Schalter-Odyssee
Einwohner DBWinterthur
EinwohneramtWinterthur
Schalter 222für Gesuchsanträge
Bauamt, wo Gesuch eingereicht und Bewilligung erwartet wird
Wie läuft’s prinzipiell (Beispiel SSO in single Organization)Microsoft
External Client
FederationServer(AD FS)
FederationServiceProxy(WAP)
Web Server mit ClaimsAware Application
AD DSDomain
Controller
Perimeter Network Corporate Network
3
2
4
77
6 5
1
8
Service Provider Initiated SSO:1: «Schön, dass du kommst, aber ich kenne dich nicht»2 – 7: «Lass dich bei uns intern authentisieren, dann komme zurück»8: «OK, du hast dich intern authentisiert, das ist OK für mich, jetzt gibt’s Zugriff
...kann auch mit nur einer Organisation so laufen Für eigene - und Partner User dasselbe Verfahren
Client extern…
Account
Federation
Server
On-Premises MicrosoftExchange Online
Internal
Client
Computer
Microsoft Online
Services
Federation
Server
Microsoft
Outlook
Web App
Server
AD DSFederation Trust
7
6
8
4
3
2
1 11
10
9
5
Wie läuft’s prinzipiell (Beispiel SSO to Cloud)Microsoft
Client intern…z.B. mit bereits vorhandener User Anmeldung an AD
Die Beteiligten Parteien
Identity Provider / Ressource Provider / Claims
© Microsoft
• Claims enthalten Infos zu User• Die Infos werden vom Identity Provider STS des Users geliefert und vom
Application Provider (Anwendung) entgegengenommen
(STS)
Welches Szenario auch immer: So sieht’s grundsätzlich aus
Was wird da hin und her geschoben:
• A SAML security token is a serialized set of claimsthat is digitally signed by the issuing authority
• A claim can be anything you define it to be: name, email, phone number, age, privilege level, meal preference, etc.
SAML Token und Claims
https://msdn.microsoft.com/en-us/library/ee895363.aspx#Standardshttp://windowsitpro.com/active-directory/ease-cloud-security-concerns-federated-identity
Die Info vom Heimatort: Brunner ist Brunner, Heimatschein, Kontostand etc. etc. (Token 1 Winterthur - 222 )
Gesuchsantrag, Bauinfo etc. (Token 2 222 – Bauamt )
Anforderungen Anwendung
Claims Aware Application:
Damit federated Identity funktioniert, muss die Anwendung eine sog. Claims Aware Application sein. Gemäss Technet ist eine Claims Aware Application:
• When you build an application that relies on claims, you are building a relying party (RP) application.
• Synonyms for an RP include “claims-aware application” and “claims-based application”.Web applications and Web services can both be RPs.
D.h. mit AD FS bauen wir eine Web SSO Infrastruktur !
Was brauchts: Claims Aware Application !
https://msdn.microsoft.com/en-us/library/ee895363.aspx
Anforderungen Anwendung
Eine Claims Aware Applikation (Relying Party, RP) macht folgendes:
• An RP application consumes the tokens that a Security Token Service (STS) issues and extracts the claims from tokens to use them for identity-related tasks.
Claims Aware Application
AD FS ist die Microsoft Implementation eines Security Token Services (STS)
https://msdn.microsoft.com/en-us/library/ee895363.aspx
…der Satz der Sätze !!!
Federation Trusts
Die «abhängige Seite» (Relying Party) vertraut darauf, dass die Authentisierung auf der «anderenSeite» (Identity Provider) ordentlich abläuft und dort nur «gute» Anwender akzeptiert werden.
• Der Trust auf ADFS Server Richtung “App” wird als Relying Party Trust bezeichnet
• Der Trust auf ADFS Server Richtung “Identity Provider” wird als Claims Provider Trust bezeichnet
• Auf Trusts sind Claims Rules vorhanden, welche die Infos passend umformen und weiter reichen
Die STS müssen voneinander wissen….
htt
p:/
/slid
epla
yer.
com
/slid
e/5
90
95
92
/h
ttp
s://
ww
w.y
ob
yot.
com
/aw
s/co
nn
ect-
two
-ad
-fs-
fed
erat
ion
-ser
vers
/20
15
/02
/11
/
Claims Provider Trust
Relying Party Trust
EinwohneramtWinterthur
Schalter 222
Bauamt
Einwohner DB
Federation Trusts
Federation Trusts:
• Aufbau Federation Trust: Austausch .xml File federationmetatata.xml
• In federationmetadata.xml sind alle Angaben zu Claims, URLs, Zertifikate, Verschlüsselung enthalten, die der zugehörige AD FS Server zur Verfügung stellt
• Direkte Verbindung AD FS Server erleichtert Trust Setup und Wartung, ist aber nicht zwingend erforderlich weder für Setup noch Betrieb. Austausch federationmetadata.xml z.B. per Mail genügt
• Kontrolle ob AD FS inkl. Trust läuft, kann u.a. über Zugriff auf Metadaten erfolgen: https://sts1.contoso.com/federationmetadata/2007-06/federationmetadata.xml
….nicht zwingend direkte Verbindung nötig
https://blogs.technet.microsoft.com/askpfeplat/2015/03/01/adfs-deep-dive-onboarding-applications/https://technet.microsoft.com/en-us/library/gg188612.aspx
federationmetadata.xml
Claims Pipeline
Claims Pipeline:
• Informationen müssen durchgängig vom Identity Provider bis zur Claims Aware Application weitergereicht werden Claims Pipeline pro AD FS Server
• Auf jedem AD FS Server werden die Claims verarbeitetund ggf. umgeformt Claim Rules
• Welche Claims sollen hereinkommen Acceptance Rules
• Welche Claims werden in welcher Form weiter gereicht Issuance Rules
• Gibt’s Bedingungen z.B. Gruppenmitgliedschaft, die zur Weiterreichung gegeben sein muss Authorization Rules
Verarbeitung der Claims auf ADFS Server
https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/technical-reference/the-role-of-the-claims-pipeline
Schalter 222: Erhält Infos von Winterthur, gibt angepasste Infos weiter für Bauamt
Multikulti Welt…
Federated Identity lässt sich mit verschiedenen Protokollen und Produkten umsetzen:
Produkte:
• Microsoft AD FS 4.0 (Windows Server 2016)
• Shibboleth 2 (Open Source, grosse Verbreitung)
• WSO2 Identity Server
• IBM Security Access Manager's identity federation module (Früher IBM Tivoli Federated Identity Manager)
• Ping Identity PingFederate
• Oracle Identity Federation
• CA Federation Manager
Verschiedene STS- und Federated Identity Produkte
https://technet.microsoft.com/en-us/library/adfs2-step-by-step-guides(v=ws.10).aspxhttps://wiki.shibboleth.net/confluence/display/SHIB2/MicrosoftInterophttps://technet.microsoft.com/en-us/library/gg317734(v=ws.10).aspx
SAML ist nicht alleine…
SAML ist «Aufhänger», aber nicht alleine. Zum Verständnis von Federated Identity müssen deshalb die folgenden Begriffe und zugehörige Protokolle verstanden werden:
• Sign-in Protocol
• Authentication Protocol
• Token Type
Dazu gibt’s wieder eine «volkstümliche» Analogie aus dem Alltag:
SSO Protokolle und Token Formate…weitere Details, damit man’s versteht:
Analogie Federation Protokolle
Sign-in Protocol - Wie läuft’s beim Einsteigen:
Ticket ausdrucken Check-In Schalter Boarding Karte Sicherheitskontrolle Einsteigen in Euro Star
Authentication Protocol - Wie wird meine Identität überprüft:
Zeigen ID oder Pass an Check-In Schalter Überprüfen Foto und weitere Persönlichkeitsmerkmale Kontrolle Polizei Datenbank
Token Type - Wie sieht mein Zutrittsschein aus:
Boarding Karte ist mein «Token», um in den Zug zu gelangen.Mit Sicherheitsmerkmalen wird deren Fälschung verhindert
SAML / WS-Federation / OAuth
WS-Fed / SAML / OAuth
Eine erste Variante - WS-Fed Sign-In Protocol:
Forms-based Authentication (Username + Password):
SAML 1.1 Access Token:
Einige Protocol Varianten AD FS - Keine Details !! Nur Übersicht.
htt
ps:
//b
logs
.tec
hn
et.m
icro
soft
.co
m/a
skp
fep
lat/
20
14
/11
/02
/ad
fs-d
eep
-div
e-co
mp
arin
g-w
s-fe
d-s
aml-
and
-oau
th/
WS-Fed / SAML / OAuth
Eine zweite Variante - OAuth Sign-In Protocol:
Forms-based Authentication (Username + Password):
JSON Web Token (JWT):
Einige Protocol Varianten AD FS - Keine Details !! Nur Übersicht.
htt
ps:
//b
logs
.tec
hn
et.m
icro
soft
.co
m/a
skp
fep
lat/
20
14
/11
/02
/ad
fs-d
eep
-div
e-co
mp
arin
g-w
s-fe
d-s
aml-
and
-oau
th/
JSON: JavaScript Object Notation
WS-Fed / SAML / OAuth
Eine dritte Variante - SAML Sign-In Protocol: (SAML ist sowohl Sign-In Protokoll wie Token Format !!)
Kerberos Authentication (….interne AD Domäne !):
Cmd klist tickets
SAML 2.0 Access Token:
Einige Protocol Varianten AD FS - Keine Details !! Nur Übersicht.
htt
ps:
//b
logs
.tec
hn
et.m
icro
soft
.co
m/a
skp
fep
lat/
20
14
/11
/02
/ad
fs-d
eep
-div
e-co
mp
arin
g-w
s-fe
d-s
aml-
and
-oau
th/
Interner Client holt sich Kerberos Ticket von DC für AD FS Server Keine Eingabe Username/Password Windows integratedAuthentication (WIA)
Der Ablauf noch einmal etwas detaillierter
Web SSO in single Organisation mit WIA (Windows integrated Authentication)
htt
p:/
/win
do
wsi
tpro
.co
m/a
ctiv
e-d
irec
tory
/eas
e-cl
ou
d-s
ecu
rity
-co
nce
rns-
fed
erat
ed-i
den
tity
htt
ps:
//b
logs
.tec
hn
et.m
icro
soft
.co
m/a
biz
erh
/20
13
/04
/11
/mo
re-i
nfo
rmat
ion
-ab
ou
t-ss
o-e
xper
ien
ce-w
hen
-au
then
tica
tin
g-vi
a-ad
fs/
htt
ps:
//w
ww
.faq
-o-m
atic
.net
/20
14
/04
/02
/ad
fs-g
run
dla
gen
-un
d-a
rch
itek
tur/
1. Logon UserKerberos TGT (Ticket granting Ticket)
2. Erste Verbindung mit App3. App meldet Anforderungen
App gibt Redirection zu STS4. Client fordert Token von STS5. STS holt Claim Infos aus AD6. STS liefert Token mit Claims7. Client sendet Token zu App
Authentisierung OKClaims mit geforderten Daten
Web Browser (passive Client)
Office 365 / Azure AD Connect / ADFS
Parallele Synchronisation AD Objekte
Kopplung mit O365:• Synchronisation Accounts mit Azure AD Connect «Same Logon»• Optional «echtes» Web SSO mit ADFS ergänzend zu Azure AD Sync
Synchronisation Password Hash zur Cloud kann damit ausgeschaltet werden
https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-ports
Besondere Anforderungen O365 Federation
Die O365 Integration stellt neben ADFS für Single Sign on noch weitere Rahmenbedingungen:
• AD UPN Suffix = Email Domäne setzen (Empfehlung), damit sich Benutzer mit <Benutzer-ID>.<UPN Suffix in Office 365 (Cloud) anmelden können. Login Name damit gleich wie Email Adresse.
• Mit «IDFix» Tool unzulässige Werte im lokalen AD finden und korrigieren, weil Office 365 entsprechende Anforderungen an die «Reinheit» des lokalen ADs erfordert
• Lokale Domäne z.B. firma.ch in O365 aufnehmen. DNS TXT Records zur Überprüfung durch Microsoft entsprechend setzen.
• ADFS und das «Azure AD Connect Tool» auf lokalem Server installieren und passend konfigurieren
• Browser (IE, Firefox etc.) für Windows integrated Authentication (WIA) konfigurieren
IdFix Tool
Zu Beginn eines Federation Projekts…
Zu Beginn eines Federation Projekts sind folglich folgende Fragen zu stellen:
1. Unterstützt die (Cloud-) Applikation Claims Aware Authentication ?
Wenn ja, dann:
2. Wer soll welche Clients von wo nutzen können?Domain Member intern – extern, Workgroup PCs, Tablets, SmartPhonesNutzung per Web-Browser oder mit Federation fähigen Client Applikationen
3. Welche Sign-In Protokolle, Authentisierungs Protokolle und Token Typen sind von Applikation bzw. Clients verlangt.WS-Fed, SAML, OAuth….
Was zu fragen ist
…welches Check-In Verfahren…welche ID überprüfung…wie sieht Boarding Card aus
Elemente AD FS Infrastruktur
Eine AD FS Infrastruktur besteht aus folgenden Komponenten:
• Absprache über Sign-In Protokoll, Authentication Vorgang sowie Token Format, Trusts und Claims
• AD FS Federation Server (STS) – einzeln oder in Farm
• WAP Web Application Proxy, enthaltend AD FS Proxy – einzeln oder in Cluster
• DNS Konfiguration intern & extern für Zugriff ADFS Server bzw. WAP
• Claims und Claim Rules
• Claims Provider und Claims Provider Trusts
• Relying Parties und Relying Party Trusts
• Certificates
• Claims Aware Applications
• Attribute Stores (Default ist AD auf Seite IdP, zusätzliche Stores wie SQL DBs oder LDAP Verzeichnisse sind möglich)
AD FS Server, WAP etc.
https://www.slideshare.net/MdAbdulNabiMdAbdulna/34-implementing-active-dictionary-federation-servicesad-fs-ppt
AD FS Server
Minimale Infrastruktur für Federation mit Claims Aware Application bei Cloud Provider:
Infrastruktur AD FS minimal für B2B Szenario
http://www.mistercloudtech.com/2015/11/25/how-to-install-and-configure-web-application-proxy-for-adfs/
DNS
Claims Aware
Application
Cloud Provider
Einzelner internerAD FS Server
Einzelner WAPServer
Externer und interner DNS Server mit adfs.firma.ch ö.ä. auf beiden Servern
DC
Federation Trust
SSL Zert:adfs.firma.ch
Zugriff per Reverse
Proxy auf AD FS
und App
Zugriff per
Reverse Proxy
auf AD FS
AD FS Farm
Wenn AD FS Server und AD FS Proxy als virtuelle Server auf hochverfügbarer Virtualisierungsplattforminstalliert sind:
• Dann genügen in der Regel ein einzelner interner AD FS Server sowie ein WAP Server in der DMZ
Falls höhere Lasten zu erwarten sind oder zusätzliche Redundanz gefordert ist:
• Intern AD FS Farm aufbauen
• In DMZ WAP Server Cluster aufbauen
• Sowohl bei AD FS Farm wie WAP Cluster per NLB oder anderemLoad Balancer die Last verteilen und Failover sicher stellen
Redundanz….
AD FS Farm
Grundsätzlich drei Varianten Load Balancing• DNS Round Robin• NLB• Hardware Load Balancer
http://www.msexchange.org/kbase/ExchangeServerTips/ExchangeServer2010/HighAvailability/LoadBalancingandActiveDirectoryFederationServices.html
AD FS Server Farm
• Zwei (…bis max. 30) AD FS Server mit WID (Windows Internal Database)
• Maximal 100 Relying Party Trusts mit WID
• Replikation der AD FS Datenbank durch AD FS selber
• Lastverteilung per NLB (…oder anderem Load Balancer)
• Bei noch grösseren AD FS Farmen oder speziellen SAML Anforderungen (token replay detection or artifact resolution), dann zwingend SQL Server anstelle von WID.
NLB & WID
https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/design/federation-server-farm-using-wid
AD FS WAP Farm (Web Application Proxy)
• Zwei WAP in DMZ
• Load Balancing per NLB oder anderen Load Balancer
• Cluster Name gleich wie interne AD FS Farm (…hier fs.fabrikam.com)
NLB & WAP
https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/design/federation-server-farm-using-wid-and-proxies
AD FS Capacity Planning Worksheet
…wie viele AD FS - und WAP Server braucht’s:
…bis ca. 50’000 User genügen ein AD FS Server sowie ein WAP, wenn keine Redundanz - Anforderungen vorhanden sind.
…ämel gemäss Microsoft Sheet
Worksheet: https://adfsdocs.blob.core.windows.net/adfs/ADFSCapacity2016.xlsxhttps://docs.microsoft.com/en-us/windows-server/identity/ad-fs/design/planning-for-federation-server-capacity#bk_estimatefs
Einbinden Applikation
Einbinden einer Claims Aware Application mit einem STS kann «tricky» sein !
Es gibt verschiedene Varianten, wie das erfolgen kann. Grössere Vielfalt an Claim- und Konfigurationsmöglichkeiten
Zwingend muss deshalb App Entwickler dabei sein, um korrekte Parametrisierung zu ermöglichen.
Liste von Infos AD FS Admin App Entwickler
Liste von Infos App Entwickler AD FS Admin
Claims Aware Application Relying Party Trust
https://blogs.technet.microsoft.com/askpfeplat/2015/03/01/adfs-deep-dive-onboarding-applications/
Relying PartyTrust
z.B. AD FS Server
Einbinden von Claims Aware Application
Relying Party Trust für App erstellen Die wichtigsten Angaben
App Entwickler ADFS Admin
• Does the application support RP-Initiated Sign-on?RP Relying Party
• The application metadata if they have one. (Optional) • Is the application SAML or WS-Fed? • Identifier of the application. This can be a URL or URI.
• A SAML request signing certificate if there is one. (Optional) • What claims, claim types, and claims format should be sent. (Optional, aber wichtig und die Regel !) • The URL/endpoint that the token should be submitted back to.
• The supported secure hash algorithm, SHA-1 or SHA-256
Einbinden von Claims Aware Application
Relying Party Trust für App erstellen Die wichtigsten Angaben
ADFS Admin App Entwickler
• The ADFS metadata if they can use it:https://<sts.domain.com>/federationmetadata/2007-06/federationmetadata.xml
• The ADFS Logon URL, typicallyhttps://<sts.domain.com>/adfs/ls/
• Your ADFS identifier, typicallyhttp://<sts.domain.com>/adfs/services/trust
• The public portion of your token signing certificate.• Any authentication types you want them include in the request for the application. (Optional)
• The ADFS URL for logout:WS-Fed: https://<sts.domain.com>/adfs/ls/?wa=wsignout1.0
SAML: https://<sts.domain.com>/adfs/ls/ with the properly formatted SAML Logout (SLO) request.
https://blogs.technet.microsoft.com/askpfeplat/2015/03/01/adfs-deep-dive-onboarding-applications/
Aufbau Federation Trust (AD FS Wizard) IdP AppP
Austausch Metadaten federationmetadata.xml
https://blogs.msdn.microsoft.com/alextch/2011/06/27/establishing-federation-trust/
…aus Sicht Identity Provider (IdP) ist der Application Provider eine RelyingParty Relying Party Trust
…auf Medadaten der Relying Party(der andere ADFS Server)
…oder per Mail .xml zustellen lassen)
Aufbau Federation Trust (AD FS Wizard) AppP IdP
Austausch Metadaten federationmetadata.xml
https://blogs.msdn.microsoft.com/alextch/2011/06/27/establishing-federation-trust/
…aus Sicht Application Provider (AP) ist der Identity Provider der Claims Lieferant Claims Provider Trust
…auf Medadaten des Claim Providers(der andere ADFS Server)
…oder per Mail .xml zustellen lassen)
Claim Rules Dialog
Am Schluss des Federation Trust Wizards:
Edit Claim Rules
https://blogs.msdn.microsoft.com/alextch/2011/06/27/establishing-federation-trust/
Nach dem Austausch der Metadaten müssen auf allen ADFS Servern die Claim Transformation Rules erstellt werden, so dass die Claims über alle Stufen «fliessen» können Claims Pipeline
Claims: In Trust Eigenschaften Pipeline konfigurieren
Pipeline aufbauen Claim Rules «bauen»
https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/adfs
Claim Rule Name
Attribut StoreWoher kommen Claims
Claim Mapping:Welches Claim wird in welcher Form und mit welchem Namen weiter gereicht
Outgoing Claim
Claims werden in AD FS
Server hereingenommen,
ggf. umgeformt und
passend weiter gegeben
Claims Rules
Claims Rules per GUI Claims Rule Language
http://windowsitpro.com/active-directory/claims-rule-language-active-directory-federation-services
c… Condition
Was ist zu tun, wenn die Conditionzutrifft
Aus den per GUI zusammengestellten Claims Regel gibt’s einen Befehl in «Claims Rule Language»Claims Rules lassen sich auch direkt in dieser Sprache erstellen
Federation Trusts
ADFS benötigt folgende Zertifikate:
Server Authentication Certificates (SSL)
• Ausgestellt auf die URL des ADFS Servers bzw des ADFS Proxy Servers
• Beispielsweise adfs.adatum.com
• Public oder aus eigener PKI Infrastruktur mit CRL Publikation etc. (Sperrliste)
• Dasselbe Zertifikat lässt sich auf ADFS Server (intern) wie auch WAP (extern) nutzen gemäss Best Practice Microsoft
Zertifikate
https://technet.microsoft.com/en-us/library/cc730660(v=ws.11).aspxhttps://mizitechinfo.wordpress.com/2015/01/08/simple-step-install-configure-adfs-in-windows-server-2012-r2/
Token Signing Certificate• Self Signed Certificate von ADFS Server lässt sich verwenden (Best Practice MS)
• Application Provider kann Signatur überprüfen, weil Token Signing Certificat bei Aufbau des Federation Trusts ( .xml) ausgetauscht wurde
Demo 1
Testumgebung Microsoft Schulung zu AD FS…und es gäbe sogar eine reale Adatum Firma:
Demo 2
Ypsomed ADFS zu SaaS Hype
Ihr Federation Projekt
Grundsätzlich:
SmartIT Services AG unterstützt Sie gerne in Ihren Federated Identity Projekten
Zwei unterschiedliche Ausgangslagen:
a) Standard Situationen mit «vorhandener Erfahrung»
• Standard Situation O365 Federation mit ADFS und Azure AD Connect: Mehrere erfolgreiche Projekte
• Erfahrung in der Einbindung von SaaS Applikationen anderer Cloud Provider ( z.B. Hype Innovation Management) vorhandenDabei Support SaaS Provider z.B. für anzuliefernde Claims, Endpoints, Zertifikate, Protokolle sowie Troubleshooting erforderlich
b) Spezielle Anforderungen mit «Engineering Bedarf»:
• Eigene interne Claims Aware Application, welche als Relying Party in internes AD FS aufgenommen werden muss.Dabei Support Entwickler für Claims, Trust, Endpoint, URLs, Metadaten, Protokolle sowie Troubleshooting erforderlich.Allenfalls Beizug von Microsoft Professional Services für Konzept und/oder Umsetzung
• Komplette Projekte im Bereich IAM (Identity and Access Management) zusammen mit Partner-Firmen und unter «Mithilfe» von AD FS
Unterstützung durch SmartIT