SmartIT ADFS Zmorge 27.06€¦ · …und dabei «stösst» man sofort auf den Begriff «SAML» •...

Preview:

Citation preview

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

Recommended