Од истакнутиһ имена до аутентификације корисника

Uobičajeno je da organizacije koriste LDAP (Lightweight Directory Access Protocol) za ključno upravljanje korisnicima, skladištenje i autentifikaciju.

Međutim, ovo može zbuniti korisnike, navodeći ih da ga pomešaju sa Active Directory-jem.

U ovom tekstu ćemo detaljnije razmotriti LDAP, njegovu svrhu i način funkcionisanja. Zatim ćemo analizirati njegove osnovne karakteristike, strukturu direktorijuma i mogućnosti organizacije podataka. Na kraju, osvrnućemo se na značaj LDAP-a u upravljanju servisom direktorijuma i autentifikaciji korisnika.

Šta je LDAP?

LDAP je akronim za Lightweight Directory Access Protocol. To je otvoreni protokol koji upravlja sigurnom autentifikacijom korisnika za lokalne direktorijume. Nadalje, to je aplikativni protokol koji je nezavisan od prodavca, što ga čini raznovrsnim i široko rasprostranjenim, naročito u distribuiranom okruženju za informacije o imeniku preko interneta.

LDAP je efikasan u omogućavanju aplikacijama da pretražuju korisničke informacije. To znači da se može koristiti na različite načine u IT infrastrukturi, uključujući usluge e-pošte, autorizaciju, upravljanje licencama i upravljanje korisnicima.

Međutim, ne treba ga mešati sa uslugama aktivnog direktorijuma – skupom usluga/baza podataka koje preduzeća koriste za organizovanje, pristup i osiguravanje IT resursa. U suštini, usluge imenika omogućavaju organizacijama da skladište podatke koji su opisni, statični i vredni.

Tehnički, LDAP se odnosi na kompletan proces predstavljanja podataka u okviru usluge imenika. Osigurava da korisnici mogu doći do podataka na unapred definisan način. To znači da LDAP omogućava organizacijama da kreiraju zapise podataka unutar servisa imenika koristeći odgovarajuće alate.

Dakle, u kontekstu Active Directory-ja, LDAP takođe definiše kako se zapisi formiraju na osnovu različitih osnovnih elemenata koji su navedeni.

Ukratko, LDAP je:

  • Komunikacioni protokol
  • Otvoreni aplikacioni protokol koji je nezavistan od dobavljača
  • Softverski protokol koji čuva i distribuira podatke na način da se mogu lako pretraživati.
  • Radi sa lokalnim direktorijumima
  • Radi sa Active Directory-jem koji sadrži podatke koji su statični, deskriptivni i vredni
  • Nije novi protokol i objavljen je 2003. godine

Koja je njegova svrha?

Svrha LDAP-a se svodi na tri glavna zadatka:

  • Skladištenje podataka u LDAP/Active Directory-ju
  • Verifikacija pristupa korisnika pomenutom direktorijumu
  • Omogućavanje aplikacijama da koriste odgovarajući komunikacioni jezik za slanje i primanje podataka iz usluga imenika.

Drugim rečima, on deluje kao komunikacioni protokol koji nije samo sposoban za autentifikaciju i autorizaciju, već i organizuje podatke na način koji se može pretraživati. Koristeći LDAP, organizacije mogu da skladište ključne informacije o korisnicima i IT imovini, uključujući korisničke akreditive. Pored toga, može da obezbedi siguran pristup, omogućavajući administratorima da aktivno postavljaju pravila pristupa.

Kako funkcioniše LDAP?

U osnovi LDAP-a je arhitektura klijent-server.

Dakle, kada se izvrši LDAP autentifikacija, ona prati model klijent-server. Tokom tog procesa, ključni učesnici su:

  • Agent sistema direktorijuma (DSA): Server koji pokreće LDAP na određenoj mreži.
  • Razlikovno ime (DN) sadrži putanju za navigaciju kroz informaciono stablo direktorijuma (DIT).
  • Korisnički agent direktorijuma (DUA): DUA se koristi za pristup DSA kao klijent.
  • Relativno razlikovno ime (RDN): RDN specifikuje svaku komponentu u putanji DN-a.
  • Aplikacioni programski interfejs (API): API-ji omogućavaju komunikaciju između usluga i proizvoda.

U procesu LDAP autentifikacije, kada korisnik pokrene LDAP klijentski program, kao što je aplikacija za e-poštu, administrator može konfigurirati kako LDAP klijent komunicira sa uslugama direktorijuma za proveru autentičnosti. Na primer, može da koristi jedan od dva dostupna načina autentifikacije korisnika:

Prilikom pokušaja prijavljivanja, zahteva se DN autentifikacija. Kada proces započne, LDAP dodeljuje klijenta agentu sistema direktorijuma (DSA), koji koristi DN za traženje odgovarajućih zapisa u bazi podataka.

Relativno razlikovno ime (RDN) unutar DN-a je ključni deo LDAP pretrage jer se koristi u svakom koraku procesa pretraživanja kroz informaciono stablo direktorijuma (DIT).

Ako je pretraga uspešna, odgovarajući UID i korisnička lozinka se upoređuju kako bi se potvrdio korisnik. Ako nije, vraćaju se nevažeći rezultati.

Na kraju, klijent se odjavljuje sa LDAP servera. Kada se to uradi, autentifikovani korisnik može da komunicira sa uslugama putem API-ja. To znači da može pristupiti svim sačuvanim informacijama – jedino ograničenje su dozvole.

Ako želite da saznate više o tome kako LDAP funkcioniše, pogledajte rad koji su 2003. godine objavili Greg Vaneder i Mark Vahl. A ako vas zanimaju detalji o tome kako funkcionišu LDAP operacije pretrage, možete pogledati „Operacija LDAP pretrage“.

Ključne karakteristike LDAP-a

Ključne karakteristike LDAP-a mogu se sažeti na sledeći način:

  • Autentifikacija korisničkih sesija: Može se koristiti za autentifikaciju korisničkih sesija za uslugu baze podataka kao što je Active Directory.
  • Različiti tipovi operacija: Takođe može da obavlja operacije sa bazom podataka servera direktorijuma, uključujući:
    • Povezivanje sesija
    • Brisanje LDAP zapisa
    • Izmenu postojećih zapisa
    • Pretragu i poređenje zapisa.
    • Odustajanje od zahteva
    • Operacije odjavljivanja
  • Lagani protokol: LDAP je lagan, što osigurava minimalne troškove mrežnih i sistemskih resursa.
  • Nezavisan od dobavljača i protokola: LDAP je takođe nezavistan od dobavljača i protokola. To znači da radi sa bilo kojim dobavljačem/rešenjem/protokolom. Na primer, možete da koristite LDAP preko TCP/IP ili X.25. Međutim, najnovija LDAP verzija, LDAPv3, koristi TCP/IP.
  • Struktura direktorijuma: LDAP koristi strukturu stabla direktorijuma za skladištenje i pristup resursima unutar baze podataka direktorijuma. Odnos roditelj-dete ubrzava pretragu i pronalaženje informacija.
  • Standardizacija: LDAP je standardizovan od strane IETF (Internet Engineering Task Force). Standardizacija osigurava da LDAP radi kod različitih dobavljača.
  • Sigurnost: LDAP je siguran. Bezbednost postiže korišćenjem TLS-a preko TCP/IP sloja. Takođe može da koristi Secure Socket (SSL) za šifrovanje, dešifrovanje i daljinski prenos informacija uz pun integritet i poverljivost.
  • Replikacija: LDAP takođe podržava replikaciju na više servera. Osigurava redundanciju podataka i obezbeđuje dostupnost podataka u slučaju bilo kakvih grešaka. Koristi Syncrepl – sinhronizacioni mehanizam za replikaciju.

Struktura LDAP direktorijuma

LDAP direktorijum ima jasnu, definisanu strukturu. To omogućava lak pristup podacima i povećava pretraživost sadržaja LDAP direktorijuma.

Pošto LDAP prati strukturu nalik stablu, on je hijerarhijski. Zbog toga se uglavnom preferira kao informaciono stablo direktorijuma (DIT).

Različiti nivoi strukture LDAP direktorijuma uključuju:

  • Osnovni direktorijum
  • Organizacija

Kao što vidite, postoji struktura stabla u LDAP direktorijumu. Osnovni direktorijum je ulaz na najvišem nivou koji obuhvata sve ostale unose na nivou direktorijuma. Ispod njega, dobijate državu(e) koja se zatim grana na organizaciju(e). Zatim se širi na organizacione jedinice (OU) i na kraju na pojedince i grupe.

Da bismo razumeli strukturu LDAP direktorijuma, pogledajmo primer u nastavku.

 - Root (Top-level entry)
   |
   +-- Country: "dc=com" (e.g., dc=example,dc=com)
         |
         +-- Organization: "dc=example" (e.g., dc=example)
               |
               +-- Organizational Unit (OU): "ou=Users"
               |      |
               |      +-- User: "cn=Nitish Singh"
               |      |
               |      +-- User: "cn= Oliver Green"
               |
               +-- Organizational Unit (OU): "ou=Groups"
                      |
                      +-- Group: "cn=Admins"
                      |
                      +-- Group: "cn=Users"
          |
          +-- Group: “cn=Superusers”

Osnovni entitet je identifikovan sa DC, što je skraćenica za atribut komponente domena. Dakle, ako je „dc=com“, osnovni unos se identifikuje kao „com“ domen.

Ispod root-a možete imati više organizacija ili domena. Predstavlja ga „dc=organizacija“ ispod domena „com“.

Slično tome, svaka organizacija može imati jednu ili više organizacionih jedinica (OU). Administrator ih može logički organizovati u pododseke. Na primer, možete postaviti OU na „korisnici“, „grupe“ ili „superkorisnici“.

Na kraju, ispod svake OU možete navesti različite unose, uključujući grupe, uređaje, korisnike itd. U našem primeru, dve vrednosti korisnika OU uključuju „Nitish Singh“ i „Oliver Green“. Isto tako, ispod OU grupa imamo „Administratore“, „Korisnike“ i „Superkorisnike“.

Struktura LDAP direktorijuma u velikoj meri zavisi od razlikovnog imena (DN) jer se koristi za identifikaciju svakog zapisa. To je zato što sadrži jedinstveno ime i koristi se za pronalaženje relativnog razlikovnog imena (RDN).

LDAP zajednički elementi

Da bismo razumeli organizaciju LDAP podataka, moraćemo da razumemo zajedničke elemente LDAP-a koji vode do konstrukcije zapisa u LDAP sistemu.

Osnovne komponente LDAP podataka uključuju:

  • Atribute
  • Zapise
  • Informaciono stablo podataka

Atributi

Atributi u LDAP-u su parovi ključ-vrednost. Oni skladište podatke unutar LDAP sistema. Na primer, atribut mail mora se koristiti za čuvanje e-pošte u okviru LDAP sistema.

Mail: [email protected]

Zapisi

Zapisi u LDAP sistemu se povezuju sa atributima da bi dobili značenje. Zapise možete zamisliti kao kolekciju povezanih atributa.

Na primer, podaci u LDIF (LDAP format za razmenu podataka) bi izgledali ovako:

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

objectclass: wizard

sn: Hogwarts

cn: Harry Potter

Informaciono stablo podataka

Informaciona stabla podataka, ili DIT, predstavljaju i pristupaju podacima unutar LDAP sistema. Pošto je većina podataka razgranata, logično je predstaviti ih kroz stabla. To je analogno sistemu datoteka sa asocijacijom roditelj-dete.

Organizacija LDAP podataka

Sada kada imamo osnovnu ideju o entitetima, možemo istražiti organizaciju podataka unutar LDAP sistema.

LDAP koristi DIT za organizovanje i strukturiranje podataka. Međutim, kako se to postiže? Razmotrimo to u nastavku.

Za postavljanje zapisa u DIT-u, oni su hijerarhijski povezani jedni sa drugima. Dakle, kada se kreira novi zapis, on se dodaje strukturi nalik stablu kao dete postojećeg zapisa.

Sve počinje na vrhu hijerarhijskog stabla u DIT-u. Pošto obuhvata sve podređene zapise, uglavnom se označava kao organizacija kao što je „dc=com“ ili „example“. Ovo se radi korišćenjem komponenti domena kako bi se obezbedilo jednostavno upravljanje. Na ovaj način, administrator može postaviti lokaciju koristeći l=naziv_lokacije ili organizacione segmente, kao što su ou=teh, marketing, itd.

Zapisi koriste organizacionu jedinicu (OU) objectClass. To je zato što zapisi mogu koristiti oznaku atributa ou=. Oni su jednostavni i pružaju odličan način za kategorizaciju i pronalaženje informacija u DIT-u.

Sledeći važan koncept je poznat kao Relativno razlikovno ime. To je relativno ime elementa u zavisnosti od nivoa njegove DIT hijerarhije. Dakle, da biste pristupili zapisu, morate uneti RDN vrednosti entiteta zajedno sa roditeljskom RDN vrednošću.

Ovo kreira lanac RDN vrednosti, koji ide od dna ka vrhu, stvarajući putanju do tog zapisa. A ovaj lanac RDN vrednosti je poznat kao „Razlikovno ime ili DN“.

Drugim rečima, morate navesti DN prilikom kreiranja zapisa kako bi LDAP tačno znao gde treba da postavi novi resurs ili informacije. Dakle, RDN deluje kao relativna vrednost, dok je DN više apsolutna putanja.

Važnost LDAP-a

U ovom odeljku ćemo pogledati važnost LDAP-a iz dva ugla:

  • Upravljanje servisom imenika: LDAP protokol ima odgovarajuća sredstva za skladištenje i pristup podacima LDAP direktorijuma. O tome smo već govorili u odeljcima „Kako LDAP funkcioniše i komponente podataka“ i „Organizacija“. LDAP je sredstvo za upravljanje, skladištenje, pristup i bezbednost podataka. Takođe obezbeđuje efikasno pronalaženje informacija. Štaviše, nudi i skalabilnost i replikaciju.
  • Autentifikacija korisnika: Osim upravljanja servisima imenika, LDAP se ističe u autentifikaciji i autorizaciji korisnika. Kada se veza uspostavi, korisnik može pristupiti uskladištenim resursima na osnovu pravila pristupa koje je postavio administrator.

LDAP naspram Active Directory

Uobičajeno je da ljudi brkaju LDAP i Active Directory. LDAP i Microsoftov Active Directory blisko sarađuju kako bi organizacijama pružili način da sigurno i bezbedno skladište i pristupaju organizacionim podacima u svim odeljenjima.

Dakle, LDAP je protokol, dok je Active Directory proizvod usluge imenika koji čuva organizacione podatke u strukturi nalik stablu.

LDAP funkcioniše kao komunikacioni protokol za pristup serverima direktorijuma, kao što je Active Directory.

Zaključak

LDAP je ključni protokol za rad sa servisima aktivnog imenika. To je lagani protokol koji ne stvara dodatne troškove za usluge i servere sa kojima radi. Pored toga, njegova priroda otvorenog koda, nezavisna od dobavljača i standardizovana znači da se lako može integrisati u postojeća rešenja.

Možete takođe istražiti višenamensku autentifikaciju (MFA).