Od nazw wyróżniających się do uwierzytelniania użytkownika

Organizacje często polegają na protokole LDAP (Lightweight Directory Access Protocol) w celu zarządzania krytycznymi użytkownikami, ich przechowywania i uwierzytelniania.

Może jednak wprowadzać w błąd użytkowników, prowadząc ich do mieszania go z usługą Active Directory.

W tym artykule przyjrzymy się LDAP, jego celowi i sposobowi działania. Następnie przejrzymy jego kluczowe funkcje, strukturę katalogów i możliwości organizacji danych. Na koniec omówimy znaczenie protokołu LDAP w zarządzaniu usługami katalogowymi i uwierzytelnianiem użytkowników.

Co to jest LDAP?

LDAP to skrót od Lightweight Directory Access Protocol. Jest to otwarty protokół, który zarządza bezpiecznym uwierzytelnianiem użytkowników w lokalnych katalogach. Co więcej, jest to protokół aplikacji niezależny od dostawcy, dzięki czemu jest wszechstronny i wszechobecny, zwłaszcza w rozproszonych usługach katalogowych w Internecie.

Protokół LDAP skutecznie umożliwia aplikacjom wysyłanie zapytań o informacje o użytkownikach. Oznacza to, że może działać na różne sposoby w usługach infrastruktury IT, w tym w usługach poczty elektronicznej, autoryzacji, zarządzaniu licencjami i zarządzaniu użytkownikami.

Nie należy go jednak mylić z usługami Active Directory — zestawem usług/baz danych wykorzystywanych przez firmy do organizowania, uzyskiwania dostępu i zabezpieczania zasobów IT. Zasadniczo usługi katalogowe umożliwiają organizacjom przechowywanie danych, które są opisowe, statyczne i wartościowe.

Z technicznego punktu widzenia LDAP jest przypisywany pełnemu procesowi reprezentacji danych w ramach usługi katalogowej. Zapewnia, że ​​użytkownicy mogą uzyskiwać dane w z góry zdefiniowany sposób. Oznacza to, że LDAP umożliwia organizacjom tworzenie wpisów danych w usługach katalogowych za pomocą swoich narzędzi.

Tak więc w usłudze Active Directory protokół LDAP zapewnia również sposób tworzenia wpisów na podstawie różnych przedstawionych elementów pierwotnych.

Krótko mówiąc, LDAP to:

  • Protokół komunikacyjny
  • Jest to otwarty, niezależny od dostawcy protokół aplikacji
  • Protokół programowy przechowuje i porządkuje dane tak, aby można je było łatwo przeszukiwać.
  • Współpracuje z katalogami lokalnymi
  • Współpracuje z usługą Active Directory zawierającą dane statyczne, opisowe i wartościowe
  • Nie jest to nowy protokół i został wydany w 2003 roku

Jaki jest jego cel?

Cel LDAP obraca się wokół dwóch rzeczy:

  • Przechowuje dane w katalogu LDAP/Active
  • Uwierzytelnij dostęp użytkownika do tego katalogu
  • Zezwalaj aplikacjom na używanie odpowiedniego języka komunikacji do wysyłania i odbierania danych z usług katalogowych.

Innymi słowy, działa jako protokół komunikacyjny, który nie tylko umożliwia uwierzytelnianie i autoryzację, ale także organizuje dane w sposób umożliwiający ich przeszukiwanie. Korzystając z LDAP, organizacje mogą przechowywać krytyczne informacje o użytkownikach i zasobach IT, w tym poświadczenia użytkowników. Ponadto może zapewnić bezpieczny dostęp, umożliwiając administratorom aktywne ustalanie reguł dostępu.

Jak działa LDAP?

Rdzeniem LDAP jest architektura klient-serwer.

Tak więc, gdy ma miejsce uwierzytelnianie LDAP, jest ono zgodne z modelem klient-serwer. A w tym czasie kluczowymi graczami są:

  • Directory System Agent (DSA): serwer z uruchomionym LDAP w określonej sieci.
  • Nazwa wyróżniająca (DN) zawiera ścieżkę do poruszania się po drzewie informacji katalogowych (DIT).
  • Directory User Agent (DUA): DUA służy do uzyskiwania dostępu do DSA jako klient.
  • Względna nazwa wyróżniająca (RDN): RDN określa każdy składnik w ścieżce DN.
  • Interfejs programowania aplikacji (API): Mamy interfejsy API, które komunikują się między usługami i produktami.

W procesie uwierzytelniania LDAP, gdy użytkownik uruchamia program kliencki LDAP, taki jak aplikacja poczty e-mail, administrator może skonfigurować sposób interakcji klienta LDAP z usługami katalogowymi w celu uwierzytelnienia. Na przykład może użyć dowolnej z dwóch dostępnych metod uwierzytelniania użytkownika:

Podczas próby logowania wymagane jest uwierzytelnienie DN. Po rozpoczęciu procesu LDAP przypisuje klienta do agenta systemu katalogów (DSA), który używa nazwy wyróżniającej do wyszukiwania pasujących rekordów w bazie danych.

Względna nazwa wyróżniająca (RDN) w obrębie nazwy wyróżniającej jest krytyczną częścią wyszukiwania LDAP, ponieważ jest używana na każdym etapie procesu wyszukiwania w drzewie informacji katalogowych (DIT).

Jeśli wyszukiwanie zakończy się pomyślnie, pasujący identyfikator UID i hasło użytkownika zostaną dopasowane w celu sprawdzenia poprawności użytkownika. Jeśli nie, zwraca nieprawidłowe wyniki.

Na koniec klient odłącza się od serwera LDAP. Po wykonaniu tej czynności uwierzytelniony użytkownik może następnie komunikować się z usługami za pośrednictwem interfejsów API. Oznacza to, że może przeglądać wszystkie przechowywane informacje — jedynym ograniczeniem są przyznane uprawnienia.

Jeśli chcesz przeczytać więcej o tym, jak działa LDAP, zapoznaj się z artykułem opublikowanym w 2003 roku przez Grega Vanedera i Marka Wahla. Jeśli chcesz dowiedzieć się więcej o operacjach wyszukiwania LDAP, zapoznaj się z sekcją Operacja wyszukiwania LDAP.

Kluczowe cechy LDAP

Najważniejsze funkcje LDAP można podsumować poniżej:

  • Uwierzytelnianie sesji użytkownika: może służyć do uwierzytelniania sesji użytkownika w usłudze bazy danych, takiej jak Active Directory.
  • Różne typy operacji: Może również wykonywać operacje na bazie danych serwera katalogów, w tym
    • wiążące sesje
    • usuwanie wpisów LDAP
    • Zmodyfikuj istniejące wpisy
    • Wyszukaj i porównaj wpisy.
    • Porzuć prośby
    • Rozwiąż operacje
  • Lekki: protokół LDAP jest lekki, co zapewnia niewielkie obciążenie sieci i zasobów systemowych.
  • Niezależny od dostawcy i protokołu: LDAP jest również niezależny od dostawcy i protokołu. Oznacza to, że działa z dowolnym dostawcą/rozwiązaniem/protokołem. Na przykład możesz użyć LDAP przez TCP/IP lub X.25. Jednak najnowsza wersja LDAP, LDAPv3, korzysta z protokołu TCP/IP.
  • Struktura katalogów: LDAP używa struktury drzewa katalogów do przechowywania i uzyskiwania dostępu do zasobów w bazie danych katalogów. Relacja rodzic-dziecko oznacza szybsze wyszukiwanie i pobieranie.
  • Standaryzacja: LDAP jest standaryzowany przez IETF (Internet Engineering Task Force). Standaryzacja gwarantuje, że LDAP działa u różnych dostawców.
  • Bezpieczeństwo: protokół LDAP jest bezpieczny. Osiąga bezpieczeństwo dzięki zastosowaniu bezpiecznego protokołu TLS w warstwie TCP/IP. Może również używać bezpiecznego gniazda (SSL) do szyfrowania, odszyfrowywania i przesyłania informacji zdalnie z zachowaniem pełnej integralności i poufności.
  • Replikacja: LDAP obsługuje również replikację na wielu serwerach. Zapewnia redundancję danych i zapewnia dostępność danych w przypadku jakichkolwiek awarii. Wykorzystuje Syncrepl – silnik replikacji Sync.

Struktura katalogów LDAP

Katalog LDAP ma przejrzystą, zdefiniowaną strukturę. Umożliwia to łatwy dostęp do danych i zwiększa możliwości przeszukiwania zawartości katalogu LDAP.

Ponieważ LDAP ma strukturę drzewiastą, jest hierarchiczny. I dlatego jest preferowany głównie jako drzewo informacji katalogowych (DIT).

Różne poziomy struktury katalogów LDAP obejmują:

  • Katalog główny
  • Organizacja

Jak widać, katalog LDAP ma strukturę drzewiastą. Katalog „główny” jest wpisem najwyższego poziomu, który zawiera wszystkie inne wpisy na poziomie katalogu. Pod nim otrzymujesz Kraj (kraje), który następnie rozgałęzia się na Organizacje. Następnie rozgałęzia się na Jednostki Organizacyjne (OU), a na końcu na Osoby i Grupy.

Aby zrozumieć strukturę katalogów LDAP, spójrzmy na poniższy przykład.

 - 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”

Jednostka główna jest identyfikowana za pomocą DC, co oznacza atrybut Domain Component. Tak więc, jeśli „dc=com”, wpis główny jest identyfikowany jako domena „com”.

Pod rootem możesz mieć wiele organizacji lub domen. Jest reprezentowany przez „dc=organizacja”. pod domeną „com”.

Podobnie każda organizacja może mieć jedną lub wiele jednostek organizacyjnych (OU). Administrator może je logicznie uporządkować w podpodziały. Na przykład możesz ustawić jednostkę organizacyjną na „użytkownicy”, „grupy” lub „superużytkownicy”.

Wreszcie, pod każdą jednostką organizacyjną możesz wyświetlić różne wpisy, w tym grupy, urządzenia, użytkowników itp. W naszym przykładzie dwie wartości użytkowników jednostki organizacyjnej to „Nitish Singh” i „Oliver Green”. Podobnie w Grupach OU mamy „Administratorów”, „Użytkowników” i „Superużytkowników”.

Struktura katalogów LDA w dużej mierze zależy od nazwy wyróżniającej (DN), ponieważ jest używana do identyfikacji każdego wpisu. To dlatego, że zawiera unikalną nazwę i służy do pobierania względnej nazwy wyróżniającej (RDN).

Wspólne elementy LDAP

Aby zrozumieć organizację danych LDAP, musimy zrozumieć wspólne elementy LDAP, które prowadzą do konstrukcji wpisów w systemie LDAP.

Do podstawowych składników danych LDAP należą:

  • Atrybuty:
  • Wpisy:
  • Drzewa informacji o danych

Atrybuty

Atrybuty w LDAP to pary klucz-wartość. Przechowują one dane w systemie LDAP. Na przykład atrybut mail musi być używany do przechowywania poczty w systemie LDAP.

Poczta: [email protected]

Wpisy

Wpisy w systemie LDAP kojarzą się z przypisywaniem w celu nadania znaczenia. Wpisy można traktować jako zbiór powiązanych atrybutów.

Na przykład dane w formacie LDIF (LDAP Data Interchange Format) będą wyglądać jak poniżej:

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

objectclass: wizard

sn: Hogwarts

cn: Harry Potter

Drzewa informacji o danych

Drzewa informacji o danych lub DIT reprezentują dane i uzyskują do nich dostęp w systemie LDAP. Ponieważ większość danych jest rozgałęziona, sensowne jest przedstawienie ich za pomocą drzew. Jest to analogiczne do systemu plików z powiązaniem rodzic-dziecko.

Organizacja danych LDAP

Teraz, mając podstawową ideę encji, możemy zbadać organizację danych w systemie LDAP.

Tutaj LDAP wykorzystuje DIT do organizowania i strukturyzowania danych. Jak jednak to osiągnąć? Omówmy to poniżej.

Aby umieścić wpisy w DIT, które są ze sobą powiązane hierarchicznie. Tak więc, gdy tworzony jest nowy wpis, jest on dodawany do struktury drzewiastej jako element potomny istniejącego wpisu.

Wszystko zaczyna się na szczycie drzewa hierarchii w DIT. Ponieważ obejmuje wszystkie wpisy podrzędne, jest głównie oznaczony jako organizacja, taka jak „dc=com lub example. Odbywa się to za pomocą komponentów domeny, aby zapewnić łatwe zarządzanie. W ten sposób administrator może ustawić lokalizację za pomocą l=nazwa_lokalizacji lub segmentów organizacyjnych, takich jak ou=tech, marketing itp.

We wpisach używana jest jednostka organizacyjna (OU) objectClass. To dlatego, że wpisy mogą używać etykiety atrybutu ou=. Są proste i oferują doskonały sposób kategoryzowania i znajdowania informacji w DIT.

Następnie pojawia się kolejna ważna koncepcja znana jako względna nazwa wyróżniająca. Jest to względna nazwa elementu w zależności od jego poziomu hierarchii DIT. Tak więc, aby uzyskać dostęp do wpisu, należy wprowadzić wartości RDN podmiotu wraz z wartością RDN rodzica.

Tworzy to łańcuch wartości RDN, który przechodzi od dołu do góry, tworząc ścieżkę do tego wpisu. A ten łańcuch wartości RDN jest znany jako „Nazwa wyróżniająca lub DN”.

Innymi słowy, podczas tworzenia wpisu należy podać nazwę wyróżniającą, aby LDAP dokładnie wiedział, gdzie należy umieścić nowy zasób lub informacje. Tak więc RDN działa jako wartość względna, podczas gdy DN jest bardziej ścieżką bezwzględną.

Znaczenie LDAP

W tej sekcji przyjrzymy się znaczeniu protokołu LDAP z dwóch perspektyw:

  • Zarządzanie usługą katalogową: protokół LDAP ma odpowiednie środki do przechowywania i uzyskiwania dostępu do danych katalogowych LDAP. Omówiliśmy je już w sekcjach „Jak działa LDAP i komponenty danych” oraz „Organizacja”. LDAP to sposób zarządzania, przechowywania, uzyskiwania dostępu i zabezpieczania danych. Zapewnia również sprawne wyszukiwanie informacji. Ponadto oferuje skalowalność i replikację.
  • Uwierzytelnianie użytkownika: Oprócz zarządzania usługami katalogowymi, LDAP przoduje w uwierzytelnianiu i autoryzacji użytkowników. Po utworzeniu połączenia użytkownik ma dostęp do przechowywanych zasobów na podstawie zasad dostępu ustalonych przez administratora.

LDAP a Active Directory

Ludzie często mylą LDAP i Active Directory. LDAP i Active Directory firmy Microsoft ściśle ze sobą współpracują, aby zapewnić organizacjom środki do bezpiecznego przechowywania i uzyskiwania dostępu do danych organizacyjnych w różnych działach.

Tak więc LDAP to protokół, podczas gdy Active Directory to usługa katalogowa, która przechowuje dane organizacyjne w strukturze przypominającej drzewo.

LDAP działa jako protokół komunikacyjny umożliwiający dostęp do serwerów katalogowych, takich jak Active Directory.

Wniosek

LDAP to kluczowy protokół do pracy z usługami Active Directory. Jest to lekki protokół, który nie powoduje żadnych narzutów na usługi i serwery, z którymi współpracuje. Co więcej, jego otwarty, niezależny od dostawców i ustandaryzowany charakter oznacza, że ​​można go łatwo zintegrować z istniejącymi rozwiązaniami.

Możesz także zapoznać się z uwierzytelnianiem wieloskładnikowym (MFA).

x