Konfigurer Single Sign-On mot Remote Desktop Services

Single Sign-On er en autentiserings mekanisme som gjør det mulig å automatisk logge på servere og websider internt i et Windows-domene med det brukernavn og passord man logget på Windows med. I denne artikkelen beskrives hvordan dette konfigureres både på klient- og server-siden.

Single sign-on (heretter kalt “SSO”) er en autentiserings mekanisme som gjør det mulig å automatisk logge på servere og websider internt i et Windows-domene med det brukernavn og passord man logget på Windows med. Når man er logget på en domene-klient med en domene-bruker får man utstedt en såkalt Kerberos-ticket. Når SSO er aktivert brukes denne for å logge på videre mot interne ressurser som for eksempel en Sharepoint-portal, eller Remote Desktop-sesjoner mot en server satt opp med Remote Desktop Services. Remote Desktop Services ble introdusert i Windows Server 2008 R2 som ble lansert sammen med Windows 7. Det tidligere og mer kjente navnet på en server satt opp som en såkalt Remote Desktop Session Host er “terminalserver”. En Remote Desktop Session Host server kan ta imot pålogginger fra mange samtidige brukere, hvor brukerne får tilgang til publiserte applikasjoner.

Les mer om SSO for Windows Server 2008 og Windows Server 2008 R2.

På klient-siden er SSO tilgjengelig for Windows XP med SP3, Windows Vista og Windows 7.

Konfigurasjon av SSO på server-siden

For å konfigurere SSO på server-siden (Windows Server 2008 Terminal Services eller Windows Server 2008 R2 Remote Desktop Services), sett innstillingen “Security layer” på “RDP-tcp”-listeneren til enten“Negotiate” eller “SSL (TLS 1.0)”:

Best practice er å konfigurere dette i en felles Group Policy-innstilling for alle Remote Desktop Session Host servere i domenet:

Group Policy-innstillingen for dette finner man under Computer Configuration->Policies->Administrative templates->Windows Components->Terminal Services->Terminal Server->Security.

Konfigurasjon av SSO på klient-siden

Å benytte en felles Group Policy-innstilling er også best practice for å konfigurere de nødvendige SSO-innstillingene på klient-siden.

Innstillingen som må konfigureres heter “Allow Delegating Default Credentials” og finnes under Computer Configuration->Policies->System->Credentials Delegation:

Aktiver “Allow Delegating Default Credentials”, trykk på “Show”-knappen og spesifier enten domene-navnet i formatet TERMSRV/*.domenenavn.local, eller spesifiser spesifikke servere SSO skal være tillatt mot:

Neste steg er å lage en RDP-fil (konfigurasjons-fil for Eksternt skrivebord-klienten mstsc.exe). Start klienten fra Start->Kjør->mstsc.exe og konfigurer server-navn og andre innstillinger for tilkoblingen, for eksempel mapping av skrivere og lokale disker.

Når dette er gjort, åpen RDP-filen i Notepad og legg til følgende linje nederst i RDP-fila:

enablecredsspsupport:i:1

Dette vil aktivere SSO for denne RDP-filen.

Det er også anbefalt å legge på en digital signatur på RDP-filen for å bevise hvem RDP-filen er laget av, og forhindre at filen kan brukes om det gjøres uautoriserte endringer på den Signeringen må utføres med et såkalt “Code Signing”-sertifikat som klientene stoler på. Dette kan gjøres med det innebygde verktøyet rdpsign.exe:

Eksempel på signering:

Når RDP-filen er signert vil følgende linje legges til nederst i RDP-filen:

signature:s:AQABAAEAAADBCgAAMIIKvQ……..

Gjøres det endringer i RDP-filen etter signering må signering utføres på nytt.

For Windows Vista og Windows 7 klienter vil oppsett og utrulling nå være ferdig når RDP-filen er publisert til klientene. Dette kan for eksempel gjøres manuelt, med login-script eller med Group Policy (se lenger ned i artikkelen).

For Windows XP klienter må følgende være på plass før SSO kan benyttes:

  • Service Pack 3 må være installert
  • Minimum versjon 6.0 av Eksternt skrivebord-klienten må være installert
  • CredSSP Security Provider må være aktivert

Hvordan CredSSP Security Provider aktiveres er beskrevet i denne Knowledge Base-artikkelen.

Jeg vil anbefale å rulle ut de aktuelle register-innstillingene med Group Policy Preferences:

RDP-filen kan også rulles ut på samme måte:

Bruken av Group Policy Preferences er utenfor scopet for denne artikkelen, men for de som er interessert har jeg skrevet en egen blog-post om dette.

SSO kan også kombineres med Remote Desktop Services Web Access. Remote Desktop Services Teamet har skrevet en blog-post som beskriver oppsett av SSO i RDS Web Access.

For de som har klienter som ikke er medlem av domenet, for eksempel hjemmekontor/remote-klienter, er RDS Web Access en mulig løsning. Brukerne logger da på websiden for RD Web Access, og kan logge på videre til en Remote Desktop Session Host med samme Kerberos-ticket som ble utstedet da de logget på websiden med brukernavn og passord.

Kommentarer