Rozdział 17.
Usługi informacyjne dla przedsiębiorstw
W tym rozdziale:
Standard X.500
Protokół LDAP
Network Information Service (NIS)
Network Information Service + (NIS+)
Usługa katalogowa StreetTalk
Novell Directory Service (NDS)
Active Directory
Sieci komputerowe, a zwłaszcza największa z nich — Internet, zadomowiły się na stałe we współczesnym życiu. Sieć składająca się z czterech komputerów, połączonych ze sobą dla szybszej komunikacji, rozwinęła się w globalną bazę informacji. Wzrost liczby użytkowników podłączonych do sieci powoduje, że coraz trudniej znaleźć informacje o nich. Co gorsza, informacje w sieci (na przykład numery telefonów i adresy poczty elektronicznej) mogą być trudne do wyśledzenia, jeśli są przechowywane w różnych elektronicznych książkach adresowych, ponieważ mogą one korzystać z różnych protokołów dostępu.
Wprowadzenie
do sieciowych usług katalogowych
Usługi informacyjne dla przedsiębiorstw, czyli sieciowe usługi katalogowe, okazały się skutecznym rozwiązaniem tego problemu. Sieciowe usługi katalogowe (Network Directory Service) są jednymi z najważniejszych składników sieci przedsiębiorstwa lub sieci rozproszonych. Pozwalają one śledzić wszystkie nazwy, profile, adresy e-mail i adresy komputerów wszystkich użytkowników sieci. Oprócz udostępniania tych zasobów użytkownikom i aplikacjom, usługi katalogowe umożliwiają komunikację w sieci. Podstawowym zadaniem usług katalogowych jest nazywanie i znajdowanie zasobów sieciowych i użytkowników; mogą one też przechowywać informacje o konfiguracji sieci. Ogólną ideę sieciowej usługi katalogowej przedstawia rysunek 17.1.
Rysunek 17.1. Sieciowe usługi katalogowe |
|
Ogólnie mówiąc, usługa katalogowa kojarzy nazwy zasobów sieciowych z adresami IP. Odwzorowanie to powoduje, że użytkownik może znaleźć usługę podając jej nazwę. Ponieważ usługa katalogowa ukrywa fizyczną topologię sieci i protokoły przed użytkownikami, mogą oni korzystać z dowolnych zasobów nie wiedząc nic o ich położeniu i sposobie składowania. Aplikacje w sieci również mogą korzystać z usług katalogowych. Na przykład, aplikacja poczty elektronicznej może używać wyszukiwania w książce adresowej, aby znaleźć określonego użytkownika lub numer telefonu. Sieciowe usługi katalogowe do szybkiego wyszukiwania używają wysoce wyspecjalizowanych baz danych.
Do dodatkowych korzyści oferowanych przez sieciowe usługi katalogowe należą:
Poprawa bezpieczeństwa sieci przez odmowę dostępu intruzom i nieautoryzowanym użytkownikom.
Rozłożenie informacji na wiele komputerów obecnych w sieci.
Mechanizmy replikacji danych, które pozwalają wielu użytkownikom korzystać równocześnie z tych samych informacji i uodporniają sieć na awarie.
Możliwość partycjonowania informacji, pozwalająca składować bardzo duże liczby obiektów w różnych serwerach.
X.500 był pierwszym krokiem w stronę sieciowych usług katalogowych, opracowanym jako zestaw standardów i model informacji dla usługi katalogowej o globalnym dostępie. Niezależność tego modelu od platformy przesądziła o jego sukcesie. Jednakże, podobnie jak wszelkie pionierskie rozwiązania, miał kilka wad, które doprowadziły do powstania protokołu LDAP (Lightweight Directory Access Protocol — uproszczony protokół dostępu do katalogu). Model X.500 był duży, złożony i nie nadawał się do środowiska komputerów osobistych, które z czasem stało się popularniejsze od środowisk dużych komputerów mainframe. Największymi atutami LDAP jest bezproblemowa obsługa TCP/IP i współpraca ze środowiskiem komputerów biurkowych.
W chwili obecnej w sieciach używane są różnorodne usługi katalogowe, do których zaliczają się Network Information Service (NIS), Network Information Service+ (NIS+), Banyan Street Talk Directory Service (STDS), Novell Directory Service (NDS) i Microsoft Active Directory (AD). Najpowszechniej używanymi z nich są NDS i AD. Warto zwrócić uwagę, że większość z tych usług katalogowych opiera się na standardach LDAP i X.500 International Telecommunication Union (ITU).
Standard X.500
X.500 jest protokołem ITU (International Telecommunication Union), służącym do zarządzania sieciowymi katalogami użytkowników i zasobów. Ten sam standard został opublikowany przez Open Systems Interconnection (OSI) i IEC. Pierwsza specyfikacja X.500 została opublikowana w roku 1988. W 1993 r. została wydana bardziej rozwinięta wersja, zgodna z poprzednią.
|
Pierwsza działająca usługa katalogowa X.500 została uruchomiona przez SURFnet w 1992 r. |
X.500 jest protokołem rozproszonego katalogu, który pozwala na katalogowanie hierarchii regionów, krajów, organizacji i poszczególnych osób. Inaczej mówiąc, X.500 pomaga organizacjom na całym świecie utworzyć globalny elektroniczny katalog użytkowników, dostępny przez Internet. Ten katalog elektroniczny nazywany jest również globalną książką teleadresową i pozwala użytkownikowi w wygodny sposób szukać informacji o innych osobach. Wyszukiwanie może odbywać się według nazwiska, adresu poczty elektronicznej, numeru telefonu, organizacji itp. Jeśli informacje o organizacji zostaną umieszczone w tej książce adresowej, staną się dostępne globalnie.
Protokół X.500 opiera się na modelu klient-serwer. Globalny katalog, stosowany przez X.500, nosi nazwę bazy danych informacji katalogowych (DIB — Directory Information Database) i jest potocznie nazywany książką teleadresową (white pages). Zgodnie z modelem informacji X.500, DIB jest wspólnie użytkowana przez agenty systemowe katalogu (DSA — Directory System Agent), czyli serwery X.500, które utrzymują lokalne informacje organizacji. DSA utrzymuje lokalną bazę danych i może komunikować się z innymi DSA za pomocą protokołu DSP (Directory System Protocol — protokół systemu katalogowego). DSP jest protokołem należącym do zbioru zaleceń x.500. Do przeszukiwania serwerów X.500 służą agenty użytkowników katalogu (DUA — Directory User Agent).
|
DSA może składować informacje dla więcej niż jednej organizacji, jeśli ich rozmiary są niewielkie. Gdy organizacja jest duża, jej dane katalogowe mogą mieścić się na więcej niż jednym DSA (serwerze X.500). Rozkład informacji pomiędzy DSA jest całkowicie niewidoczny dla użytkowników. |
Wszystkie DSA w usłudze katalogowej X.500 są połączone ze sobą w wirtualne drzewo informacji katalogowych (DIT — Directory Information Tree), które jest hierarchiczną strukturą danych. Cała struktura zaczyna się od korzenia lub węzła głównego (root). Poniżej korzenia definiowane są poszczególne kraje, które z kolei dzielą się na organizacje. Organizacje mogą dalej dzielić się na jednostki organizacyjne lub indywidualne osoby. Uproszczoną strukturę DIT przedstawia rysunek 17.2.
Rysunek 17.2.
Uproszczona struktura drzewa informacji katalogowych |
|
Wszystkie informacje w katalogu X.500 są przechowywane w postaci wpisów (entry), które należą do klas obiektów (class object). Klasą obiektu może być kraj, organizacja, jednostka organizacyjna lub osoba. Wszystkie informacje związane z klasami obiektów są przechowywane w postaci wpisów. Wpis stanowi zbiór atrybutów, definiujących faktyczne informacje. Klasa obiektu, do której dany obiekt należy, definiuje atrybuty, które może on posiadać. Na przykład, klasa obiektu „kraj” pozwala na atrybuty „nazwa”, „kontynent” i tak dalej. Każdy wpis jest identyfikowany przez nazwę wyróżniającą (DN — Distinguished Name). Każdy składnik DN jest nazywany względną nazwą wyróżniającą (RDN — Relative Distinguished Name). Na przykład, adres skj@nst.co.be reprezentuje nazwę DN, w której atrybut ma nazwę skj, organizacja nst, a nazwa kraju be. Składniki skj, nst i be są nazwami RDN. Model X.500 pozwala również na wpisy umowne (alias entry), służące do tworzenia relacji innych niż hierarchiczne. Wpis umowny to wpis w krótkiej postaci. Model informacji X.500 jest przedstawiony na rysunku 17.3.
|
Atrybut name (nazwa), stosujący się do wszystkich klas atrybutów, musi posiadać unikatową wartość na poziomie, do którego należy. Na przykład, jeśli w organizacji pracuje dwóch Janów Kowalskich, ich wpisy w atrybucie name muszą mieć różne wartości. |
Do właściwości X.500 należą replikacja, agent użytkownika katalogu (DUA) i przeszukiwanie katalogu.
Replikacja — podczas szukania informacji można znacząco skrócić czas dostępu i poprawić jakość usługi (Quality of Service), jeśli informacje zapisane w jednym DSA mogą zostać skopiowane (replikowane) do innych DSA. X.500 stosuje protokół DISP (Directory Information Shadowing Protocol), który pozwala na replikację części DIT pomiędzy węzłami.
Rysunek 17.3. Model informacji X.500 |
|
Directory User Agent (DUA) — użytkownik za pomocą DUA uzyskuje dostęp do danych i pobiera żądane informacje. Inaczej mówiąc, DUA jest klientem X.500, który służy użytkownikom do pozyskiwania informacji z DIT. Gdy użytkownik szuka czegoś lub przegląda dane DIT, DUA kontaktuje się z najbliższym DSA w celu uzyskania żądanych informacji. Gdy te zostaną z powodzeniem zlokalizowane, DUA zwraca je do użytkownika. Interfejsy DUA dla usług książki teleadresowej są dostępne dla wszelkich typów platform: DOS, Windows, Macintosh, Unix i tak dalej. Do najpopularniejszych DUA zaliczają się whois i finger.
Kontrola dostępu — użytkownik może odpytywać serwer X.500 (DSA) za pomocą DUA. Dostęp do katalogu (lub jego części) może być dozwolony lub zabroniony, zależnie od tożsamości użytkownika żądającego informacji.
Wyszukiwanie — wyszukiwanie można przeprowadzać na dowolnym poziomie DIT, na podstawie typu atrybutu i jego wartości, podanych przez użytkownika. Katalog jest przeszukiwany w celu znalezienia wszelkich wpisów pasujących do wartości atrybutu. Jeśli na zapytanie użytkownika nie można odpowiedzieć lokalnie, zostaje ono przekazane do innych DSA. Po znalezieniu wyników zapytania, zostają one zwrócone do użytkownika. Cały proces jest niewidoczny dla użytkownika, który odnosi wrażenie, iż cały katalog jest dostępny z lokalnego DSA. Organizacje utrzymujące DSA mogą jednakże ograniczyć uprawnienia użytkownika do wyszukiwania.
|
Wersja X.500 z roku 1993 udostępnia wszystkie powyższe możliwości; wersja z roku 1998 nie posiadała mechanizmu kontroli dostępu i usług replikacji. |
Wprawdzie wyszukiwanie katalogu X.500 jest szybkie i dostępne globalnie, lecz są z nim związane pewne wady, z których najważniejsze to:
Złożoność — ponieważ X.500 jest złożonym standardem, ani jeden z twórców aplikacji nie zaimplementował go w pełni.
Brak obsługi katalogu firm (yellow pages) — przeszukiwanie katalogu firm nie jest obsługiwane w X.500, przez co użytkownicy nie mają dostępu do pełnego zbioru informacji.
Brak obsługi TCP/IP — X.500 nie obsługuje TCP/IP, przez co nie jest możliwe równoczesne korzystanie z informacji w Internecie i w X.500.
Protokół LDAP (Lightweight Directory Access Protocol) został opracowany w roku 1995, aby zaradzić niedociągnięciom poprzednika — X.500. Pomysł polegał na zmniejszeniu trudności z dostępem do X.500 i udostępnieniu usługi katalogowej dla różnorodnych aplikacji i komputerów. Podobnie jak X.500, LDAP umożliwia dostęp do katalogów informacji, lecz jest od X.500 znacznie prostszy. I co szczególnie ważne, obsługuje protokół TCP/IP, niezbędny do korzystania z Internetu.
|
Dodatkowe informacje o X.500 można znaleźć w FRC 2116, 1279 i 1292. |
LDAP
Lightweight Directory Access Protocol został opracowany w University of Michigan na potrzeby dostępu online do usług katalogowych X.500 w Internecie oraz do odpytywania o informacje i manipulowania nimi. W istocie University of Michigan i wiele innych uniwersytetów nadal za pomocą LDAP kieruje pocztę elektroniczną i udostępnia wyszukiwanie nazwisk.
Informacje składowane w katalogach opartych na X.500 są uporządkowane w hierarchiczną strukturę, przypominającą drzewo. Będąc protokołem klient-serwer, LDAP umożliwia przeglądanie, odczyt i wyszukiwanie informacji zapisanych w usługach katalogowych X.500 w całym Internecie oraz pozwala na wykonywanie prostych zadań związanych z zarządzaniem.
LDAP jest nie tylko protokołem dostępu, lecz także prostą, szybką i skalowalną usługą katalogową. Prostą, gdyż LDAP jest uproszczoną wersją X.500, przez co dostęp do katalogów X.500 za pomocą LDAP nie jest skomplikowanym zadaniem. Z tego powodu LDAP czasami nazywany jest X.500 Lite (dosłownie „lekki X.500”). Chociaż tylko podzbiór funkcji X.500 wykorzystano ponownie w LDAP, to protokół ten posiada pełną funkcjonalność protokołu dostępu do katalogu X.500, utrzymując równocześnie pełną zgodność z X.500. Ponieważ LDAP pozwala na łatwy dostęp do usług katalogowych i zapewnia bezproblemową obsługę TCP/IP, jest lepszym wyborem dla środowiska internetowego. Dzięki temu LDAP został obecnie w pełni zaakceptowany w roli internetowego standardu usług katalogowych, działających przez TCP/IP.
|
Skalowalność oznacza zdolność systemu — sprzętu, oprogramowania lub sieci |
Sukces LDAP był tak duży, iż wielu producentów usług katalogowych (w tym Microsoft z Active Directory, Banyan ze Street Talk i Netscape Directory Server) korzysta z LDAP w roli centralnej technologii usług katalogowych. Wiodący dostawca sieciowych usług katalogowych, Novell, również oferuje moduły rozszerzające LDAP dla usługi NDS i zintegrował całkowicie NetWare 4.11 (IntraNetware) i nowsze produkty z usługą LDAP.
|
Obecnie dostępne są trzy wersje LDAP: LDAP, LDAPv2 i LDAPv3. Usługa LDAP powstała w roku 1993. Wersja LDAPv2 wyszła w roku 1996 i została zaadaptowana komercyjnie. LDAPv3 jest aktualną wersją, zatwierdzoną w 1997 r. Active Directory Service i NDS obsługują LDAPv3. |
LDAP jest standardem otwartym, wobec czego pozwala dowolnej aplikacji, działającej na dowolnej platformie, na dostęp do autonomicznych usług katalogowych LDAP lub usług katalogowych opartych na serwerze X.500 i pobieranie z nich informacji. Do tego celu służy prefiks LDAP:// w adresie URL serwera LDAP (metoda bardzo podobna do protokołów FTP i HTTP). Do usług obsługiwanych przez LDAP zalicza się wyszukiwanie adresów e-mail przez klienta poczty elektronicznej za pomocą LDAP, tekst, animacje, dźwięk, adresy URL i autoryzowany dostęp do ważnych informacji (na przykład kluczy publicznych).
Ponieważ LDAP jest oparty na X.500, ma wiele podobnych właściwości, na przykład strukturę katalogu, model danych i przestrzeni nazw oraz sposób dostępu do danych.
LDAP, podobnie jak X.500, używa globalnej struktury katalogowej. Na przykład, informacje są przechowywane w serwerze LDAP w postaci wpisów. Typ jest definiowany przez klasę obiektu, do której wpis może należeć. Każdy wpis jest zbiorem atrybutów, zawierających faktyczne informacje.
Model danych i przestrzeni nazw LDAP przypomina model używany przez X.500. Jeden lub więcej serwerów LDAP zawiera dane składające się na drzewo katalogów LDAP. Ponadto LDAP używa tej samej hierarchii wpisów, która funkcjonuje w X.500. Hierarchia zaczyna się od korzenia drzewa informacji katalogowych (DIT — Directory Information Tree) i rozchodzi aż do poziomu osób.
Sposób, w jaki informacje są organizowane oraz sposób dostępu do nich w LDAP i X.500 są podobne. Klient LDAP może wysłać żądanie informacji lub zgłosić dane do aktualizacji. Po otrzymaniu żądania serwer LDAP sprawdza prawa klienta do żądanych informacji. Jeśli klient posiada odpowiednie prawa dostępu, serwer odpowiada na żądanie lub kieruje klienta do innego serwera LDAP, w którym informacje są dostępne.
Można zastosować kontrolę dostępu do uprawnień odczytu, zapisu, wyszukiwania lub porównywania informacji dostępnych w serwerach LDAP. Zasady te mogą być implementowane dla pojedynczego użytkownika lub dla grupy. Kontrolę dostępu można ograniczyć do poziomu części drzewa, wpisu lub nawet atrybutu.
Replikacja informacji jest możliwa również dla serwerów LDAP.
Wprawdzie LDAP i X.500 są bardzo do siebie podobne, lecz jest między nimi kilka różnic:
Protokół LDAP został zaprojektowany do współpracy ze stosem protokołów TCP/IP, co pozwala na dostęp do informacji znajdujących się w Internecie. X.500 nie posiada tej możliwości, ponieważ nie obsługuje TCP/IP.
LDAP jest o wiele prostszy pojęciowo i łatwiejszy do zaimplementowania. Dzięki temu właśnie szybko zyskał aprobatę producentów.
|
Trwają prace nad umożliwieniem obsługi katalogów branżowych (yellow pages) przez LDAP. |
Dostępnych jest wiele klientów LDAP, pozwalających przeglądać katalogi zgodne z tym standardem. Najbardziej znanymi klientami LDAP są programy pocztowe typu Outlook Express lub Netscape Communicator. Po zintegrowaniu z LDAP, klienty te mogą korzystać z obszernych informacji w postaci książek adresowych. Co więcej, każdy klient z wystarczającymi uprawnieniami dostępu może korzystać z dowolnego serwera LDAP.
|
Dodatkowe informacje o LDAP zawiera RFC 1777. |
Najpopularniejsze usługi katalogowe opierają się na standardach X.500 i LDAP. Do tych usług należą NIS, NIS+, NDS, STDS i Active Directory (AD). Tabela 17.1 przedstawia pobieżny przegląd wymienionych usług katalogowych.
Tabela 17.1. Popularne usługi katalogowe
Właściwość |
NIS |
NIS+ |
STDS |
NDS |
AD |
Hierarchia informacji |
Płaska przestrzeń nazw |
Hierarchiczna przestrzeń nazw |
Hierarchia maks. do trzech poziomów |
Hierarchiczna organizacja danych |
Hierarchiczna organizacja danych |
Aktualizacje danych |
Tak |
Tak |
Tak |
Tak |
Tak |
Replikacja danych |
Ograniczona |
Tak |
Tak |
Tak |
Tak |
Partycjonowanie danych |
Tak |
Tak |
Tak |
Tak |
Tak |
Dostęp globalny |
Nie |
Nie |
Ograniczony |
Tak |
Tak |
Wyszukiwanie hostów |
Tak |
Tak |
Tak |
Tak |
Tak |
Interfejs |
Wiersz poleceń |
Wiersz poleceń |
Graficzny |
Graficzny |
Graficzny |
Poziom bezpieczeństwa |
Wyjątkowo niski |
Podatność na ataki |
Niski |
Wysoki |
Wysoki |
Obciążenie sieci |
Wysokie |
Wysokie |
Wysokie |
Niskie |
Niskie |
Współoperatywność |
Wyjątkowo ograniczona |
Ograniczona |
Ograniczona |
Ograniczona |
Wysoka |
Aby komunikować się ze sobą, użytkownicy, komputery i aplikacje wymagają określonych informacji: adresów innych komputerów, ustawień zabezpieczeń, adresów e-mail użytkowników, danych interfejsu sieciowego, usług dostępnych w sieci, istniejących grup użytkowników i tak dalej. Wraz z postępami w technologii sieciowej rośnie również ta lista. Co więcej, sieć komputerowa jest środowiskiem dynamicznym. Do sieci dodawane są wciąż nowe komputery i usługi, co prowadzi do zmian w informacjach. Zmiany muszą być aktualizowane w każdym komputerze. Przy braku centralnej usługi zarządzającej każdy komputer musiałby utrzymywać własną kopię informacji. W małych sieciach to zadanie jest nużące, lecz do opanowania; w średnich i dużych sieciach opartych na systemach Unix lub Linux zadanie to staje się czasochłonne i wymyka się spod kontroli. Skutecznym rozwiązaniem tego problemu może być usługa NIS (Network Information Service).
NIS
Usługa NIS (Network Information Service — sieciowe usługi informacyjne) zarządza informacjami potrzebnymi użytkownikom, komputerom i aplikacjom do komunikowania się ze sobą. Usługa ta może być rozproszona w sieci lokalnej (LAN). Informacje, którymi zarządza NIS, noszą nazwę przestrzeni nazw NIS (NIS namespace). Informacje są składowane w sieci w różnych serwerach NIS i udostępniane każdemu komputerowi, który ich zażąda. Komputery te są klientami NIS.
|
Historyczna nazwa NIS to Yellow Pages (YP). |
Istnieją dwa typy serwerów NIS: główne (master) i podporządkowane (slave):
Serwery główne — utrzymują główne bazy danych dla danej domeny, zawsze zawierające zaktualizowane informacje. Serwery główne są zasadniczo dostępne tylko dla administratorów sieci.
Serwery podporządkowane (inaczej serwery-kopie) — w dużej sieci kilka komputerów (hostów) zostaje wyznaczonych do roli serwerów podporządkowanych NIS, aby zapobiec przeciążeniu serwera głównego. Do serwerów podporządkowanych można uzyskać dostęp ze stacji roboczych, wobec czego muszą one utrzymywać dokładną kopię bazy danych, utrzymywanej przez serwer główny. Wszelkie zmiany w konfiguracji sieci są najpierw aktualizowane w serwerze głównym, a następnie propagowane do serwerów podporządkowanych, które dodatkowo pełnią funkcję kopii zapasowej serwera głównego.
|
Liczba serwerów podporządkowanych w domenie musi być tak dobrana, aby dostępność była wysoka, a czas odpowiedzi krótki, bez tworzenia kosztów niepotrzebnej replikacji danych do zbyt wielu hostów. |
Klienty i serwery są zgrupowane w domeny NIS — zestawy serwerów i klientów, zebrane razem z powodu jakiejś wspólnej cechy, na przykład położenia geograficznego. Każda domena ma skojarzony ze sobą zbiór właściwości. Właściwości te są przechowywane w bazach danych zwanych mapami, razem z innymi danymi systemowymi, na przykład nazwami użytkowników, hasłami i nazwami hostów. Informacje zapisane w mapach są uporządkowane w dwie kolumny: jedna przechowuje klucz, druga informacje o kluczu. Na przykład, nazwy stacji roboczych są zapisywane w mapie hosts.byname, a ich adresy w mapie hosts.byaddress. Informacje żądane przez klienta są znajdowane w tych kluczach. Domena NIS z serwerem głównym, dwoma serwerami podporządkowanymi i kilkoma klientami jest przedstawiona na rysunku 17.4.
Rysunek 17.4. Domena NIS |
|
Korzystanie z NIS przynosi wiele korzyści, między innymi:
Bezpieczeństwo — zapewnia wysoki poziom bezpieczeństwa, ponieważ każda operacja może być uwierzytelniana.
Interfejs użytkownika — zapewnia użytkownikom dostęp z prawami odczytu i zapisu.
Przyrostowe aktualizacje danych — jedynie część danych jest zmieniana.
Wyszukiwanie hostów — pozwala w danej sieci wyszukiwać hosty na podstawie adresów IP, podobnie do DNS-u. DNS jest usługą pozwalającą znajdować hosty (lub urządzenia sieciowe) w sieciach opartych na TCP/IP.
Obsługa danych binarnych i ASCII — DNS obsługuje jedynie dane ASCII z ograniczeniami rozmiaru pakietu.
|
Dodatkowe informacje o usłudze DNS zawiera rozdział 10. |
Usługa NIS ma również kilka wad:
Płaska przestrzeń nazw — ponieważ NIS nie obsługuje hierarchicznej przestrzeni nazw, w praktyce jest przydatna jedynie w sieciach lokalnych.
Scentralizowane bazy danych — obsługiwane bazy danych są scentralizowane i niehierarchiczne. Na skutek tego NIS nie obsługuje partycjonowania baz danych.
Ograniczone zdolności do replikacji — jedna replika może obsługiwać tylko jedną podsieć, przez co klienty z jednej domeny nie mają dostępu do serwerów w innych domenach.
Zależność od administratora — dostęp do bazy danych mają tylko administratorzy, wobec tego tylko oni lub użytkownicy uprzywilejowani (root) mogą aktualizować i propagować informacje.
|
Dodatkowe informacje o NIS można znaleźć w RFC 2307. |
Z powodu wad NIS, przez które trudno było zarządzać systemem (zwłaszcza w zbyt dużych sieciach), opracowana została usługa Network Information Service + (NIS+).
NIS+
NIS+ jest rozszerzeniem usługi NIS, obsługującym przestrzeń nazw NIS+. W przeciwieństwie do płaskiej przestrzeni nazw oferowanej przez NIS, przestrzeń nazw NIS+ jest hierarchiczna. Pod tym względem przestrzeń nazw NIS+ jest bardzo podobna do struktury katalogów systemu Unix. Dzięki hierarchiczności przestrzeń tę można podzielić na wiele domen. Każda domena może mieć własnego administratora i nie musi polegać na zarządzaniu scentralizowanym. Użytkownicyo odpowiednich uprawnieniach i prawach mogą uzyskać dostęp do serwerów położonych w innych domenach.
|
Sposób, w jaki ułożone są informacje w przestrzeni nazw, nie musi odpowiadać fizycznemu rozkładowi zasobów sieciowych. |
Architektura NIS+ bardzo przypomina architekturę NIS: opiera się na modelu klient-serwer i podziale na domeny. Każda domena zawiera zbiór serwerów i klienty. W domenie jeden serwer główny kontroluje pozostałe serwery podporządkowane (repliki), oraz utrzymuje bazę danych NIS+, składającą się z wielu tablic NIS+. Tablice te, w sposób ciągły aktualizowane przez serwer główny, są kopiowane do serwerów-replik. NIS+ stosuje złożone mechanizmy uwierzytelniania i autoryzacji, aby weryfikować, czy klient ma odpowiednie prawa i uprawnienia pozwalające na dostęp do bazy danych NIS+.
Zalety NIS+ w porównaniu z NIS są następujące:
Obsługa hierarchicznej przestrzeni nazw — dzięki temu NIS+ może dokładniej odwzorować hierarchię organizacyjną.
Obsługa partycjonowania NIS+ — baza danych NIS+ może zostać podzielona na katalogi, które z powodzeniem zapewnią obsługę autonomicznych domen.
Replikacja — każda replika (serwer zapasowy) może obsługiwać wiele podsieci.
Aktualizacje danych — każdy klient posiadający odpowiednie prawa, nawet zdalny, może w razie potrzeby aktualizować bazę danych NIS+. Aktualizacje mogą być zarówno automatyczne, jak i inicjowane przez serwer główny.
Do wad NIS+ zaliczają się:
Zwiększony ruch sieciowy — obsługiwane przez NIS+ okresowe automatyczne aktualizacje generują większy ruch w sieci.
Interfejs wiersza poleceń — NIS+ obsługuje tylko wiersz poleceń, który dla części użytkowników może być niewygodny.
Bezpieczeństwo — mimo że NIS+ stosuje złożony system zabezpieczeń do ochrony struktury przestrzeni nazw i zawartych w niej informacji, dostęp do danych jest łatwiejszy niż w NIS, co powoduje podatność na ataki.
|
Dodatkowe informacje o NIS+ zawierają RFC 2196 i 2065. |
Jedną z najstarszych i najdłużej stosowanych sieciowych usług katalogowych jest StreetTalk Directory Service (STDS) firmy Banyan Systems, Inc. Była ona używana w sieciowym systemie operacyjnym Banyan Vines na długo przed tym, jak inni producenci zaczęli zajmować się ideą katalogów sieciowych. W istocie, usługa STDS jest tak stara, że czasami nazywana jest „prababcią” sieciowych usług katalogowych.
STDS
StreetTalk Directory Service udostępnia rozproszoną bazę danych nazw i adresów, która kojarzy nazwy z użytkownikami i zasobami sieciowymi niezależnie od położenia zasobów w intranecie. Położenie to jest dla użytkownika całkowicie niewidoczne. StreetTalk najlepiej nadaje się dla przedsiębiorstw, które posiadają centra zarządzania rozrzucone po całym świecie. Podobnie jak NIS+, STDS rozprasza usługi katalogowe w sieci firmy na wiele serwerów, rozmieszczonych w wielu domenach. Każdy serwer w sieci obsługuje partycje usługi katalogowej, które są automatycznie synchronizowane. Aby umożliwić użytkownikom dostęp do serwerów z dowolnego miejsca sieci, informacje o obiekcie są przechowywane w serwerze, który zawiera ten określony obiekt. StreetTalk poza istniejącymi atrybutami klasy obiektu pozwala dodawać nowe atrybuty, zgodnie z potrzebami przedsiębiorstwa.
|
Serwery StreetTalk potrafią automatycznie dodawać same siebie do katalogu. Część klientów również może być tak skonfigurowana, aby rejestrować się automatycznie w katalogu, przez co stają się widoczne dla administratorów. |
Wprawdzie część zadań administracyjnych, na przykład konfiguracja sprzętu, musi odbywać się z konsoli serwera, lecz serwery StreetTalk udostępniają Enterprise Network Services Management Tool (narzędzie do zarządzania usługami sieciowymi przedsiębiorstwa), które jest narzędziem graficznym ułatwiającym pozostałe zadania administracyjne. Z uwagi na rozproszony charakter STDS, w klientach dostępne jest narzędzie do przeglądania katalogu, o nazwie StreetTalk Directory Assistant (STDA). STDA pomaga klientom szukać obiektów i innych zasobów sieciowych. STDA okresowo przegląda wszystkie serwery w sieci, gromadząc informacje o użytkownikach, urządzeniach peryferyjnych i woluminach.
Drzewo StreetTalk może mieć najwyżej trzy poziomy, przez co usługa katalogowa StreetTalk obsługuje jedynie jednostki organizacyjne pierwszego poziomu, bez możliwości zagnieżdżania. Użytkownicy logują się do StreetTalk raz, po czym mają dostęp do wszystkich serwerów, do których dali im uprawnienia administratorzy.
Usługa STDS ma następujące zalety:
Jest łatwa do skonfigurowania i utrzymania.
Udostępnia pojedynczy punkt zarządzania, ułatwiając wykonywanie zadań administracyjnych. Administratorzy sieciowi nie muszą poświęcać zbyt dużo czasu na zarządzanie usługami katalogowymi, co pozwala im przenieść uwagę na zarządzanie użytkownikami.
Tworzy partycje usługi katalogowej w każdym serwerze StreetTalk, rozkładając w ten sposób obciążenie na wszystkie serwery. Dzięki temu system jest bardziej odporny na błędy, gdyż nie zawiera pojedynczego punktu awarii.
Zarządza aktualizacjami i synchronizuje rozproszone partycje katalogu automatycznie, bez potrzeby interwencji administratora.
Może automatycznie łączyć dwa drzewa.
Korzystanie z STDS ma również kilka wad:
Nie umożliwia niskopoziomowej kontroli nad katalogiem.
Wsparcie innych producentów jest bardzo ograniczone.
Obsługuje jedynie trzy poziomy drzewa katalogów. Z tego powodu można w niej zaimplementować jedynie pierwszy poziom jednostek organizacyjnych, a duże organizacje mogą mieć kłopoty z nazewnictwem. Zagnieżdżanie również nie jest obsługiwane.
Prawa dostępu opierają się na nazwach obiektów, co może doprowadzić do problemów z bezpieczeństwem, związanych z dostępem.
|
Usługa StreetTalk jest obecnie dostępna również dla innych sieciowych systemów operacyjnych poza Banyan Vines — dla różnych wersji Uniksa, NetWare i Windows NT Microsoftu. Jednakże wypuszczenie na rynek wersji dla Windows NT zakończyło się porażką z powodu zbyt wielu problemów. |
Wprawdzie firma Banyan Systems, Inc. usiłowała osiągnąć zgodność STDS z innymi ważnymi sieciowymi systemami operacyjnymi, lecz spotkała się z pewnymi niepowodzeniami i ostrą rywalizacją na rynku usług katalogowych. Jednym z najbardziej popularnych dostawców usług katalogowych jest Novell Corporation. Usługa Network Directory Service (NDS) Novella jest na rynku od dawna i udowodniła, że jest stabilnym produktem, który wytrzymał nacisk konkurencji i wyłonił się jako lider rynku usług katalogowych. NDS wprowadzono po raz pierwszy w NetWare 4.0 i usługa ta jest dostępna we wszystkich wersjach do 5.0. Oferowana jest również w najnowszej wersji NetWare 6.0 i nosi nazwę eDirectory oraz dla innych popularnych sieciowych systemów operacyjnych, na przykład Windows NT i Solaris.
Network Directory Service Novella
NDS jest rozproszoną usługą katalogową, która magazynuje informacje związane z Internetem, intranetem i innymi zasobami sieciowymi. Zapewnia również bezpieczny dostęp do tych zasobów poprzez złożone usługi uwierzytelniania i kontroli dostępu. Usługa NDS opiera się na X.500 i jest zgodna z LDAP.
Wszystkie zasoby sieciowe, takie jak użytkownicy i różnorodne aplikacje, oraz woluminy w sieciowym systemie plików są reprezentowane w NDS jako obiekty. Urządzenia fizyczne (np. drukarki, faksy lub skanery) są również uznawane za obiekty. Na przykład, użytkownik jest reprezentowany przez obiekt użytkownika (user object). Działy, departamenty i grupy robocze są reprezentowane w organizacji jako organizational-unit object (obiekt jednostki organizacyjnej), inaczej branch object (obiekt gałęzi). Z każdym obiektem skojarzone są atrybuty, nazywane właściwościami lub polami. Na przykład, z obiektem użytkownika mogą być skojarzone następujące pola: adres węzła, ID logowania (nazwa użytkownika), hasło, imię i nazwisko, adres, e-mail i numer telefonu. Drzewo katalogów NDS zostało przedstawione na rysunku 17.5.
Rysunek 17.5. Struktura drzewa katalogów NDS |
|
|
|
Novell sprzedaje NDS z przykładowymi drzewami katalogów dla dużych i małych przedsiębiorstw. Pomaga to administratorom sieciowym implementować NDS bez zbytnich problemów. |
Dostęp do zasobów za pośrednictwem interfejsu NDS przypomina dostęp do plików i katalogów w Eksploratorze systemu Windows Microsoftu. Domyślnym widokiem NDS jest węzeł główny (korzeń) struktury katalogów. Administrator sieci może budować drzewo katalogów reprezentujące strukturę organizacji. Każda gałąź drzewa odpowiada wtedy logicznej grupie użytkowników. Podział użytkowników na grupy może odbywać się według departamentów, działów lub lokalizacji geograficznej.
NDS jest najsilniejszą i najbardziej stabilną z hierarchicznych sieciowych usług katalogowych dostępnych dziś na rynku. Niektóre z zalet usługi NDS to:
Scentralizowana kontrola — niezależnie od stopnia rozproszenia sieci przedsiębiorstwa, administrator może kontrolować całą sieć z jednego miejsca. NDS udostępnia również graficzne narzędzia administracyjne, ułatwiające zarządzanie.
Globalny dostęp do zasobów sieciowych — sieć przedsiębiorstwa może zawierać wiele serwerów, lecz fakt ten jest niewidoczny dla użytkowników, ponieważ NDS udostępnia prosty widok złożonej infrastruktury. Gdy użytkownicy logują się do systemu, zamiast zbioru osobnych serwerów, widzą pojedynczy system informacyjny. Mogą korzystać z dowolnych zasobów, do których mają prawo dostępu. Ten system ułatwia dodatkowo administrację i redukuje koszty zarządzania.
Replikacja — pozwala administratorom zapisywać całe kopie lub części bazy danych NDS w wielu serwerach, które mogą mieścić się w różnych domenach. Taka struktura uodpornia system na awarie i redukuje ruch sieciowy po łączach WAN.
Hierarchiczne drzewo katalogów — ułatwia dostęp do zasobów i pozwala na administrację opartą na regułach. Różne widoki hierarchiczne w usłudze NDS pozwalają również administratorom zobaczyć logiczne i fizyczne rozmieszczenie obiektów katalogowych.
|
Administrowanie oparte na regułach pozwala administratorom przyznawać uprawnienia całej gałęzi użytkowników za jednym zamachem, przez co nadawanie praw dostępu wszystkim użytkownikom w firmie jest łatwe i szybkie. Potrzeba zarządzania poszczególnymi użytkownikami i zasobami jest dzięki temu również zminimalizowana. |
Rozszerzalność — niezależni producenci oprogramowania mogą integrować nowe usługi i dodawać nowe obiekty do sieci przez rozszerzenie schematu NDS.
|
Schemat NDS to zbiór reguł kontrolujących strukturę drzewa katalogów. Schemat ustala definicje, atrybuty, właściwości i położenie wszystkich obiektów w drzewie. |
Skalowalność — NDS można dostosować do pracy w sieci o dowolnych rozmiarach. Usługa NDS jest również zdolna do obsługi fuzji przedsiębiorstw, które mogą prowadzić do fuzji dwóch sieci komputerowych.
Elastyczność — projekt NDS jest bardzo elastyczny. Drzewo katalogów może być modyfikowane tak, by objąć wszelkie zmiany w strategii firmy lub w sieci. Obiekty, grupy, a nawet całe gałęzie drzewa mogą być przemieszczane prostą metodą „przeciągnij i upuść”.
Bezpieczeństwo — NDS zapewnia maksymalne zabezpieczenie przed intruzami i nieupoważnionym dostępem. Gdy użytkownicy korzystają z zasobów lub usługi sieciowej, dostęp jest dozwolony po uwierzytelnieniu tylko wtedy, gdy posiadają wystarczające prawa do obiektu.
|
Cały proces uwierzytelniania jest dla użytkowników niewidoczny. Uwierzytelnianie opiera się na sesjach, zaś podpis użytkownika jest ważny tylko dla danej sesji. |
NDS i wszelkie inne usługi katalogowe (STDS, NIS+, NIS, LDAP i X.500) mają jedną wadę — stosują własny interfejs, który może, lecz nie musi być zgodny z innymi interfejsami. Ponadto, z uwagi na ogromną popularność środowiska Microsoft Windows, większość użytkowników końcowych preferuje pracę z interfejsem graficznym Windows. Co więcej, zmuszanie różnych aplikacji do pracy z tymi usługami katalogowymi jest zajęciem nużącym. Trzeba zaimplementować szereg idei i interfejsów na poziomie programistycznym, a każda usługa katalogowa musi zostać obsłużona osobno.
Usługa Active Directory Microsoftu została zaprojektowana tak, by umożliwić standardowy dostęp do powszechnie używanych różnorodnych usług katalogowych. Dostępne w niej narzędzie Active Directory Services Interface udostępnia wysoki poziom współoperatywności z innymi usługami katalogowymi, dzięki czemu użytkownicy Active Directory mogą uzyskać dostęp do informacji z innych usług katalogowych.
Active Directory
Active Directory oferuje standardowy interfejs dla wszystkich istniejących usług katalogowych za pomocą narzędzia ADSI (Active Directory Services Interface — Interfejs usług Active Directory), które implementuje faktyczny dostęp do danych poprzez interfejs (tzw. dostawcę — provider), pozwalający skontaktować się z wybranym katalogiem. Dla każdej usługi katalogowej obsługiwanej przez Active Directory istnieje osobny dostawca. Gdy klient Active Directory wysyła żądanie informacji o użytkowniku, komputerze, aplikacji lub zasobach w innej usłudze katalogowej, do odpytania tej usługi stosowany jest ADSI. Następnie wywołuje on określonego dostawcę, który szuka żądanych informacji. Po przetworzeniu zapytania użytkownik otrzymuje informacje albo komunikat, iż szukany zasób nie został znaleziony. Cały proces jest niewidoczny dla klienta, który nie musi znać szczegółów implementacji i położenia usługi katalogowej.
|
Active Directory również opiera się na standardzie LDAP. |
Ponieważ Active Directory opiera się na LDAP, model danych używany przez tę usługę jest bardzo podobny do modelu LDAP. Wpis definiowany jest przez zestaw atrybutów zwanych właściwościami. W przeciwieństwie do płaskiej struktury domen w NTDS (NT Directory Service), Active Directory tworzy hierarchiczne drzewo domen. Wszystkie obiekty (użytkownicy, komputery, urządzenia peryferyjne i aplikacje) w domenie są traktowane jak wpisy i mogą być zorganizowane w strukturę jednostek organizacyjnych. W związku z tym domena również posiada strukturę drzewa, co zwiększa skalowalność przestrzeni nazw. Każda domena zawiera serwer katalogowy zwany kontrolerem domeny, który umożliwia dostęp do wszystkich obiektów w domenie. Rysunek 17.6 przedstawia strukturę domen Active Directory.
Rysunek 17.6.
Drzewo domen |
|
Cała komunikacja wewnątrz i na zewnątrz domeny odbywa się poprzez LDAP. Różne typy klientów „widzą” drzewo domen w różny sposób. Na przykład, klienty Windows NT „zobaczą” strukturę domen NT, natomiast inne klienty korzystające z LDAP — interfejs katalogu LDAP, który może być przeglądany w taki sam sposób, jak DIT X.500.
Do szybkiego i wydajnego wyszukiwania zdalnych zasobów służy wykaz globalny (GC — Global Catalog). Każdy obiekt w drzewie domen musi być zarejestrowany w GC, który jest zoptymalizowany pod względem szybkości. Gdy użytkownik lub aplikacja szuka obiektu w innej domenie drzewa, odpytywany jest GC zamiast zdalnego katalogu. Pozwala to użytkownikom łatwo i szybko znajdować zasoby.
Oprócz wyszukiwania danych oraz zarządzania użytkownikami i zasobami, Active Directory upraszcza zarządzanie siecią. Do zalet AD należą:
Scentralizowane zarządzanie — możliwe jest kontrolowanie całej sieci z jednego miejsca.
Wspólny interfejs — dostępny jest jeden typ interfejsu, za pośrednictwem którego można zarządzać różnymi usługami katalogowymi, na przykład książką adresową lub pocztą elektroniczną. Co więcej, wspólny interfejs pozwala na dodatkową współoperatywność pomiędzy innymi usługami katalogowymi.
Zintegrowane zabezpieczenia — gdy użytkownik loguje się, jego dane zostają wprowadzone do pojedynczego systemu uwierzytelnienia. Pomaga to administratorom ustawiać parametry jednokrotnie dla każdego użytkownika lub obiektu. Ponadto uprawnienia dostępu można definiować dla całych obiektów, jak również dla ich właściwości. Zapewnia to bezpieczeństwo ważnych informacji.
Rozszerzalność — administratorzy mogą dodawać nie tylko nowe obiekty i atrybuty do drzewa domen, lecz również nowe typy obiektów i atrybutów do istniejącego schematu Active Directory. W ten sposób można dostosować drzewo domen do wymagań przedsiębiorstwa.
Replikacja danych — w drzewie domen możliwa jest replikacja multi-master. Obecność kilku serwerów zwiększa dostępność sieci i uodpornia cały system na błędy przez wyeliminowanie pojedynczego punktu awarii.
Elastyczne zapytania — użytkownicy mogą wyszukiwać informacje na podstawie słowa, nazwy lub adresu. Zastosowanie wykazu globalnego skraca czas reakcji i zwiększa wydajność sieci.
Podstawową wadą Active Directory jest fakt, że funkcjonuje jedynie na platformie Windows i nie jest zgodna z innymi platformami. Aby więc korzystać z zalet Active Directory, użytkownik musi zaimplementować tę usługę tylko na platformie Windows.
360 Część III Popularne aplikacje TCP/IP
Rozdział 17. Usługi informacyjne dla przedsiębiorstw 361