Windows Server 2012 R2 och Windows 8.1 Preview har nu funnits ute i flera dagar och självklart har jag labbat varje ledig minut med de nya lösningarna.
Säkerhetsmässigt imponerar Workplace Join allra mest. Det här ger oss möjlighet att registrera i stort sett vilken enhet som helst i vårat Active Directory.
Vad skall då detta vara bra för?
Om vi kombinerar det här tillsammans med ADFS och den nya funktionen Web Application Proxy (WAP) kan vi styra vem och med vilken enhet man får tillgång till en viss tjänst.
I dagsläget är det här enbart en Preview vilket gör att vi är något begränsade, och det finns en del fixar som vi väntar på inför lansering. Jag har gjort tester med Windows 8.1 och det fungerar också att köra med iPhone i dagsläget.
I min miljö har jag en publicerad applikation som enbart är tillgänglig från registrerad enhet om man försöker nå den externt.
Jag har även gett möjlighet för en domänmedlem att registrera en enhet från Internet och enheten registreras då med användaren. Loggar en annan användare in på samma dator med Windows 8.1 är enheten inte registrerad.
För att göra en Workplace join i Windows 8.1 (Preview) går man in under Change PC Settings och klickar på Network
Här finns Workplace där man anger sitt domänkonto (UPN) i nedanstående format.
En autentiseringsbegäran frågar efter inloggning och vi anger då domänlösenord för att få registrera enheten.
Om jag nu surfar mot min applikation från Internet med min registrerade dator har jag
SSO inloggning och möts av det översta fönstret. Försöker jag surfa från en annan enhet så möts jag av det nedre fönstret.
Vad är det som händer i bakgrunden
Om vi börjar med Workplace så kommer klienten att söka efter DNS namnet enterpriseregistration.domän.com. Det här namnet pekar på vår Web Application proxy (antingen direkt med ett externt nätverkskort eller till en extern brandvägg som skickar vidare in till WAP).
Web application Proxy är precis som det låter, den proxar ADFS trafiken och autentiserar registreringen via ADFS servern.
All trafik går över krypterad SSL och viktigt att tänka på här är att du har ett och samma SSL certifikat på ADFS servern och din WAP server.
Certifikatet skall innehålla:
- CN=FQDN
- SAN: DNS=FQDN
- SAN: DNS=enterpriseregistration.domän.com
Certifikatets CRL måste är även vara nåbar från Internet!
Internt pekar enterpriseregistration.domän.com på ADFS servern.
ADFS servern skall även köras med ett servicekonto med ett Service Principal Name (SPN) med samma FQDN.
Vårat Active Directory förbereds via powershell:
Aktivera Device Registration Service:
Enable-AdfsDeviceRegistration –PrepareActiveDirectory
Ange servicekontot i nästa steg:
Enable-AdfsDeviceRegistration
Efter registreringen hamnar enheten under RegisteredDevices i ActiveDirectory och knyts till en GUID som bygger på din enhet och användaren enheten är registrerad med.
”ADFS aware” Applikation
Applikationen måste stödja ADFS och ett exempel på färdig applikation är SharePoint.
ADFS definierar vilka krav vi har på autentisering och i mitt exempel kräver jag även en ”Multi-factor authentication” (MFA) med smarta kort eller certifikat för enheter som inte är registrerade samt för medlemmar i gruppen IT.
Jag kommer inte gå så mycket djupare på ADFS-delen utan ger mig in på vår nya roll Web Application Proxy.
I det här exemplet styrs alla request för både web och ADFS mot vår proxy server och baserat på dess regler så ser den till att autentisera trafiken mot vår ADFS server och kommunicera med Webservern.
I mitt exempel pekar alltså följande externa URLer på min Web Application Proxy
- enterpriseregistration.domän.com
- Adfsserver.domän.com
- Webserver.domän.com
Web Application Proxy i sig har ingen egen intelligens utan autentiserar via ADFS eller skickar vidare utan autentisering. Den kan där emot lyssna på en extern URL och skicka vidare till en annan intern URL.
Viktig information vid utvärdering
Det finns en del problem och det är som sagt en Preview-version så en del kommer ändras till skarp version.
Din ADFS Server och WAP server måste vara inställda på tidszon UTC eller UTC -nn för att det här skall fungera. Jag kör i nuläget på UTC -06:00 Central America i min miljö
Tack för en mycket intressant och bra artikel Anders!
Tack för en mycket intressant artikel Anders!