In English
cloudbleed

Säkerhetstest • Artikel

12 april, 2021

Vad är Active Directory?

Active Directory (AD) är en tjänst i Windows Server som används för att hantera och organisera användare, resurser, behörigheter, klienter och servrar. I princip alla stora företag använder AD för att kunna centralisera hanteringen av stora IT-miljöer. Men tjänsten medför även stora risker om den inte hanteras och skyddas på rätt sätt. 

Introduktion till Active Directory (AD)

Active Directory (AD) är en tjänst i Windows Server som tillåter systemadministratörer att skapa och hantera domäner, användare och objekt i ett nätverk. När ett nätverk växer skapar Active Directory förutsättningar för att kunna organisera ett stort antal användare i separata enheter samt logiska grupper och undergrupper, samtidigt som det möjliggör åtkomstkontroll på varje nivå.

AD:t kan med andra ord liknas vid själva hjärtat i en IT-miljö, vilket även gör det till ett primärt mål för potentiella angripare. En framgångsrik attack riktad mot ett företags AD leder i många fall till att angriparen får kontroll över hela nätverket - en skada som är väldigt svår att reparera. Det är följaktligen viktigt att skydda sitt AD på ett adekvat sätt som säkerställer att det inte exponeras för de risker som tjänsten kan medföra.

Hierarkisk struktur

Den hierarkiska strukturen i Active Directory består av tre huvudsakliga beståndsdelar: forest, tree samt leaf. Ett tree är en hierarki av domäner som ingår i en och samma logiska gruppering av objekt, och är utformad som ett träd - därav namnet. Domänen i toppen kallas rot-domänen. Under varje domän grupperas objekt, till exempel användare, klienter och servrar, som alla använder samma organisatoriska databas av objekt. En domän kan exempelvis motsvara IT-miljön tillhörandes ett specifikt kontor i ett företag. 

Objekten inuti domäner kan i sin tur delas in i separata container-objekt, däribland  Organisational Units (OUs) - vilka till exempel kan motsvara en avdelning på kontoret i föregående exempel. Eftersom objekt som användare och klienter i nätverket inte kan innehålla några ytterligare objekt kallas dessa för leaf-objekt då de utgör ett löv i trädet.

Om det existerar flera trees utgör de tillsammans en så kallad forest som då är toppen av hierarkin i AD:t. Domänträden är sammanfogade via så kallade trust relationships, vilka utfärdar behörigheter mellan de olika träden. Till exempel kan samtliga kontor i ett visst land inom ett stort företag grupperas in i en forest. Ett företag kan ha flera, från varandra isolerade forests, vilket gör det möjligt att segmentera delar av AD:t. Det är dock möjligt att ge forests åtkomst till andra forests genom trust relationships.

En domän hanteras av en eller flera domänkontrollanter, vilka är de servrar som kör Active Directory-mjukvaran och tillhandahåller information om objekt i miljön samt verifierar och validerar användaråtkomst i nätverket. När en användare loggar in på sin domän kontrollerar domänkontrollanten dess användarnamn, lösenord och andra användaruppgifter för att antingen tillåta eller neka användaren åtkomst. Även åtkomst till resurser i domänen såsom delade mappar på nätverket kontrolleras av domänkontrollanten. För att kunna styra åtkomst till resurser som ingår i domänen lagrar domänkontrollanten all nödvändig information gällande behörigheter och objekt, samt har tillgång till alla resurser knutna till dess domän.

Risker med Active Directory

Eftersom AD:t utgör en central och kritisk funktion i många företags IT-miljö är det också viktigt att skydda det på ett ändamålsenligt sätt. Domänkontrollanten är en förutsättning för att Active Directory ska fungera men den öppnar samtidigt dörren för risker. Den som styr domänkontrollanten har tillgång till allt på domänen, det vill säga alla klienter, servrar samt all data som flödar mellan system i nätverket. Detta innebär att domänkontrollanten ofta blir ett av de i säkerhetshänseende mest kritiska systemen hos ett företag och därmed ett primärt mål för potentiella angripare. Ett lyckat angrepp riktat mot domänkontrollanten, som därmed ger angriparen kontroll över denna, begränsas nödvändigtvis inte till domänen. Sannolikt kan angriparen i en sådan situation även ta kontroll över andra domäner i samma forest. 

Det är dock inte bara domänkontrollanten som har höga behörigheter i en nätverksmiljö. När en ny domän installeras tillkommer flertalet högt privilegierade standardgrupper automatiskt. Den mest uppenbara är kanske domain admin som har tillgång till allt i miljön, såsom resurser, lösenord och datorer. Men det finns även andra grupper med högt privilegierade användare som kanske inte förefaller lika självklara, såsom:

  • Server operators
  • Print operators
  • DnsAdmins
  • Remote desktop users

Användarkonton i dessa grupper har alla höga behörigheter, och utgör således en potentiell risk om de inte hanteras ändamålsenligt eller hamnar i fel händer. 

Autentisering

Active Directory stöder flera olika autentiseringsprotokoll, och vilka protokoll som stöds beror på vilken version av AD som används. Säkerheten i de olika protokollen skiljer sig åt, och vissa av autentiseringsprotokollen är svagare än andra. Användning av dessa medför alltså en ökad säkerhetsrisk. 

De två vanligaste autentiseringsprotokollen AD använder sig av är NTLM och Kerberos. NTLM är ett äldre protokoll som även finns i en uppdaterad version (NTLMv2). Den stora skillnaden ligger i hur de två protokollen hanterar autentisering. NTLM använder en så kallad trevägshandskakning mellan klienten och servern;

  1. Användaren skickar en förfrågan till servern med sitt användarnamn.
  2. Servern svarar med en så kallad challenge innehållandes ett slumptal.
  3. Klienten signerar slumptalet med hashen av användarens lösenord och skickar resultatet till servern.
  4. Servern skickar sedan användarnamnet, slumptalet och klientens svar på serverns challenge till domänkontrollanten.
  5. Domänkontrollanten använder användarnamnet för att ta fram hashen av användarens lösenord och signerar sedan slumptalet med hashen. Resultatet jämförs med klientens svar, om de är identiska är autentiseringen godkänd och servern meddelas om detta.
  6. Servern beviljar användaren åtkomst.

Kerberos autentiserar användare med hjälp av en tjänst som kallas Key Distribution Center (KDC) som klienten kommunicerar med, utöver servern. Denna består av två tjänster; Authentication Service samt Ticket Granting Service (TGS). Protokollet ser ut som följande;

  1. Klienten skickar en förfrågan för en Ticket Granting Ticket (TGT) från KDC.
  2. Authentication Server gör ett uppslag på användaren i KDC-databasen. Om användaren existerar genereras en sessionsnyckel för kommunikationen mellan klienten och TGS som returneras tillsammans med en TGT.
  3. Klienten skickar en förfrågan för åtkomst till servern till TGS innehållandes TGT:n.
  4. TGS svarar med en sessionsnyckel samt en TGS service ticket för tjänsten som efterfrågas (servern i detta fall) som tillsammans ger åtkomst till servern.
  5. Klienten skickar en förfrågan konstruerad med hjälp av TGS service ticket och sessionsnyckel till servern.
  6. Servern autentiserar användaren och ger åtkomst.

Då Kerberos använder en tredje part för autentisering i form av KDC samt starkare kryptografiska funktioner har protokollet fördelar ur ett säkerhetsperspektiv. NTLM-protokollet använder istället en hashalgoritm som producerar hashar som är mycket svaga med dagens standarder. Dessutom har NTLM-protokollet vissa designfel i sig som tillåter Pass the Hash och relaying. Det senare tillåter en angripare placerad mellan klient och server att utge sig för att vara klienten genom att vidarebefordra den riktiga klientens trafik till servern. På så vis kan angriparen autentisera sig som offret mot servern. Av dessa anledningar är Kerberos ansett som säkrare än NTLM.

Active Directory är med andra ord ett attraktivt mål för angripare som vill ta över din IT-miljö. I den här artikeln kan du läsa mer om vanliga attacker mot Active Directory, och hur du bäst skyddar dig mot dem.

Kontakta oss

Vi erbjuder flera kontaktvägar och återkopplar så snart som möjligt. Har du känslig information ber vi dig att maila krypterat.