LDAP vs. Active Directory: Forstå forskjellen og styrken til LDAP

Organisasjoner benytter ofte LDAP (Lightweight Directory Access Protocol) for sentral brukeradministrasjon, dataoppbevaring og autentisering. Det er en viktig del av IT-infrastrukturen, men det kan oppstå forvirring blant brukere, spesielt i forhold til Active Directory.

Denne artikkelen gir en grundig gjennomgang av LDAP, dets formål og hvordan det fungerer. Vi skal se på kjernefunksjonene, katalogstrukturen og hvordan data organiseres. Til slutt vil vi se på betydningen av LDAP for administrasjon av katalogtjenester og brukerautentisering.

Hva er LDAP?

LDAP, som står for Lightweight Directory Access Protocol, er en åpen standardprotokoll for sikker brukerautentisering i lokale kataloger. Som en leverandøruavhengig applikasjonsprotokoll er den allsidig og mye brukt, særlig i distribuerte katalogtjenester over Internett.

LDAP muliggjør effektiv søking etter brukerinformasjon for applikasjoner. Det kan brukes på mange områder innen IT, som e-post, autorisasjon, lisenshåndtering og brukeradministrasjon.

Det er viktig å skille LDAP fra Active Directory, som er et sett med tjenester og databaser som brukes av virksomheter for å organisere, få tilgang til og beskytte IT-ressurser. Kort sagt, katalogtjenester lar organisasjoner lagre statisk, beskrivende og verdifull informasjon.

Teknisk sett er LDAP selve prosessen med datarepresentasjon i en katalogtjeneste. Det sørger for at brukere får tilgang til data på en forhåndsdefinert måte. Det lar også organisasjoner opprette dataoppføringer i katalogtjenester ved hjelp av ulike verktøy.

Innenfor et Active Directory, definerer LDAP hvordan oppføringer er strukturert, basert på en rekke forhåndsdefinerte elementer.

Kort oppsummert er LDAP:

  • En kommunikasjonsprotokoll
  • En åpen, leverandøruavhengig applikasjonsprotokoll
  • En programvareprotokoll for lagring og organisering av data slik at de enkelt kan søkes
  • Fungerer med lokale kataloger
  • Fungerer med Active Directory som inneholder statisk, beskrivende og verdifull data
  • Ikke en ny protokoll, den ble publisert i 2003

Hva er formålet?

Formålet med LDAP er todelt:

  • Lagre data i en LDAP/Active Directory
  • Autentisere brukers tilgang til den aktuelle katalogen
  • Gjøre det mulig for programmer å bruke riktig kommunikasjonsmetode for å sende og motta data fra katalogtjenester.

LDAP er en kommunikasjonsprotokoll som ikke bare håndterer autentisering og autorisasjon, men også organiserer data på en søkbar måte. Organisasjoner kan bruke LDAP for å lagre viktig bruker- og IT-ressursinformasjon, inkludert brukerlegitimasjon. Den kan også sikre tilgang ved at administratorer kan sette opp tilgangsregler.

Hvordan fungerer LDAP?

Kjernen i LDAP er en klient-tjener-arkitektur.

Når LDAP-autentisering skjer, følger den en klient-tjener-modell. Nøkkelaktørene i denne prosessen er:

  • Directory System Agent (DSA): En server som kjører LDAP i et nettverk.
  • Distinguished Name (DN): Inneholder banen for å navigere i Directory Information Tree (DIT).
  • Directory User Agent (DUA): DUA brukes av klienter for å få tilgang til DSA.
  • Relative Distinguished Name (RDN): Spesifiserer hver komponent i DN-banen.
  • Application Programming Interface (API): APIer brukes for å kommunisere mellom tjenester og produkter.

Under LDAP-autentisering kan administratorer konfigurere hvordan LDAP-klienter, som et e-postprogram, kommuniserer med katalogtjenester. Det er to vanlige metoder for brukerautentisering:

I et innloggingsforsøk blir DN-autentisering etterspurt. LDAP tildeler klienten til en Directory System Agent (DSA), som bruker DN for å søke etter matchende oppføringer i databasen.

Relative Distinguished Name (RDN) i DN er en viktig del av LDAP-søk, og brukes for hvert steg i søket gjennom Directory Information Tree (DIT).

Hvis søket er vellykket, sammenlignes samsvarende UID og brukerpassord for å validere brukeren. Hvis ikke returneres ugyldige resultater.

Til slutt kobler klienten seg fra LDAP-serveren. Den autentiserte brukeren kan nå kommunisere med tjenestene gjennom API-ene, med tilgang begrenset av de gitte tillatelsene.

For mer informasjon om hvordan LDAP fungerer, kan man lese artikkelen publisert i 2003 av Greg Vaneder og Mark Wahl. Hvis man ønsker mer informasjon om LDAP-søk, kan man se nærmere på LDAP-søkeoperasjonen.

Nøkkelfunksjoner til LDAP

Nøkkelfunksjonene til LDAP kan oppsummeres som følger:

  • Autentisere brukersesjoner: Kan brukes til å autentisere brukersesjoner mot en databasetjeneste som Active Directory.
  • Ulike operasjonstyper: Kan utføre operasjoner i en katalogserverdatabase, inkludert:
    • Bindende økter
    • Sletting av LDAP-oppføringer
    • Endre eksisterende oppføringer
    • Søk og sammenlign oppføringer
    • Avbryt forespørsler
    • Løsne operasjoner
  • Lettvekt: LDAP er lettvekt, noe som sikrer minimal overhead på nettverket og systemressurser.
  • Leverandør- og protokolluavhengig: LDAP er også leverandør- og protokolluavhengig. Det betyr at det fungerer med alle leverandører/løsninger/protokoller. For eksempel kan LDAP brukes over TCP/IP eller X.25. Den nyeste versjonen, LDAPv3, benytter imidlertid TCP/IP.
  • Katalogstruktur: LDAP bruker en trestruktur for å lagre og få tilgang til data. Foreldre-barn-relasjonen gir raskere søk og henting av data.
  • Standardisering: LDAP er standardisert av IETF (Internet Engineering Task Force). Standardiseringen sikrer at LDAP fungerer på tvers av ulike leverandører.
  • Sikkerhet: LDAP er sikker. Den oppnår sikkerhet ved å bruke TLS over TCP/IP-laget. Den kan også bruke Secure Socket (SSL) til å kryptere, dekryptere og overføre informasjon eksternt med full integritet og konfidensialitet.
  • Replikering: LDAP støtter også replikering på tvers av flere servere. Dette sikrer dataredundans og tilgjengelighet i tilfelle feil. Syncrepl, en synkroniseringsmotor, benyttes for replikering.

LDAP-katalogstruktur

LDAP-katalogen har en klar og definert struktur. Dette muliggjør enkel tilgang og øker søkbarheten av kataloginnholdet.

LDAP har en hierarkisk trestruktur, og foretrekkes derfor ofte som et Directory Information Tree (DIT).

De ulike nivåene i LDAP-katalogstrukturen inkluderer:

  • Rotkatalogen
  • Organisasjon

Som man ser, er LDAP-katalogen organisert i en trestruktur. Rotkatalogen er den øverste oppføringen og inneholder alle andre oppføringer på katalognivået. Under rotkatalogen finner man Land, som igjen forgrener seg til Organisasjoner. Deretter forgrener den seg til organisasjonsenheter (OU) og til slutt individer og grupper.

La oss ta en titt på et eksempel for å forstå LDAP-katalogstrukturen:

 - Rot (Toppnivå oppføring)
   |
   +-- Land: "dc=com" (f.eks. dc=eksempel,dc=com)
         |
         +-- Organisasjon: "dc=eksempel" (f.eks. dc=eksempel)
               |
               +-- Organisasjonsenhet (OU): "ou=Brukere"
               |      |
               |      +-- Bruker: "cn=Nitish Singh"
               |      |
               |      +-- Bruker: "cn=Oliver Green"
               |
               +-- Organisasjonsenhet (OU): "ou=Grupper"
                      |
                      +-- Gruppe: "cn=Administratorer"
                      |
                      +-- Gruppe: "cn=Brukere"
          |
          +-- Gruppe: “cn=Superbrukere”

Rotentiteten identifiseres med DC, som står for Domain Component-attributt. Hvis «dc=com», er rotoppføringen definert som «com»-domenet.

Under rotkatalogen kan det være flere organisasjoner eller domener. Disse representeres med «dc=organisasjon» under «com»-domenet.

Hver organisasjon kan ha en eller flere organisasjonsenheter (OU). Administratorer kan organisere disse logisk i underavdelinger. For eksempel kan en OU settes til «brukere», «grupper» eller «superbrukere».

Under hver OU kan det listes opp forskjellige oppføringer, inkludert grupper, enheter og brukere. I dette eksemplet har OU-brukere «Nitish Singh» og «Oliver Green», mens OU-grupper har «Administratorer», «Brukere» og «Superbrukere».

LDAP-katalogstrukturen er avhengig av Distinguished Name (DN), som brukes til å identifisere hver oppføring. DN inneholder et unikt navn og brukes til å hente RDN (Relative Distinguished Name).

LDAP vanlige elementer

For å forstå LDAP-dataorganisasjonen, er det nødvendig å kjenne til de vanlige elementene som ligger til grunn for konstruksjonen av oppføringer i LDAP-systemet.

De grunnleggende datakomponentene i LDAP inkluderer:

  • Attributter
  • Oppføringer
  • Datainformasjonstrær

Attributter

Attributter i LDAP er nøkkel-verdi-par. De brukes til å lagre data i LDAP-systemet. For eksempel brukes attributtet «mail» for å lagre e-postadresser i LDAP-systemet.

mail: [email protected]

Oppføringer

Oppføringene i LDAP-systemet knyttes til attributter for å gi mening. Oppføringer kan betraktes som en samling av relaterte attributter.

For eksempel vil data i LDIF-format (LDAP Data Interchange Format) se ut som dette:

dn: sn=Hogwarts, ou=wizards, dc=WizardingWorld, dc=fiction

objectclass: wizard

sn: Hogwarts

cn: Harry Potter

Datainformasjonstrær

Datainformasjonstrær (DIT) representerer og gir tilgang til data i et LDAP-system. Ettersom data ofte er forgrenet, er det hensiktsmessig å representere det gjennom trær. Dette ligner på et filsystem med en foreldre-barn-relasjon.

LDAP-dataorganisasjon

Med en grunnleggende forståelse av enheter, kan vi utforske hvordan data organiseres i LDAP-systemet.

LDAP bruker DIT til å organisere og strukturere data. La oss se nærmere på hvordan dette fungerer.

Oppføringer plasseres i en DIT på en hierarkisk måte. Når en ny oppføring opprettes, legges den til i den trelignende strukturen som et underordnet element til en eksisterende oppføring.

Prosessen starter på toppen av DIT-hierarkiet. Ettersom den dekker alle underordnede oppføringer, er den hovedsakelig merket som en organisasjon, for eksempel «dc=com eller eksempel». Dette gjøres ved hjelp av domenekomponenter for å lette administrasjon. Administratoren kan angi lokasjon ved hjelp av l=location_name eller organisasjonssegmenter som ou=tech eller markedsføring.

Oppføringene bruker Organization Unit (OU) objectClass, fordi de kan bruke attributt-etiketten ou=. Dette gir en enkel og effektiv måte å kategorisere og finne informasjon i DIT.

Et annet viktig konsept er Relative Distinguished Name (RDN). Det er det relative navnet på et element avhengig av dets DIT-hierarkinivå. For å få tilgang til en oppføring, må RDN-verdiene til enheten angis, sammen med RDN-verdien til overordnet element.

Dette skaper en kjede av RDN-verdier, fra bunn til topp, som danner en sti til den aktuelle oppføringen. Denne kjeden av RDN-verdier kalles «Distinguished Name eller DN».

Med andre ord, DN må angis under opprettelse av en oppføring, slik at LDAP vet hvor den nye ressursen skal plasseres. RDN fungerer som en relativ verdi, mens DN er en absolutt bane.

Viktigheten av LDAP

Vi ser nærmere på viktigheten av LDAP fra to perspektiver:

  • Administrere katalogtjeneste: LDAP-protokollen har de riktige mekanismene for å lagre og få tilgang til katalogdata. Dette ble diskutert i avsnittene «Hvordan LDAP fungerer», «Datakomponenter» og «Organisasjon». LDAP er et verktøy for å administrere, lagre, få tilgang til og sikre data, og den sikrer også effektiv informasjonsinnhenting. Den tilbyr også skalerbarhet og replikering.
  • Brukerautentisering: I tillegg til administrasjon av katalogtjenester, utmerker LDAP seg også ved brukerautentisering og autorisasjon. Når tilkoblingen er opprettet, kan brukeren få tilgang til lagrede ressurser basert på tilgangsreglene satt av administratoren.

LDAP vs. Active Directory

Det er vanlig at folk blander LDAP og Active Directory. LDAP og Microsoft Active Directory jobber sammen for å gi organisasjoner en sikker måte å lagre og få tilgang til organisasjonsdata på.

LDAP er en protokoll, mens Active Directory er et katalogtjenesteprodukt som lagrer organisasjonsdata i en trelignende struktur.

LDAP fungerer som en kommunikasjonsprotokoll for å få tilgang til katalogservere som Active Directory.

Konklusjon

LDAP er en viktig protokoll for å jobbe med aktive katalogtjenester. Det er en lettvektsprotokoll som ikke skaper unødvendig overhead for tjenestene og serverne den brukes med. I tillegg betyr dens åpen kildekode, leverandøruavhengige og standardiserte natur at den enkelt kan integreres i eksisterende løsninger.

Det kan også være nyttig å utforske Multi-Factor Authentication (MFA).