Table of Contents
Seit geraumer Zeit (Anfang 2017) ist es nun mĂśglich SSO Szenarien mit Azure auch ohne ADFS Infrastruktur zu lĂśsen. Dennoch setzt es sich erst die letzte Zeit durch, das Unternehmen nicht mehr auf ADFS pochen. Nun darf man endlich auch die alternativen LĂśsungen von Microsoft aufzeigen.
Die mĂśglichen Szenarien fĂźr Seamless SSO sind:
- Pass-through authentication (PTA)
- Password Hash Sync (PHS)
Pass-through authentication (PTA)
Nachteile
- Keine automatische Erkennung von gestohlenen Zugangsdaten
- Azure AD DS benĂśtigt aktiviertes Password Hash Sync Feature im Tenant um zu funktionieren (Nachteil bei reinen PTA ohne PHS)
- Ist nicht Bestandteil der Azure AD Connect Health
Password Hash Sync (PHS)
„Nachteil„
- Passwort wird in die Cloud synchronisiert (Als Hash Wert)
Seamless Single Sign-On
Seamless Single Sign-On meldet Benutzer automatisch auf bestimmte Webseiten (z.B. myapps.microsoft.com) und Nativen Applikationen (z.B. Office365 Outlook) an, wenn man sich mit seinem Unternehmensgerät im Unternehmensnetzwerk (Lokal,VPN oder Direct Access) befindet.
Die Benutzer mĂźssen zur Anmeldung bei Azure AD nicht ihr Kennwort und in der Regel nicht einmal ihren Benutzernamen (bei Domain Hint Adressen) eingeben.
Wichtig hierbei ist das es einen einfachen Zugriff ermÜglicht, ohne dass zusätzliche lokale Komponenten, wie bei ADFS, erforderlich sind.
Vorteile
- Benutzer mßssen nicht ständig ihr Kennwort eingeben
- Keine zusätzlichen lokalen Komponenten erforderlich
- Kann mithilfe einer Gruppenrichtlinie fĂźr einige oder alle Benutzer eingefĂźhrt werden
- Keine weiteren Lizenzkosten
- Ist einfach aktivierbar per AD Connect
- Benutzername kann der lokale Standard-Benutzername (UPN) oder ein anderes LDAP Attribut sein, das in Azure AD Connect konfiguriert ist
- Tritt aus irgendeinem Grund ein Fehler auf, wird die reguläre Benutzeranmeldung durchgefßhrt, d.h. Benutzer mßssen ihr Kennwort auf der Anmeldeseite eingeben
- Leitet eine Anwendung die Parameter domain_hint oder den Parameter login_hint in der Azure AD-Anmeldeanforderung weiter, werden Benutzer automatisch ohne Eingabe von Benutzername oder Kennwort angemeldet
Ablauf einer Authentifizierung mit einer Web Anwendung
- Der Benutzer versucht, ßber einen Domänen Computer im Firmennetzwerk (Lokal, VPN oder Direct Access), auf eine Webanwendung zuzugreifen (z.B. https://myapps.microsoft.com/)
- Wenn der Benutzer nicht bereits angemeldet ist, wird der Benutzer zur Azure AD-Anmeldeseite umgeleitet
- Der Benutzer gibt auf der Azure AD-Anmeldeseite seinen Benutzernamen ein
- Wenn JavaScript im Hintergrund verwendet wird, fordert Azure AD den Browser Ăźber eine 401 â Nicht autorisiert -Antwort auf, ein Kerberos-Ticket bereitzustellen
- Der Browser fordert wiederum ein Ticket von Active Directory fĂźr das AZUREADSSOACC-Computerkonto an (das Azure AD bei der Aktivierung von Seamless SSO in der lokalen AD erstellt)
- Active Directory sucht das Computerkonto und gibt ein Kerberos-Ticket an den Browser zurĂźck, das mit dem Azure AD Decryption Key des Computerkontos verschlĂźsselt ist
- Der Browser leitet das von Active Directory abgerufene Kerberos-Ticket an Azure AD weiter
- Azure AD entschlßsselt das Kerberos-Ticket, das die Identität des angemeldeten Benutzers enthält, mithilfe des ausgetauschten Decryption Key des AZUREADSSOACC-Computerkontos
- Nach der Auswertung gibt Azure AD entweder ein Token an die Anwendung zurßck oder fordert den Benutzer auf, zusätzliche Nachweise z.B. per Multi-Factor Authentication bereitzustellen
- Wenn die Anmeldung erfolgreich ist, kann der Benutzer auf die Anwendung zugreifen
Hinweis: Wenn unter Punkt 1 eine Adresse genutzt wird, die eine domain_hint oder login_hint Parameterfunktion beinhaltet. Werden die Punkte 2 & 3 Ăźbersprungen.
Beispiel Adressen fĂźr domain_hint & login_hint
Microsoft Access Panel
https://myapps.microsoft.com/<Azure AD Domain> | https://myapps.microsoft.com/deyda.net |
Web Outlook
https://outlook.office365.com/<Azure AD Domain> | https://outlook.office365.com/deyda.net |
Office365 Portal
https://portal.office.com?domain_hint=<Azure AD Domain> | https://www.office.com?domain_hint=deyda.net |
https://www.office.com?domain_hint=<Azure AD Domain> | https://portal.office.com?domain_hint=deyda.net |
Azure Portal
https://portal.azure.com/<Azure AD Domain> | https://portal.azure.com/deyda.net |
Ablauf einer Authentifizierung mit einer nativen App
- Der Benutzer startet, ßber einen Domänen Computer im Firmennetzwerk (Lokal, VPN oder Direct Access), eine native Anwendung (z.B. Office365 Word Client)
- Wenn der Benutzer noch nicht angemeldet ist, ruft Word den Benutzernamen des Benutzers aus der Windows-Sitzung des Geräts ab
- Die App sendet den Benutzernamen an Azure AD und erhält den WS-Trust-MEX-Endpunkt des Tenants zurßck
- Word fragt den WS-Trust-MEX-Endpunkt ab, um festzustellen, ob der integrierte Authentifizierungsendpunkt (IWA) verfĂźgbar ist
- Wenn Schritt 4 erfolgreich ist, wird eine Kerberos-Aufforderung an die lokale Active Directory ausgefĂźhrt
- Das erhaltene Kerberos-Ticket, wird zum IWA von Azure AD weitergeleitet
- Azure AD entschlĂźsselt und ĂźberprĂźft das Kerberos-Ticket
- Azure AD meldet den Benutzer an und gibt ein SAML-Token fĂźr die App aus
- Word Ăźbermittelt das SAML-Token dann an den OAuth2-Tokenendpunkt von Azure AD
- Azure AD ĂźberprĂźft das SAML-Token und gibt ein Zugriffstoken an die App, sowie ein Aktualisierungstoken & ein ID-Token fĂźr die angegebene Ressource aus
- Der Benutzer erhält Zugriff auf die Ressource der App
Aktivierung Seamless SSO – AD Connect
Ich zeige nun auf wie man Pass-through authentication und Password Hash Synchronization aktiviert. Es wird nur ein Feature benĂśtigt, damit man Seamless SSO nutzen kann.
Voraussetzungen
- Installiertes und Konfiguriertes AD Connect Version > 1.1.644.0
- Firewallfreigabe fĂźr die *.msappproxy.net auf Port 443
- Domänen Administrator Zugangsdaten der Domänen, die via AD Connect mit Azure AD verbunden werden sollen
- Office Version > 16.0.8730
- Benutzer mßssen auf einem Computer arbeiten der Domänenmitglied ist
- Computer muss eine Verbindung zur Domäne haben (Lokal, VPN oder Direct Access)
- Internet Explorer darf nicht im Enhanced Protected Mode sein
Aktivierung von Pass-through authentication
Um Pass-through authentication zu aktivieren verbindet euch mit dem AD Mitglied auf dem AD Connect installiert ist.
- Startet Azure AD Connect
- Klickt im Welcome Screen auf Configure
- Klickt nun auf Change user sign-in und bestätigt dies mit Next
- Gebt die Zugangsdaten des Global Administrator ein und bestätigt die Eingabe mit Next
- Eventuell kommt noch eine weitere Login Maske wegen einer MFA Abfrage
- Pass-through authentication auswählen und danach Enable single sign-on aktivieren. Bestätigt dies mit Next
- Unter Single single-on klickt auf Enter credentials
- Gebt im folgenden Fenster die Zugangsdaten eines lokalen Domänen Administrator ein und klickt auf OK
- Klickt auf Configure, damit die beschriebenen Aktionen durchgefĂźhrt werden
- Bestätigt die Erfolgreiche Abarbeitung im Configuration complete Fenster mit Exit
Aktivierung von Password Hash Synchronization
Um Password Hash Synchronization zu aktivieren verbindet euch mit dem AD Mitglied auf dem AD Connect installiert ist.
- Startet Azure AD Connect
- Klickt im Welcome Screen auf Configure
- Klickt nun auf Change user sign-in und bestätigt dies mit Next
- Gebt die Zugangsdaten des Global Administrator ein und bestätigt die Eingabe mit Next
- Eventuell kommt noch eine weitere Login Maske wegen MFA abfrage
- Password Hash Synchronization auswählen und danach Enable single sign-on aktivieren. Bestätigt dies mit Next
- Unter Single single-on klickt auf Enter credentials
- Gebt im folgenden Fenster die Zugangsdaten eines lokalen Domänen Administrator ein und klickt auf OK
- Klickt auf Configure, damit die beschriebenen Aktionen durchgefĂźhrt werden
- Bestätigt die Erfolgreiche Abarbeitung im Configuration complete Fenster mit Exit
Lokale Active Directory
In der lokalen Active Directory findet man nun ein neues Computer Objekt mit dem Namen AZUREADSSOACC. Dieses Objekt sollte vor LĂśschung geschĂźtzt werden.
Azure Portal
Im Azure Portal sind die aktivierten Seamless SSO Methoden ebenfalls zu sehen.
- Klickt im Azure Portal auf Azure Active Directory > Azure AD Connect
- Klickt nun auf das Ăźber Azure AD Connect eingerichtete Verfahren
Unter Seamless single sign-on sieht man die ßber Password Hash Synchronization eingerichteten Domänen.
Bei Pass-through authentication wird ein Warndreieck angezeigt, da der Agent nur auf einem Server hinterlegt ist.
Dieser sollte laut Microsoft auf 3 interne Server verteilt werden.
Group Policy Object
Damit nun Seamless SSO auch auf den Endgeräten funktioniert, mßssen noch einige Einstellungen ßber GPOs verteilt werden.
- Verbindet euch mit einem Computer auf dem die Group Policy Management Konsole installiert ist
- FĂźgt nun die folgenden Einstellungen zu einer bestehenden oder einer neuen GPO hinzu
- Geht in der GPO zum Pfad User / Computer Configuration > Adminstrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page und editiert den Site to Zone Assignment List Eintrag mit folgenden Werte
Value Name | Value |
---|---|
login.microsoftonline.com | 3 |
aadg.windows.net.nsatc.net | 1 |
autologon.microsoftazuread-sso.com | 1 |
secure.aadcdn.microsoftonline-p.com | 1 |
device.login.microsoftonline.com | 1 |
Hinweis: Wenn Seamless SSO fĂźr einzelne Gruppen oder Benutzer deaktiviert werden soll muss die GPO auf den Wert 4 gedreht werden fĂźr diese Personen.
- Geht dann zum Pfad User / Computer Configuration > Adminstrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page > Intranet Zone und setzt den Allow updates to status bar via script Eintrag auf Enabled
Austausch des Kerberos Decryption Key
Microsoft empfiehlt, den Kerberos Decyption Key mindestens alle 30 Tage neu auszurollen. Dies reduziert das Risiko, dass der Kerberos Decryption Key ausspioniert wird. Microsoft arbeitet an der EinfĂźhrung einer automatisierten Funktion, die diese Aufgabe durchfĂźhrt.
Um den Kerberos Decryption Key des AZUREADSSOACC-Computerkontos neu auszurollen, mßssen Sie zunächst das Azure AD PowerShell-Modul aus der PowerShell Gallery herunterladen.
Starten Sie PowerShell als Administrator auf dem Computer auf dem AD Connect installiert ist und fĂźhrt den folgenden Befehl aus:
1 |
Install-Module MSOnline |
Navigiert in den Pfad C:\Program Files\Microsoft Azure Active Directory Connect und importiert das Modul AzureADSSO.psd1
FĂźhrt den Befehl New-AzureADSSOAuthenticationContext aus
Gebt im folgenden Fenster die Zugangsdaten eines Azure Administrators ein.
Fßhre danach Get-AzureADSSOStatus aus. Hiermit wird geprßft, welche Domänen im Tenant fßr Seamless SSO hinterlegt und aktiviert sind.
Fßhrt danach den Befehl $passwd = Get-Credential aus und gebt im folgenden Fenster die Zugangsdaten eines lokalen Domänen Administrator ein.
FĂźhrt als letztes den folgenden Befehl aus, um das Update des Decryption Key des AZUREADSSOACC Computer Kontos abzuschliessen.
1 |
Update-AzureADSSOForest -OnPremCredentials $passwd |
Dies muss fßr alle Domänen durchgefßhrt werden, die fßr Seamless SSO konfiguriert worden sind.
Ergebnis
Nachdem ein gpupdate /force auf den Endgeräten durchgefßhrt wurde, kÜnnen wir mit dem Testen beginnen.
Szenario 1 – Firmennetzwerk mit Firmen Adresse
Szenario ist ein Computer (Domänenmitglied) im Firmennetzwerk der die folgende Seite ßber Internet Explorer Üffnet:
https://myapps.microsoft.com/deyda.net
Man wird direkt, ohne Eingabe vom Benutzernamen oder Passwort, per Seamless SSO eingeloggt und kann seine Ressourcen (z.B. Citrix FAS) direkt nutzen.
Szenario 2 – Firmennetzwerk mit Allgemeiner Adresse
Szenario ist ein Computer (Domänenmitglied) im Firmennetzwerk der die folgende Seite ßber Internet Explorer Üffnet:
https://myapps.microsoft.com/
Man wird aufgefordert einen Benutzernamen einzugeben.
Danach wird man, ohne Eingabe des Passworts, per Seamless SSO eingeloggt und kann seine Ressourcen (z.B. Citrix FAS) direkt nutzen.
Szenario 3 – Ausserhalb Firmennetzwerk mit Firmen Adresse
Szenario ist ein Computer (Domänenmitglied) ausserhalb des Firmennetzwerk der die folgende Seite ßber Internet Explorer Üffnet:
https://myapps.microsoft.com/deyda.net
Man wird aufgefordert einen Benutzernamen einzugeben.
Danach wird man aufgefordert ein Passwort einzugeben.
Daraufhin wird man an die hinterlegten Ressourcen weitergeleitet.