Hop til indhold
Udvikling og programmering

LDAP (Lightweight Directory Access Protocol)

Lightweight Directory Access Protocol

LDAP (Lightweight Directory Access Protocol) er en åben protokol, der definerer, hvordan en klient kan slå oplysninger op i en katalogtjeneste og autentificere sig mod den over et netværk. Protokollen bruges til at finde og administrere data om blandt andet brugere, grupper og computere, som er organiseret i en hierarkisk struktur på en katalogserver. LDAP er en lettere udgave af den ældre Directory Access Protocol (DAP) fra X.500-standarden, og “lightweight” hentyder til, at protokollen kræver mindre kode og færre ressourcer at implementere end sin forgænger.

Et konkret eksempel er en medarbejder, der logger ind på sin computer eller åbner sit mailprogram om morgenen. I baggrunden sender programmet brugernavn og adgangskode videre til en LDAP-katalogserver, som slår oplysningerne op og svarer, om loginoplysningerne er gyldige, og hvilke rettigheder brugeren har. På den måde kan mange forskellige systemer – fra mailserver til VPN og interne fagsystemer – trække på det samme centrale katalog i stedet for hver især at vedligeholde deres egen liste over brugere og adgangskoder.

Hvordan fungerer LDAP i praksis?

LDAP bygger på en klient-server-model. En LDAP-klient – fx et loginprogram eller en applikation – opretter forbindelse til en LDAP-server, ofte kaldet en Directory System Agent (DSA), og udfører det, der i LDAP-terminologi kaldes et “bind”: en godkendelse, hvor klienten sender brugerens distinguished name (DN) og eventuelt en adgangskode. Der findes flere måder at udføre denne godkendelse på:

  • Simple bind – brugernavn og adgangskode sendes direkte til serveren, typisk beskyttet med kryptering.
  • SASL bind – godkendelsen foregår via en separat mekanisme som Kerberos, hvilket kan give et højere sikkerhedsniveau.
  • Anonym bind – forespørgslen sendes uden loginoplysninger og bruges kun til offentligt tilgængelige data.

Når bindingen er gennemført, kan klienten sende en søgeforespørgsel. Serveren gennemsøger sit katalog efter objekter, der matcher forespørgslen, og sender resultatet retur, hvorefter forbindelsen typisk lukkes igen. Kataloget er opbygget specifikt til hurtige opslag frem for til at håndtere komplekse transaktioner, sådan som en relationel database ofte gør.

Opbygningen af et LDAP-katalog

Data i et LDAP-katalog er organiseret i en Directory Information Tree (DIT) – en trælignende struktur, der minder om mappestrukturen på en harddisk. Øverst i træet ligger typisk rodkataloget og domænekomponenter, og derfra forgrener strukturen sig ud i organisationer, organisatoriske enheder (afdelinger) og til sidst de enkelte objekter: brugerkonti, grupper, computere, printere eller andet netværksudstyr som en access point. Hvert objekt har en unik sti gennem træet, kaldet et distinguished name (DN), samt en række attributter med tilhørende værdier, fx brugernavn, e-mailadresse eller afdeling.

Hvad bruges LDAP til?

Den mest udbredte anvendelse af LDAP er central autentificering og autorisation i virksomhedsnetværk. I stedet for at hvert enkelt system – mailserver, VPN, interne webapplikationer, printerstyring og lignende – har sin egen brugerdatabase, kan de forespørge det samme LDAP-katalog for at bekræfte login og finde ud af, hvilke rettigheder en bruger eller gruppe har. Det gør det lettere for en it-afdeling at oprette, ændre og fjerne adgang ét sted, i stedet for at opdatere mange systemer separat.

LDAP indgår ofte i løsninger til single sign-on (SSO), hvor en bruger kun skal logge ind én gang for at få adgang til flere sammenkoblede systemer, og kombineres i mange tilfælde med protokoller som Kerberos og Simple Authentication and Security Layer (SASL) til stærkere godkendelse. Kendte implementeringer tæller det åbne OpenLDAP, Red Hat Directory Server og IBM Security Directory Server, ud over at protokollen indgår i mange styresystemer og udviklerværktøjer til bruger- og adgangsstyring. Ligesom nyere protokoller, der standardiserer kommunikation mellem systemer – fx Model Context Protocol (MCP), der definerer, hvordan AI-modeller kan tilgå eksterne værktøjer og data – er LDAPs grundlæggende styrke, at forskellige applikationer kan bruge det samme fælles sprog til at forespørge en delt datakilde, i stedet for at hver enkelt løsning skal bygge sin egen adgangsmodel.

LDAP og Active Directory

LDAP forveksles ofte med Active Directory (AD), men de to begreber dækker ikke det samme. LDAP er selve protokollen – reglerne for, hvordan der søges og redigeres i et katalog – mens Active Directory er Microsofts konkrete katalogtjeneste, som bruger LDAP som en af sine kommunikationsprotokoller. AD tilføjer typisk en række yderligere funktioner oven på LDAP, som gruppepolitikker, Kerberos-godkendelse og domæneadministration, og indeholder som regel langt flere attributter pr. objekt, end en almindelig LDAP-forespørgsel behøver at hente ud.

Sikkerhed ved brug af LDAP

Fordi et LDAP-katalog ofte indeholder følsomme oplysninger som brugernavne, adgangskoder og organisatoriske data, er det almindeligt at kryptere forbindelsen med TLS/SSL (ofte omtalt som LDAPS) i stedet for at sende oplysninger i klartekst. Organisationer bør desuden være opmærksomme på såkaldte LDAP-injections, hvor en angriber forsøger at manipulere en søgeforespørgsel for at få adgang til data, vedkommende ikke er berettiget til.

Et LDAP-katalog kan i sig selv være et attraktivt mål, fordi det ofte fungerer som nøglen til rigtig mange andre systemer på én gang. Bliver en LDAP-server overbelastet eller sat ud af drift – for eksempel ved et DDoS-angreb – kan det i værste fald forhindre medarbejdere i at logge ind på stort set alle tilsluttede systemer samtidig. Det er derfor almindeligt at kombinere kryptering med begrænset netværksadgang, overvågning og princippet om mindste rettighed, så en konto kun får adgang til de data, den reelt har brug for.

Eksempel
En medarbejder logger ind på sin computer, hvorefter loginoplysningerne sendes til en LDAP-katalogserver, der slår brugeren op og bekræfter, om brugernavn og adgangskode er korrekte.
Ofte stillede spørgsmål
Hvad betyder forkortelsen LDAP?
LDAP står for Lightweight Directory Access Protocol og er en lettere, mere ressourcevenlig udgave af den ældre Directory Access Protocol fra X.500-standarden.
Er LDAP det samme som Active Directory?
Nej. LDAP er selve protokollen for at tilgå og redigere data i et katalog, mens Active Directory er Microsofts katalogtjeneste, der blandt andet bruger LDAP som kommunikationsprotokol og tilføjer funktioner som gruppepolitikker og domæneadministration.
Hvilke systemer bruger typisk LDAP?
LDAP bruges blandt andet af mailservere, VPN-løsninger, Active Directory, OpenLDAP samt en række udviklerværktøjer og styresystemer, der har brug for central login- og adgangsstyring.
Hvordan sikres en LDAP-forbindelse?
En LDAP-forbindelse krypteres typisk med TLS/SSL (LDAPS), og organisationer bør derudover beskytte sig mod LDAP-injections samt begrænse adgangen efter princippet om mindste rettighed.
Kan LDAP bruges uden Active Directory?
Ja. LDAP er en åben, vendor-neutral protokol, og der findes selvstændige katalogtjenester som OpenLDAP, Red Hat Directory Server og IBM Security Directory Server, der ikke kræver Active Directory.
LDAP-servere kan også ramme forkert af helt andre grunde end forkert login - lær hvordan en overbelastning i form af et DDoS-angreb kan sætte adgangen til systemerne ud af spillet.
DDoS-angreb →