Pokazywanie postów oznaczonych etykietą Usługi katalogowe. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Usługi katalogowe. Pokaż wszystkie posty

sobota, 11 września 2010

Usługi katalogowe - OpenLDAP (3) - Konfiguracja

W poprzednim wpisie dotyczącym usług katalogowych opisałem proces instalacji serwera OpenLDAP. Dzisiaj, zgodnie z zapowiedzą przedstawię sposób konfiguracji tej aplikacji oraz zaprezentuję to jak ona działa.


Konfiguracja
Proces konfiguracji sprowadza się do wprowadzeniu w pliku /usr/local/etc/openldap/slapd.conf odpowiednich wartości dla poszczególnych parametrów.

Jednym z parametrów, który należy określić jest hasło użytkownika zarządzającego serwerem, aby uniknąć wpisywania tego hasła w sposób czytelny można skorzystać z narzędzia slappasswd. Pozwala ono wygenerować zaszyfrowany ciąg hasła, który następnie można bezpiecznie umieścić w pliku konfiguracyjny. Wygeneruję zatem taki ciąg wydając polecenie i podając odpowiednie dane
  • slappasswd
Wynik działania zaprezentowano powyżej.
Założyłem dodatkowo, że serwer będzie pracował w domenie: mbsoftware.com.pl, a administrator będzie nazywał się po prostu: admin.
Teraz możemy przystąpić do wprowadzania wartości w wymienionym wcześniej pliku. Przykładowy szablon pliku znajduje się poniżej:


database bdb
suffix "dc=,dc=<1-WSZY_CZŁON_DOMENY>" 
rootdn "cn=,dc=,dc=<1-WSZY_CZŁON_DOMENY>" 
rootpw
directory
Znając domenę, nazwę użytkownika oraz ciąg, który będzie reprezentował hasło pozostaje nam do określenia katalog - np. /usr/local/var/openldap-data - trzeba zadbać, aby przed uruchomieniem aplikacji został on utworzony.
Na podstawie powyższych danych wprowadzamy zmiany w pliku:

database bdb
suffix "dc=mbsoftware,dc=com,dc=pl" 
rootdn "cn=admin,dc=mbsoftware,dc=com,dc=pl" 
rootpw {SSHA}Uer3DSw297HyPvs25Z4u3tnyp2hrUB8i
directory /usr/local/var/openldap-data
Nie możemy zapomnieć o utworzeniu wyżej wymienionego katalogu. Poniżej fragment pliku slapd.conf oraz zmiany, które w nim wprowadziłem.




Uruchamianie
Aby uruchomić serwer OpenLDAP, należy wydać polecenie:

  • sudo /usr/local/libexec/slapd
Weryfikacja działania
Sprawdźmy teraz czy serwer odpalił się poprawnie i czy odpowiada zgodnie z konfiguracją na zapytania, które można zlecić do wykonania za pomocą komendy ldapsearch. Wykonajmy poniższą komendę:

  • ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
W wyniku działania powinniśmy dostać informację o sufiksie jaki został wprowadzony w pliku slapd.conf.
Poniższy zrzut ekranu prezentuje wynik, jaki uzyskałem dla mojej konfiguracji.

Podsumowanie
Konfiguracja oraz uruchamianie aplikacji nie wymaga włożenia wiele wysiłku, jednak aby zapewnić większe bezpieczeństwo całej aplikacji należy zapoznać się z następującą lekturą udostępnioną na stronie OpenLDAP.

Wydaje się, że cykl dotyczący usług katalogowych można już zamknąć. Temat ten opisywałem z ważnego powodu - planuję zintegrować OpenLDAP z innym systemem. Zanim postawię kropkę nad "i" w ostatnim "odcinku" wprowadzę do działającej instancji serwera usług katalogowych dane z których zamierzam skorzystać w przyszłości. 

czwartek, 9 września 2010

Usługi katalogowe - OpenLDAP (2) - Instalacja

Poprzednim razem w wielkim skrócie opisałem przypadek wykorzystania systemów usług katalogowych. Dzisiaj chciałbym zaznajomić Was z systemem OpenLDAP.

Zanim zaczniemy, chciałbym przedstawić prostą strukturę organizacyjną wyimaginowanej firmy obsługującej internetowe wnioski o produkty finansowe dla dużego banku. Firma będzie się składać z dwóch pracowników: Kierownika oraz Pracownika. Kierownik będzie posiadał uprawnienia do dokonywania audytu, natomiast pracownik do przetwarzania wniosków.

Instalacja
Proces instalacji należy rozpocząć od ściągnięcia archiwum z aplikacją. Najlepiej skorzystać z dystrybucji przygotowanej przez autorów, która jest dostępna pod adresem: http://www.openldap.org/software/download/.
Po ściągnięciu paczki, należy ją wgrać na maszynę wirtualną - jak to można zrobić? Teoretycznie VirtualBox udostępnia mechanizm współdzielenia katalogów z systemem hostem (Windows XP w moim wypadku) jednak do tej pory nie udało mi się tego uruchomić. Aby wgrać paczkę do Ubuntu odpalonego na maszynie wirtualnej wykorzystajmy proste narzędzie WinSCP, które pracuje jako menadżer plików po szyfrowanym połączeniu SSH.
Kiedy uda się wgrać pakiet na maszynę należy go rozpakować poniższym poleceniem:

  • gunzip -c openldap-VERSION.tgz | tar xvfB -

Ponieważ cały proces polega zbudowaniu aplikacji z kodów źródłowych może zaistnieć potrzeba zainstalowania kompilatorów:

  • sudo apt-get install gcc

Dodatkowo do poprawnego działania całej aplikacji potrzebna jest baza danych BekeleyDB. Również ją można w łatwy sposób zainstalować wykorzystując apt-get lub aptitude:

  • sudo aptitude install libdb4.7 libdb4.7-dev

Kolejnym krokiem jest konfiguracja etapu budowania - w tym celu w katalogu do którego rozpakowało się archiwum z OpenLDAP wykonujemy poniższe zapytanie:

  • ./configure

Dokonuje ono sprawdzenia czy wszystkie wymagane narzędzia są dostępne w systemie (kompilator, baza danych itp.). Teoretycznie operacja powinna zakończyć się sukcesem, ponieważ zainstalowaliśmy wcześniej zarówno kompilator jak i wymaganą przez OpenLDAP bazę danych. Jeżeli pojawią się problemy - brak jakiejś aplikacji zależnej to należy poszukać ją za pomocą aptitude lub apt-get i zainstalować po czym ponowić wywołanie ./configure.

Przedostatnim etapem jest kompilacja całej aplikacji za pomocą dwóch poleceń:

  • make depend
  • make

Należy je wykonać kolejno po sobie. Ta druga może trochę trwać z racji tego, że wykonuje budowanie całej aplikacji z kodów źródłowych. Sukces kompilacji obwieści komunikat zaprezentowany na poniższym zrzucie ekranu:

Aby sprawdzić czy cały proces budowania przebiegł pomyślnie można odpalić testy, które zweryfikują całą aplikację:

  • make test

Procedura ta jest jednak czasochłonna i ku mojemu rozczarowaniu okazało się, że nie wszystkie testy przeszły. Nie ma się jednak co załamywać - spróbujemy poradzić sobie z aplikacją pomimo tych niedogodności.

Ostatnim krokiem procesu instalacji jest "osadzenie" skompilowanej aplikacji w systemie:

  • sudo make install

W rezultacie powinniśmy uzyskać działającą aplikację OpenLDAP w systemie. W następnym wpisie postaram się przybliżyć proces jej konfiguracji oraz zaprezentować działanie.

sobota, 4 września 2010

Usługi katalogowe - OpenLDAP (1)

Tak jak wspomniałem w poprzednim wpisie chciałbym krótko przedstawić usługi katalogowe. Do czego zatem one służą? Przede wszystkim w dużych firmach jako jeden punkt zawierający dane katalogowe (informacje o pracownikach, urządzeniach wykorzystywanych w pracy, strukturze organizacyjnej, itp.). 

Wyobraźcie sobie, że firma korzysta z wielu aplikacji, które pomagają realizować jej biznes. Każda z tych aplikacji musi wiedzieć o użytkownikach, którzy mogą wywoływać jej funkcjonalności oraz uprawnienia dla tych użytkowników. Dodatkowo w kilku z tych aplikacji określono, aby użytkownicy oraz inne jednostki logiczne odwzorowywały strukturę organizacyjną firmy. Jeżeli aplikacje te dostarczali różni wykonawcy to 100% można uznać, że każda z tych funkcjonalności została zrealizowana w inny sposób i w każdej istnieje osobny moduł administracyjny pozwalający zarządzać strukturą, uprawnieniami oraz użytkownikami. Prowadzi to niechybnie do wzrostu kosztów administrowania tymi aplikacjami w takiej firmie. Dlaczego ich nie obniżyć? 

Wszystkie funkcjonalności administracyjne są do siebie bardzo podobne - sprowadzają się do zarządzania katalogami: użytkowników, struktury firmy, uprawnień, sprzętu, itp. Czemu zatem nie może istnieć jeden system, który te dane będzie przechowywał w jednym miejscu i który będzie udostępniał je wszystkim zainteresowanym? Efekt jaki w ten sposób można osiągnąć to przede wszystkim obniżenie kosztów administracyjnych, które przy zarządzaniu wieloma aplikacjami mogą być całkiem spore. 

Realizację tych celów pomagają osiągnąć systemy usług katalogowych. Jednym z takich systemów jest  OpenLDAP - darmowa implementacja Lightweight Directory Access Protocol. W kilku najbliższych wpisach postaram się przybliżyć Wam instalację, konfigurację oraz użytkowanie tego systemu.