150 likes | 253 Views
Prezentacja przykładowych rozwiązań realizujących autoryzację w serwisie WWW w oparciu o bazę LDAP. Jerzy Szymański. Autentykacja w serwisie WWW ( Apache – standardy). Basic authentication Digest authentication Moduły serwera. Basic authentication. Problemy
E N D
Prezentacja przykładowych rozwiązań realizujących autoryzację w serwisie WWW w oparciu o bazę LDAP Jerzy Szymański
Autentykacja w serwisie WWW (Apache – standardy) • Basic authentication • Digest authentication • Moduły serwera
Basic authentication • Problemy • brak możliwości wylogowania się • niewygodne „cache-owanie” loginu i hasła • nieefektowne i różne, w zależności od przeglądarki, okna dialogowe służące do logowania się • przesyłanie loginów i haseł czystym tekstem • „zaszyfrowane” hasła umieszczone w pliku na dysku serwera
Digest authentication • Problemy – jak w Basic authentication • Innowacja – login i hasło przesyłane jest w postaci zaszyfrowanej (MD5)
Moduły serwera • Oparte na bazach danych (Berkeley DB, LDAP) • Główna zaleta – przechowywanie loginów i haseł w bazie, a więc poprawa szybkości autentykacji
Rozwiązania problemu autentykacji/autoryzacji z użyciem LDAP • Moduły Apache korzystające z LDAP • Własne rozwiązania
Moduły Apache • Możliwości • komunikacja z LDAP z użyciem SSL • możliwość kompilacji jako moduł statyczny i dynamiczny • autoryzacja poprzez dopasowania do filtru LDAP, przynależność do grupy, dowiązanie do LDAP • możliwość dowiązania do bazy LDAP jako dany DN
Moduły Apache • Zalety • szybkość instalacji, szybka praca • Wady • dość sztywne założenia co do bazy danych użytkowników • umieszczenie dyrektyw dla modułu w httpd.conf wymusza restart serwera każdorazowo po zmianie konfiguracji, alternatywa – plik .htaccess
Moduły Apache w sieci • http://nona.net/software/ldap/ • http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.html • http://kie.berkeley.edu/people/jmorrow/mod_ldap • http://www.rudedog.org/auth_ldap/ • http://authzldap.othello.ch/
Własne rozwiązania(UCI Web Services) • Koncepcja • użytkownicy + grupy • przynależność użytkownika do grup reprezentujących poszczególne serwisy WWW • przynależność ze względu na gid • grupa, której członkami są wszyscy użytkownicy (AllUsers)
UCI Web Services • Schemat bazy LDAP (użytkownicy)
UCI Web Services • Schemat bazy LDAP (grupy)
UCI Web Services • Zalety • nieograniczona konfigurowalność • Wady • podatność na błędy programisty • wymagania (PHP, sesje PHP) • Koszty • rezerwacja zmiennej sesji dla każdego serwisu • rezerwacja zmiennych $username, $password
UCI Web Services • Niebezpieczeństwa • przeładowanie zmiennej poprzez odwołania typu http://www.uni.torun.pl/secret.php?username=root • bezpieczeństwo plików sesji
Prezentacja przykładowego rozwiązania Jerzy.Szymanski@uni.torun.pl UCI UMK