Vor einigen Tagen wollte ich in einer Demo das neue Windows Feature “Work Folders” zeigen, da ich gerade keine passende Umgebung hatte, habe ich kurzerhand zwei virtuelle Maschinen in Microsoft Azure IasS gestartet.
Übersicht
Da es sich um eine einfache Demo handelt verwende ich nur zwei Server die ich aus dem Windows 2012R2 Image in Azure erstelle. Auf dem ersten werden die Rollen Domain Controller, ADFS, Zertifizierungsstelle und Work Folders installiert, der zweite wird als Web Application Proxy für die Veröffentlichung verwendet.
Da die beiden Server miteinander kommunizieren sollen, verwende ich ein virtuelles Netzwerk in welches die beiden Server ausgerollt werden.
Work Folders
Work Folders ist ein Feature von Windows 2012R2 und kann mit OneDrive/Dropbox verglichen werden. Work Folders bieten dem Benutzer eine einfache Möglichkeit auf Daten zuzugreifen und diese über mehrere Geräte zu synchronisieren.
Leider gibt es derzeit nur Unterstützung für Windows 7 und 8/8.1, Clients für mobile Geräte wurden noch nicht angekündigt.
Im ersten Schritt stufe ich den ersten Server zum Domain Controller hoch und installiere/konfiguriere die Zertifizierungsstelle. Eine spezielle Konfiguration dieser Rollen ist nicht notwendig, die einzige Anpassung ist das Erstellen eines neuen Zertifikattemplates welches später für die ADFS und WAP Zertifikate verwendet wird.
DNS
Vor der Konfiguration der AD FS Rolle überlege ich mir einen Namen über welchen die Federation Services später erreichbar sein sollen, hier entscheide ich mich für adfs.uclab.eu. Damit ich interne Anfragen direkt zum AD FS Server leiten kann, erstelle ich ein DNS Zone für diesen Eintrag:
Der A-Record verweist auf meinen Domain Controller und AD FS Server.
AD FS
Nach der Installation der Active Directory Federation Services sind folgende Schritte für die Konfiguration notwendig.
Ein Zertifikat mit dem Namen für die Federation Services sowie dem internen Servernamen wird angefordert. Hier verwende ich ein Kopie des WebServer Templates als Zertifikatsvorlage.
Sobald das Zertifikat installiert wurde, kann die AD FS Farm installiert werden, dafür wird der Thumbprint der Zertifikates benötigt, diesen kann man sich per PowerShell einfach anzeigen lassen:
Get-ChildItem Cert:\LocalMachine\my -DnsName adfs*
Außerdem wird ein Service Account für den AD FS Dienst benötigt, dafür verwende ich ein normales AD User Account. Jetzt kann die Farm installiert werden, dabei wird das Service Account mit Get-Credential abgefragt:
Install-ADFSFarm -CertificateThumbprint 9EA51F4DAA939C077602DF0B7EE7426F61E2DE0A -FederationServiceDisplayName "Uclab Demo" –FederationServiceName adfs.uclab.eu -OverwriteConfiguration -ServiceAccountCredential (Get-Credential) -ErrorAction Stop
In der AD FS Management Konsole sehen die Federation Service Properties folgendermaßen aus:
AD FS Relying Trust
Jetzt wird ein Relying Party Trust hinzugefügt, dazu klickt man in der AD FS Management Konsole mit rechts auf “AD FS” und wählt “Add Relying Party Trust”.
Die Daten müssen manuell eingegeben werden, ein Name wird für den Trust gewählt.
Das AD FS Profil wird verwendet, die Auswahl des Zertifikates für Token Signierung sowie die Konfiguration der URLs für WS-Federation und SAML können übersprungen werden.
Als Identifikation muss “https://windows-server-work-folders/V1” verwendet werden. Multi Faktor Authentifizierung ist in meiner Demo nicht nötig und wird auch übersprungen.
Der letzte Schritt kann auch übersprungen werden, anschließend wird der Trust erstellt. Jetzt müssen noch “Claim Rules” definiert werden.
Folgende Attribute werden definiert:
Jetzt müssen per PowerShell noch folgende Eigenschaften konfiguriert werden:
Set-ADFSRelyingPartyTrust -TargetIdentifier “https://windows-server-work-folders/V1” -EnableJWT:$true
Set-ADFSRelyingPartyTrust -TargetIdentifier “https://windows-server-work-folders/V1” –Encryptclaims:$false
Set-ADFSRelyingPartyTrust -TargetIdentifier “https://windows-server-work-folders/V1” -AutoupdateEnabled:$true
Set-ADFSRelyingPartyTrust -TargetIdentifier “https://windows-server-work-folders/V1” -IssueOAuthRefreshTokensTo:’AllDevices’
Der AD FS Server ist jetzt soweit bereit für die Authentifizierung der Work Folders.
File and Storage Services: Work Folders
Jetzt kann die Work Folders Rolle installiert werden, das geht am schnellsten per PowerShell:
Install-WindowsFeature –Name FS-SyncShareService
Nach der Installation erfolgt die Konfiguration der Work Folders über den Server Manager, die Konfiguration ist (wie die Server Rolle) unter “File and Storage Services” zu finden.
Ein neuer “Sync Share” wird angelegt, hier wird ein lokaler Pfad für die synchronisierten Daten angegeben.
Anschließend wird ausgewählt wie die Ordner auf dem Server benannt werden sollen:
Dann können die Berechtigungen vergeben werden, Standardmäßig wird die NTFS Vererbung unterbrochen und der Benutzer erhält exklusiven Zugriff auf sein Sync Share.
Über Client Richtlinien kann geregelt werden ob die Work Folder Dateien lokal verschlüsselt werden müssen und ob das Gerät mit einem Passwort gesperrt wird.
Nachdem der Sync Share erstellt wurde, muss die Authentifizierung auf ADFS geändert werden, dazu muss man im Server Manager auf Server klicken und den lokalen Server auswählen, dann kann mit einem Rechtsklick “Work Folders Settings” ausgewählt werden:
Ich gebe die vorher erstellte AD FS Farm für Authentifizierung an.
Web Application Proxy
Jetzt ist es an der Zeit den Reverse Proxy auf meinem zweiten Server zu installieren, dieser ist nicht Mitglied der AD Domain, die Authentifizierung erfolgt über AD FS.
Noch auf dem Domain Controller fordere ich ein Zertifikat für den Proxy an, hier verwende ich wieder den Namen der AD FS Farm sowie einen weiteren Namen über den ich die Work Folders veröffentlichen werde:
Dieses Zertifikat exportiere ich am Domain Controller und importiere es auf dem Reverse Proxy, da dieser nicht Mitglied der Domain ist, muss auch das Root Zertifikat importiert werden.
Jetzt kann die Rolle Web Application Proxy installiert werden, diese geht wieder am schnellsten per PowerShell:
Install-WindowsFeature –Name Web-Application-Proxy
Anschließend wird die Rolle konfiguriert, dafür kann die “Remote Access Management Console” verwendet werden, da sich diese aber nach pre-Beta anfühlt bevorzuge ich auch hier PowerShell. Ein guter Tipp für unbekannte oder selten verwendete cmdlets ist “Show-Command” so kann man sich seinen Befehl einfach zusammenstellen:
Der Befehl für die Konfiguration des Web Application Proxy ist dann:
Install-WebApplicationProxy -CertificateThumbprint 9D082F66864E3BD9A575AC429BA12130E89CFEE2 -FederationServiceName adfs.uclab.eu -FederationServiceTrustCredential (Get-Credential)
Nun kann die Work Folder Applikation erstellt werden, auch dafür verwende ich wieder “Show-Command” um den PowerShell Befehl zu erstellen.
Der Befehl für das veröffentlichen der Applikation ist:
Add-WebApplicationProxyApplication -BackendServerUrl https://wfdemo.intra.uclab.eu -ExternalCertificateThumbprint 9D082F66864E3BD9A575AC429BA12130E89CFEE2 -ExternalUrl https://workfolders.uclab.eu -Name WorkFolders -ADFSRelyingPartyName WorkFolders -ExternalPreauthentication ADFS –UseOAuthAuthentication
Nachdem die Applikation über den WAP veröffentlich wurde, muss diese nur noch von außen erreichbar gemacht werden. Dazu werden in der öffentlichen DNS Zone zwei CNames erstellt, einen für die AD FS Farm den anderen für den Namen der Work Folders. Diese CNames zeigen auf den Cloud Service der Reverse Proxy VM in Microsoft Azure.
Der Reverse Proxy bekommt einen HTTPS Endpunkt und wird somit erreichbar gemacht:
DEMO
Nach all diesen Schritten wird es Zeit die AD FS Authentifizierung zu testen, dazu kann folgende URL verwendet werden:
https://adfs.uclab.eu/adfs/ls/idpinitiatedsignon.htm
Das sieht schon mal gut aus, also können wir die Work Folders testen, diese finden sich in der Systemsteuerung:
Die URL für die veröffentlichte Applikation wird angegeben, es gibt die Möglichkeit diese in der Registry oder einem AD Attribut für Auto Discovery zu hinterlegen, beide Varianten sind aber nur auf Domain Clients interessant.
Für die Anmeldung werde ich auf AD FS umgeleitet:
Dann kann ich einen lokalen Speicherort auswählen und werde auf die Richtlinien hingewiesen:
In der Übersicht sieht man Status der Synchronisation und den verfügbaren Speicherplatz am Server.
Viel Spaß mit den Work Folders und ein schönes, langes Wochenende :)
Tom