Håndtering av tilgangsrettigheter som applikasjonstjenester har på servere og i nettverket presenterer ofte en sikkerhetsutfordring, spesielt når det gjelder applikasjoner som er utsatt for angrep, for eksempel Exchange, Internet Information Server eller SQL server. Administratorer har som regel to valg når en ny applikasjon skal konfigureres: bruke lokale systemkontoer – Local System, Local Service og Network Service – eller opprette en domenekonto (”service account”) for applikasjon og gi denne de nødvendige rettighetene på servere i nettverket.
Den første metoden – bruk av lokale systemkontoer – er ofte den enkleste for mange applikasjoner. Denne metoden gir også minst fleksibilitet i forhold til isolasjon av tilgangsrettigheter og ansees som mindre sikker konfigurasjon. En tjeneste som kjøres under en systemkonto har full tilgang til alle ressurser og funksjoner på serveren selv når applikasjon ikke trenger det. I slike tilfeller kan eventuelle sikkerhetshull i en applikasjon utnyttes for å ta kontroll over serveren og alle andre tjenester som kjøres på den. Bruk av lokale systemkontoer medbærer at maskinkontoer må benyttes når applikasjon skal gis tilgang til ressurser på andre servere. I praksis betyr dette at alle tjenester som kjøres på maskinen får tilgang til en fjern ressurs selv om det er kun én applikasjon som faktisk trenger den tilgangen.
Den andre metoden – bruk av dedikerte ”Service Accounts” for applikasjon, løser sikkerhetsproblemer knyttet til bruk av lokale systemkontoer, siden en servicekonto har i utgangspunkt kun begrenset tilgang til ressurser på servere og alle tilganger må konfigureres manuelt. Applikasjon kjøres i så fall i en egen sikkerhetskontekst som er isolert fra andre tjenester, slik at et sikkerhetshull i én applikasjon svikter ikke sikkerhet i andre prosesser på serveren. Bruk av domenebaserte tjenestekontoer krever imidlertid ekstra administrasjon i forbindelse med håndtering av passord endringer for tjenestekonto og ”Service Principal Name” (SPN) registreringer i ActiveDirectory.
R2 versjon av Windows Server 2008 støtter to nye typer kontoer som forenkler konfigurasjon og administrasjon av tjenestekontoer for applikasjoner og gjør det lettere å etablere sikre oppsett med isolasjon av tilgangsrettigheter. Disse er Managed Service Accounts og Virtual Accounts.
Managed Service Accounts
Managed Service Account er en spesiell type konto i ActiveDirectory som kan benyttes for å automatisere håndtering av passord for tjenestekontoer og for å forenkle administrasjon av SPN-registreringer.
Det er ingen grafisk grensesnitt for opprettelse og administrasjon av Managed Service Accounts: administrator må bruke ActiveDirectory modul for Windows PowerShell for å administrere disse. New-ADServiceAccount cmdlet benyttes for å opprette en Managed Server Account i AD. Kommandoen har følgende syntaks:
New-ADServiceAccount [-SAMAccountName <String>] [-Path <String>]
I tillegg kan følgende valgfrie parametrer brukes for å konfigurere ny tjenestekonto:
-OtherAttributes <Hashtable>
-Instance <ADService>
-Server <String>
-Credential <PSCredential>
-PassThru
-Name <String>
-Description <String>
-DisplayName <String>
-Enabled <Nullable`1>
-ServicePrincipalNames <String[]>
-AccountExpirationDate <Nullable`1>
-AccountNotDelegated <Nullable`1>
-AccountPassword <SecureString>
-AllowReversiblePasswordEncryption <Nullable`1>
-CannotChangePassword <Nullable`1>
-Certificates <String[]>
-ChangePasswordAtLogon <Nullable`1>]
-HomePage <String>
-PasswordNeverExpires <Nullable`1>
-PasswordNotRequired <Nullable`1>
-PermittedLogonTime <String>
-PrimaryGroup <String>
For eksempel, følgende kommando oppretter en ny tjenestekonto som heter “DbService”:

Hvis ikke annet er spesifisert ved opprettelse, vil tjenestekontoene bli plassert i ”Managed Service Accounts” OU i ActiveDirectory:

Set-ADServiceAccount cmdlet kan benyttes for å endre egenskaper av en eksisterende tjenestekonto i ActiveDirectory:

Tjenestekontoen må ”installeres” på en server før tjenester kan konfigureres til å bruke den. Dette gjøres vha Install-ADServiceAccouunt cmdlet:

Etter at tjenestekontoen er installert, kan tjenester konfigureres til å bruke den gjennom Services-konsoll eller vha av SC-kommando. OBS! dollartegn ($) må legges til bak kontonavn når tjenesten konfigureres gjennom Services-konsoll. Passordfeltet må være tomt for tjenestekontoer:

Operativsystemet håndterer endring av passord for tjenestekontoer automatisk. Gyldighetsperiode for tjenestekontoer kontrolleres gjennom ”Domain Member: Maximum machine account password age” sikkerhetspolicy. Andre kontorelaterte sikkerhetspolicy som finnes under ”Account Policies\Password Policy” gjelder ikke for tjenestekontoer.
Virtual Accounts
”Virtual Accounts” kan benyttes for å opprette en virtuell kopi av en lokal systemkonto på maskin og bruke denne for å isolere tilgangsrettigheter som en applikasjonstjeneste har lokalt på maskinen. Virtuelle kontoer trenger ingen administrasjon utover konfigurasjon av tilgangsrettigheter: virtuelle kontoer opprettes automatisk av systemet og det er ingen passord eller andre egenskaper som må administreres manuelt.
Virtuelle kontoer opprettes automagisk når en tjeneste konfigureres til å kjøres under ”NT SERVICE\<tjenestenavn>” konto.
Bruk Services-konsoll eller SC-kommando for å konfigurere en tjeneste til å bruke en virtuell systemkonto:

Denne tjenestekontoen kan nå brukes for å definere tilgangsrettigheter i systemet:

Tjenester som kjøres under en virtuell konto vil fortsatt bruke maskinidentitet når de aksesserer ressurser i nettverket, dvs at en virtuell konto kan ikke benyttes for å gi tilgangsrettigheter på en annen maskin.
Oppsummering
Managed Service Accounts reduserer administrasjonsbehov og forenkler bruk av domenebaserte tjenestekontoer samtidig som virtuelle kontoer kan benyttes for å isolere tilgangsrettigheter for tjenester som kjøres under lokale systemkontoer, slik at sikkerheten på serveren blir ivaretatt. Dette er uten tvil en nyttig funksjon i Windows Server 2008 R2 som forenkler systemadministrasjon og øker sikkerhet i Windows-baserte plattformer.
For mer informasjon:
Service Accounts Step-by-Step Guide
http://technet.microsoft.com/en-us/library/dd548356(WS.10).aspx