ADFS 2012 R2
Mit der Installation des WAP - Web Application Proxy ist es unumgänglich auch einen ADFS 2012 R2 zu installieren. Diese Seite beschreibt etwas die Zusammenhänge und Konfiguration.
Windows ADFS - Videos
https://www.youtube.com/User/windowsadfs/videos
ADFSHelp - Resolve authentication issues faster
https://adfshelp.microsoft.com/
https://adfshelp.microsoft.com/JwtDecoder/GetToken
Sehr nützliche Seite von Microsoft, um Probleme mit ADFS und
Tokens zu analysieren
Installation
Wie bei Windows 2012R2 können eingebaute Funktionen über den Wizard installiert werden.
Damit sind die Bits schon am dem Server. Das heißt aber nicht, dass Sie schon aktuell sind.
Nutzen Sie auf jeden Fall Windows Update, um ausstehende Updates zu erhalten. Oft hat ein interner WSUS-Server vielleicht nicht alle Updates.
- 2964735 Authentication failures and event 422 when AD FS STS servers and AD FS proxy servers are in Windows Server 2012 R2
- 2976918 You are prompted to re-enter credentials frequently when using Work Folders by using ADFS authentication in Windows 8.1
- 2971171 ADFS authentication issue für Active Directory Users when extranet lockout is enabled
- 2975719 August 2014 Update rollup für Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
- 2962409 Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 Update Rollup: June 2014
ADFS auf Domain Controller?
Gerade bei kleineren Firmen ist jeder Server mehr ein Kostentreiber, insbesondere wenn man wenige Server hat. Da liegt die Frage in der Luft, ob nicht auch der Domain Controller die ADFS-Rolle betreiben kann. Lange Zeit war dies nicht ratsam, da ADFS den IIS als unterbau benötigt hat und man zur Verwaltung damit auf dem DC auch Administrator sein musste.
Because ADFS requires the
installation of Internet Information Services
(IIS), we strongly recommend that you not
install any ADFS components on a domain
controller in a production environment."
Quelle:
http://technet.microsoft.com/en-us/library/cc778681(WS.10).aspx
Allerdings ist diese Voraussetzung bei Windows 2012R2 nicht mehr gegeben. Die ADFS-Funktion nutzt nicht mehr den IIS sondern bedient sich direkt dem HTTP.SYS-Service
AD FS is no longer dependent
on IIS. This offers enhanced performance and
redUCEs the foot print of services, especially
when AD FS is installed on Active Directory
domain controllers
Quelle:
https://technet.microsoft.com/en-us/library/hh831502.aspx
Ich würde davon zwar keine Empfehlung ableiten, ADFS nun generell auf DCs zu installieren, wie dies auf einigen Blogs schon genannt wird, aber es ist nun einfacher möglich. Und gerade bei kleinen Firmen mit wenigen Servern eine Funktion, die ein DC durchaus mit ausführen kann. In übertragener Hinsicht ist ADFS ja auch nur eine Art "Webtauglicher Ticketserver" vergleichbar zum KDC, der auch Tickets an authentifizierte Benutzer ausstellt.
- Windows 2012 R2 Preview:
Active Directory Federation
Services Installation
Screenshots
http://setspn.blogspot.de/2013/06/windows-2012-r2-preview-active.html
Konfiguration per Assistent
ADFS ist so aber noch nicht "fertig". Über den Assistenten sind noch ein paar Basiseinstellungen erforderlich.
- Neue Farm
-
SSL-Zertifikat
Der ADFS-Server muss per HTTPS erreichbar werden auswählen. Dazu wird ein Zertifikat angefordert bzw. importiert.
Beachten Sie dabei folgendes:- Kein CNG-Zertifikat. Das wird von ADFS 2012R2 nicht unterstützt
- Zusätzliche SAN-Namen
Sind ggfls. für Enterprise Join" weitere Namen (je UPN-Domain) erforderlich.
- Dienstkonto
vorgeben
Der ADFS-Server benötigt ein Dienstkonto, welches durch den Assistenten auch angelegt werden kann. -
SQL-Datenbank
Bei einer Farm muss es ein SQL-Server sein, beim Single Server reicht auch die lokale Windows Internal Database (WID). - Installation
startet
Es dauert ein paar Minuten, bis die ADFS-Rolle durch den Assistenten installiert und konfiguriert wurde
Nach der Installation können Sie die MMC für "AD FS Management" starten und z.B. die Zertifikate kontrollieren. Ein Großteil der weiteren Konfiguration ist aber abhängig vom den Einsatzzweck von ADFS. Hier verweise ich auf die entsprechenden Produkte. Beim Einsatz mit WAP - Web Application Proxy wird automatisch ein ADFS-Proxy auf WAP-Server mit installiert und entsprechend eingerichtet
- Configure SAML-based claims
authentication with AD FS in
SharePoint 2013
http://technet.microsoft.com/en-us/library/hh305235(v=office.15).aspx - How to configure AD FS v 2.0
in SharePoint Server 2010
http://technet.microsoft.com/en-us/library/hh305235(v=office.14).aspx - Using AD FS claims-based
authentication with Outlook Web
App and EAC
http://technet.microsoft.com/en-us/library/dn635116(v=exchg.150).aspx - Setting up Windows
Application Proxy für Exchange
2013
http://blogs.technet.com/b/jrosen/archive/2013/12/28/setting-up-windows-application-proxy-for-exchange-2013.aspx - Configuring SAML
Authentication on NetScaler
Gateway
http://support.citrix.com/proddocs/topic/netscaler-gateway-101/ng-authen-saml-con.html - Configuring ADFS 2.0 to
Communicate with SAML 2.0
http://wiki.servicenow.com/index.php?title=Configuring_ADFS_2.0_to_Communicate_with_SAML_2.0 - Configure ShareFile Single
Sign-On with ADFS 2.0
http://support.citrixonline.com/en_US/sharefile/help_files/SF090006?title=Configure+ShareFile+Single+Sign-On+with+ADFS+2.0%7D - ADFS Configuration Wizard
Fails with Error “The
certificates with the CNG
private key are not supported”
http://blogs.technet.com/b/mspfe/archive/2013/11/29/adfs-configuration-wizard-fails-with-error-the-certificates-with-the-cng-private-key-are-not-supported.aspx
Authentication
Per Default fordert der ADFS-Service den Anwender zur Eingabe von Benutzerdaten in einem Formular an. Das ist aus dem Internet natürlich zweckmäßig, da hier der Client eher keine Verbindung zum Kerberos Server der Domäne hat und NTLM nicht über alle Proxyserver übertragen wird. Intern hingegen könnte man den Anwendern die Anmeldung durchaus vereinfachen, wenn ADFS hier keine gesonderte Anmeldemaske zum Ausfüllen anzeigt. Das kann recht einfach in der GUI von ADFS konfiguriert werden:
Natürlich gibt es auch hierfür einen PowerShell.
Get-AdfsGlobalAuthenticationPolicy AdditionalAuthenticationProvider : {} DeviceAuthenticationEnabled : False primäryIntranetAuthenticationProvider : {FormsAuthentication, WindowsAuthentication} primäryExtranetAuthenticationProvider : {FormsAuthentication} WindowsIntegratedFallbackEnabled : True Set-AdfsGlobalAuthenticationPolicy ` -PrimaryExtranetAuthenticationProvider {FormsAuthentication} ` -PrimaryIntranetAuthenticationProvider {FormsAuthentication}
Beachten Sie aber, dass die Wahl der Authentifizierung auch unterschiedliche Effekte bewirken kann. Nicht alle Clients unterstützen jede Authentifizierung und wenn sie intern, z.B.: statt der "Windows Integrierte Authentifizierung" nur auf Formbased setzen, dann ist es mit dem schönen "Single Sign on" auch vorbei. Die Anwender müssen dann ihre Anmeldedaten manuell im Formular eingeben
- AD FS 2.0 Rollup 1: Client
Access Policy Support for O365
https://blog.auth360.net/2011/10/31/ad-fs-2-0-rollup-1-client-access-policy-support-for-o365/ - MSIS7102: Requested
Authentication Method is not
supported on the STS
http://www.schaeflein.net/Lists/Posts/Post.aspx?ID=37
Troubleshooting
ADFS 2012R2 nutzt nicht mehr den IIS, sondern basiert einfach auf HTTP.SYS. Damit entfallen natürlich schon einmal die üblichen Optionen im IISlog oder mit IIS Failed Request Tracing. Aber Windows 2012R2 ADFS protokolliert mittlerweile viel mehr Fehler im Eventlog. Diese Funktion ist per Default eingeschaltet aber kann über die Eigenschaften des Service per GUI konfiguriert werden:
Alternativ können Sie dies auch per PowerShell setzen, wobei die Option" Verbose" nicht über die GUI erreichbar ist.
Set-AdfsProperties ` -LogLevel Errors,FailureAudits,Information,Verbose,None,SuccessAudits,Warnings
Die Meldungen laufen dann im "Application and Services Log" auf. Hier ein Beispiel:
Wenn Sie also auf der ADFS-Seite eine Fehlermeldung mit einer "Activity ID" finden, dann suchen Sie diese einfach im Eventlog.
Wenn auch das noch keine Antworten liefert, können Sie ein erweitertes Logging im Eventlog aktivieren. Dazu muss zuerst im Eventviewer die Option aktiviert werden. Danach erscheint im Baum auch noch ein ADFS Tracing, das hier dann auch angeschaltet werden kann.
Das gleiche ist wohl auch per Kommandozeile möglich:
WEVTUTIL sl "AD FS Tracing/Debug" /l:5
- Using Wevtutil to capture
and view the ADFS Debug log
http://blogs.technet.com/b/instan/archive/2011/12/15/using-wevtutil-to-capture-and-view-the-adfs-debug-log.aspx - (2014-02-05) Enabling Debug
Tracing In ADFS v2.1 and v3.0
https://jorgequestforknowledge.wordpress.com/2014/02/05/enabling-debug-tracing-in-adfs-v2-1-and-v3-0/
ADFS Debug Eventlog
Es gibt aber noch eine zweite tiefere Möglichkeit dem ADFS-Service auf die Finger zu schauen. Über das Eventlog können Sie auch ein "Debug"-Log anzeigen lassen.
Sie sehen dann einen neuen Eintrag im EventlogViewer
Damit hier aber Details aufgelistet werden, müssen Sie mit WEVTUTIL die entsprechenden Diagnosefunktionen aktivieren:
REM Zuerst einmal muss der Debug Trace gestoppt werden WEVTUTIL sl "AD FS Tracing/Debug" /e:false REM Dann stellen Sie den DebugLevel wischen 0 und 5 ein, 5 ist maximum WEVTUTIL sl "AD FS Tracing/Debug" /l:5 REM um dann wieder das Tracing zu startenb WEVTUTIL sl "AD FS Tracing/Debug" /e:true REM Am Ende sollten Sie das Debugging aber wieder abschalten WEVTUTIL sl "AD FS Tracing/Debug" /e:false
- #Azure AD Mailbag: Hybrid
Identity and ADFS
https://blogs.technet.microsoft.com/enterprisemobility/2016/07/15/azure-ad-mailbag-hybrid-identity-and-adfs/
Leider ist das aus meiner Sicht nicht so elegant, wie das im IIS z.B. mit IISDebugging möglich ist. Vergessen Sie nicht nach der Fehlersuche dieses erweiterte Logging wieder abzuschalten.
ADFS Performance Counter
Eine weitere Option ist das Windows Performance Counter System, wo ADFS natürlich auch entsprechende Werte hinterlegt.
Sie sind aber weniger für ein konkretes Debugging denn mehr zur Überwachung der Funktion.
Das vermutlich leistungsfähigste Tool auf dem Client ist natürlich Fiddler. Jeder, der ADFS installiert und auf dem Client nach einem Fehler sucht, sollte Fiddler können und nutzen können. Alle Anfragen des Clients können über Fiddler als Proxy geleitet werden, der sogar SSL inspizieren kann. Entsprechend können Sie dann jede Anfrage und Antwort sehen, analysieren und ggfls. Konfigurationsfehler erkennen.
Troubleshooting Active
Directory Federation Services (AD FS) and the
Web Application Proxy
http://channel9.msdn.com/events/TechEd/NorthAmerica/2014/PCIT-B411
Loadbalancing und Monitoring
Siehe dazu auch ADFS Monitoring
Ein ADFS-Server ist ja noch einfach zu verwalten, aber wer auf ADFS seine Authentifizierung gegen Dienste in der Cloud aufbaut, handelt sich so einen "Single Point of Failure" ein. Also müssen wir uns Gedanken über die Verfügbarkeit machen. Das muss nicht gleich eine ADFS-Farm oder Cluster sein, Der erste Ansatz sollte die Überwachung des Systems sein, denn nur wenn Sie einen Fehler erkennen, können Sie Gegenmaßnahmen einleiten. Natürlich werden sich früher oder später auch die Anwender melden, aber besser ist es, wenn Sie regelmäßig den ADFS-Dienst abprüfen und dabei z.B. auch gleich die Antwortzeit mit erfassen. So erkennen Sie Ausfälle aber auch Verschlechterungen in der Performance.
Hier zwei URLs, welche Sie z.B. nutzen können, um per HTTPS-Anfrage zu prüfen, ob der ADFS-Service erreichbar ist.
https://adfs.msxfaq.de/adfs/ls/IdpInitiatedSignon.aspx https://adfs.msxfaq.de/adfs/fs/federationserverservice.asmx https://adfs.msxfaq.de/adfs/services/trust/mex
Wenn Sie ADFS nicht nur intern sondern auch extern erreichbar machen, dann benötigen Sie natürlich für beide Stationen eine Strategie für die Verfügbarkeit. Das kann durchaus ein "Single Server" sein, der z.B. mit Snapshots und Hyper-V-Mirroring für ihre Anforderungen ausreichend verfügbar gemacht werden kann. Wenn Sie aber mehrere Server als Proxy platzieren, dann brauchen Sie einen Loadbalancer davor. Das gleiche gilt auch für einen Pool von internen ADFS-Server.
Weitere Links
- ADFS Basics
- ADFS Intern
- Fiddler
- WAP - Web Application Proxy
- 2647048 How to Update or repair the settings of a federated domain in Office 365, Azure, or Windows Intune
- Troubleshooting AD FS
http://technet.microsoft.com/library/410013ab-d2f0-4901-aa06-ca4ef84a907e - Big-IP and ADFS Part 5 –
“Working with ADFS 3.0 and SNI”
https://devcentral.f5.com/articles/big-ip-and-adfs-part-5-working-with-adfs-30-and-sni#.U4zzLokazCQ - First Impressions – AD FS
and Windows Server 2012 R2
Part 1: http://blog.auth360.net/2013/09/13/first-impressions-ad-fs-and-windows-server-2012-r2-part-i/
Part 2: hhttp://blog.auth360.net/2014/01/07/first-impressions-ad-fs-and-window-server-2012-r2-part-ii/ - How to test if ADFS is
functioning
http://www.dagint.com/2011/10/how-to-test-if-adfs-is-functioning/ - How To Install ADFS 2012 R2 für Office 365
Part 1: http://blogs.technet.com/b/rmilne/archive/2014/04/28/how-to-install-adfs-2012-r2-for-office-365.aspx
Part 2: http://blogs.technet.com/b/rmilne/archive/2014/04/28/how-to-install-adfs-2012-r2-for-office-365_1320_part-2.aspx - Set up the lab environment für AD FS in Windows Server 2012
R2
http://technet.microsoft.com/en-us/library/dn280939.aspx - Walkthrough Guide: Manage
Risk with Multi-Factor Access
Control
http://technet.microsoft.com/en-us/library/dn280936.aspx
Windows ADFS - Videos
https://www.youtube.com/User/windowsadfs/videos