Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Seminarium eduroam – UMK, 16-17.03.2006 Tomasz Wolniewicz UCI UMK Maja Górecka-Wolniewicz UCI, UMK Instalacja i konfiguracja serwera RADIUS.

Podobne prezentacje


Prezentacja na temat: "Seminarium eduroam – UMK, 16-17.03.2006 Tomasz Wolniewicz UCI UMK Maja Górecka-Wolniewicz UCI, UMK Instalacja i konfiguracja serwera RADIUS."— Zapis prezentacji:

1 Seminarium eduroam – UMK, Tomasz Wolniewicz UCI UMK Maja Górecka-Wolniewicz UCI, UMK Instalacja i konfiguracja serwera RADIUS

2 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK2 Implementacje serwera RADIUS FreeRADIUS –większość informacji dotyczy tej implemetnacji Internet Authentication Service –produkt Microsoft, integralna część serwera Windows 2000 i 2003 RADIATOR Implementacje CISCO, Funk Software, Lucent Technologies

3 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK3 Oprogramowanie open source Jedna z bardziej popularnych implementacji niekomercyjnych, powszechnie wykorzystywana w projekcie eduroam, zalecana w polskim projekcie –duże możliwości (różnorodność modułów) –elastyczność w konfiguracji Lista użytkowników, archiwum Aktualna wersja oprogramowania – Projekt FreeRADIUS

4 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK4 OpenSSL – nie jest potrzebny, gdy serwer pełni wyłącznie funkcję proxy OpenLDAP – jeśli korzystamy z usługi LDAP do uwierzytelniania/autoryzacji Oprogramowanie dodatkowe, zgodnie z potrzebami, np. MySQL, Postgres etc. Wymagane oprogramowanie

5 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK5 Obsługa wyrażeń regułowych w realmach Domyślnie freeRADIUS pozwala na dopasowywanie wartości realm na podstawie porównania: wartość taka sama, różna Patch Enable regular expressions matching in realms –pozwala na podanie w polu wartości wyrażenia regułowego, do którego ma zostać dopasowany realm Zastosowanie patcha (w katalogu dystrybucji) patch -p1 < rozpakowany_plik_z_poprawką

6 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK6 cd freeradius /configure –prefix=/opt/freeradius gdy własna instalacja LDAP --with-rlm-ldap-lib=/opt/ldap/lib --with-rlm-ldap-include=/opt/ldap/include gdy własna instalacja OpenSSL --with-ssl-lib=/opt/ssl/lib --with-ssl-include=/opt/ssl/include inne: --with-experimental-modules --without-rlm-perl --without-rlm-sql Kompilacja

7 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK7 make make install Uwagi: –jeśli używamy własnej instalacji OpenSSL-a warto sprawdzić, czy programy i biblioteki są dolinkowane do właściwych bibliotek OpenSSL; dla uniknięcia problemów zaleca się ustawienie zmiennych otoczeniowych CPPFLAGS i LDFLAGS przed configure, np.: CPPFLAGS=-I/opt/ldap/include -I/opt/ssl/include LDFLAGS=-L/opt/ldap/lib -L/opt/ssl/lib -Xlinker -R/opt/ldap/lib:/opt/ssl/lib Kompilacja, instalacja

8 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK8 Założenia konfiguracyje Serwer instytucji (poziom 3 w hierarchii eduroam) –wymagana możliwość kontaktowania się z serwerem ogólnopolskim, ew. z serwerami poziomu 4 –uwierzytelnianie i autoryzacja użytkowników lokalnych (danej instytucji, w zdefiniowanym przez instytucję zakresie) Serwery poziomu 4 i powyżej –realizują funkcjonalność uwierzytelniania i autoryzacji dla określonego realmu –kontaktują się z serwerem instytucji w celu obsługi użytkowników spoza lokalnych realmów

9 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK9 Konfiguracja Pliki konfiguracyjne: katalog etc/raddb instalacji pakietu freeradius –radius.conf –clients.conf –proxy.conf –users –huntgroups

10 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK10 clients.conf ############################### # Definicje AP-ów i innych urządzeń ############################### #client { # = #} client { secret = tajny_klucz_RADIUS-AP shorname = campus1dev120 } w atrybutach można dodać nastype = nastype mówi, jakiej metody użyć w skrypcie checkrad do sprawdzenia jednoczesnego zalogowania użytkownika

11 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK11 client.conf - uwagi Należy dbać o unikatowość kluczy Klucz tajny powinnny mieć min. 16 znaków Zaleca się różnicowanie kluczy wspólnych, nie powinno definiować się podsieci AP-ów z jednym hasłem wspólnym Klientami są również serwery RADIUS – te, z którymi dany serwer kontaktuje się należy zdefiniować w pliku clients.conf i ustalić wspólny klucz do komunikacji W testach przydaje się klient loopback ( )

12 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK12 huntgroups Definicja grup urządzeń NAS Postać definicji aptest NAS-IP-Address == aptest NAS-IP-Address == lub (bardziej złożona) aptest NAS-IP-Address == , NAS-Port-Id == 0-3 User-Name = user1, User-Name = user2 Dopasowanie następuje podczas przeglądania pliku users, –Kryterium dopasowania Hundgroup-Name == XXX

13 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK13 proxy.conf Konfiguracja realmów # realm lokalny realm umk.pl { type = radius authhost = LOCAL accthost = LOCAL } # realm zdalny realm uci.umk.pl { type = radius authhost = :1812 accthost = :1813 secret = a2s3d4f5g6 nostrip }

14 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK14 proxy.conf Definicja alternatywnych serwerów –ten sam realm można definiować więcej niż raz – w ten sposób określana jest obsługa w przypadku niedostępności serwera lub obsługa tzw. load balancing, tj. równomiernego rozłożenia zleceń do serwerów –ldflag brak równoważny ldflag = fail_over – definicje realmów przeglądane są w kolejności ich deklaracji, pierwszy aktywny serwer obsługuje realm ldflag = round_robin – wszystkie aktywne realmy dla danej nazwy biorą udział w procesie wyboru docelowego serwera – podejście zalecane np. na serwerze krajowym

15 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK15 proxy.conf –regex dyrektywa oznacza, że nazwa domeny zostaje dopasowana do wskazanego wyrażenia regułowego, np. realm resztapolski { regex.*\.pl... } –nostrip domyślnie nazwa użytkownika jest obcinana przed wysłaniem do docelowego serwera dodanie nostrip dla realmów lokalnych i zdalnych jest istotne w celu prawidłowego obrazu w danych rozliczeniowych

16 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK16 proxy.conf Sekcja proxy_server –kontrola działania serwera w komunikacji proxy synchronous : jeśli ma być aktywna funkcjonalność failover, to synchronous = no ; wartość yes oznacza, że zlecenia będą automatycznie ponownie wysyłane, gdy NAS ponowi wysłanie retry_delay (5) – czas (w sekundach) oczekiwania na odpowiedź, przed ponownym przesłaniem zlecenia proxy retry_count (3) – ile razy ponawiać wysłanie zlecenia proxy przed odpowiedzią reject dead_time (120) – ile sekund odczekać przed sprawdzeniem, czy serwer proxy stał się dostępny default_fallback – obsługuj alternatywnie wg dyrektywy DEFAULT (gdy yes) post_proxy_authorize – sprawdź sekcję autoryzacji po powrocie z proxy

17 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK17 users Domyślna nazwa pliku autoryzacji –można wskazać inną nazwę: deklaracja nazwy w pliku radiusd.conf, sekcja files, określenie userfile=... Inne zastosowania modułu files –rozliczenie (preacct) –obsługa użytkowników przed realizacją funkcji proxy (pre-proxy) –modyfikacja UMK (a podstawie informacji na liście freeradius) Format pliku –zestaw dyrektyw konfiguracyjnych używanych przez moduł files w celu podjęcia decyzji o sposobie autoryzacji i uwierzytelnienia użytkownika –postać wpisu nazwa TAB nazwa – nazwa użytkownika lub słowo DEFAULT (dowolny użytkownik)

18 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK18 users Zastosowania modułu files –rozliczenie (preacct) –obsługa użytkowników przed realizacją funkcji proxy (pre-proxy) –modyfikacja UMK (a podstawie informacji na liście freeradius) w celu dodania możliwości analizy pliku użytkowników po poprawnym uwierzytelnieniu, w fazie post-auth Domyślne nazwy plików usersfile = ${confdir}/users acctusersfile = ${confdir}/acct_users preproxy_usersfile = ${confdir}/preproxy_users –można wskazać inną nazwę: deklaracja nazwy w pliku radiusd.con sekcja files,

19 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK19 users Format pliku – uwagi –wszystkie elementy sprawdzane MUSZĄ być umieszczone w jednym wierszu, za nazwą użytkownika, separatorem elementów sprawdzanych jest przecinek –w pierwszym wierszu, w ramach listy elementów sprawdzanych MOŻNA wskazać element konfiguracyjny, np. Auth-Type i/lub Autz-Type –elementy odpowiedzi MOGĄ być umieszczane w wielu wierszach, w tym przypadku poprzedni wiersz (zawierający elemen odpowiedzi) musi kończyć się przecinkiem –przetwarzanie pliku users jest realizowane sekwencyjnie od początku pliku –po dopasowaniu użytkownika i elementów sprawdzanych ustalane są elementy odpowiedzi (wg deklaracji) –domyślnie po dopasowaniu przetwarzanie users kończy się –element specjalny: Fall-Through = Yes oznacza przetwarzaj dalej

20 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK20 users Definicja atrybut – wartość –forma atrybut = wartość NIE MOŻE wystąpić na liście sprawdzanych elementów MOŻE wystąpić jako element konfiguracyjny (Auth-Type) – ustala wartość atrybutu, tylko gdy nie była ustalona na liście odpowiedzi oznacza dodanie wartości danego atrybutu, ale tylko, gdy atrybut nie ma dotychczas wartości –forma atrybut := wartość na liście sprawdzanych elementów oznacza zawsze dopasowany zastępuje wartość atrybutu konfiguracyjnego zastępuje wartość atrybutu konfiguracyjnego na liście odpowiedzi

21 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK21 users Definicja atrybut – wartość –forma atrybut += wartość na liście sprawdzanych elementów oznacza zawsze dopasowany na liście konfiguracji i odpowiedzi oznacza dodanie wartości danego atrybutu –forma atrybut == wartość na liście sprawdzanych elementów sprawdza, czy atrybut istnieje w zleceniu i czy wartość jest równa podanej NIE MOŻE wystąpić na liście odpowiedzi –forma atrybut != wartość na liście sprawdzanych elementów sprawdza, czy atrybut istnieje w zleceniu i wartość jest różna od podanej NIE MOŻE wystąpić na liście odpowiedzi

22 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK22 users Definicja atrybut – wartość –forma atrybut > wartość na liście sprawdzanych elementów sprawdza, czy wartość atrybutu w zleceniu jest większa od podanej NIE MOŻE wystąpić na liście odpowiedzi –forma atrybut >= wartość na liście sprawdzanych elementów sprawdza, czy wartość atrybutu w zleceniu jest większa lub równa podanej NIE MOŻE wystąpić na liście odpowiedzi –forma atrybut < wartość na liście sprawdzanych elementów sprawdza, czy wartość atrybutu w zleceniu jest mniejsza od podanej NIE MOŻE wystąpić na liście odpowiedzi

23 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK23 users Definicja atrybut – wartość –forma atrybut <= wartość na liście sprawdzanych elementów sprawdza, czy wartość atrybutu w zleceniu jest mniejsza lub równa podanej NIE MOŻE wystąpić na liście odpowiedzi –forma atrybut =~ wyrażenie na liście sprawdzanych elementów sprawdza, czy wartość atrybutu dopasowuje się do wyrażenia (wartość znakowa!) NIE MOŻE wystąpić na liście odpowiedzi –forma atrybut !~ wyrażenie na liście sprawdzanych elementów sprawdza, czy wartość atrybutu nie dopasowuje się do wyrażenia (wartość znakowa!) NIE MOŻE wystąpić na liście odpowiedzi

24 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK24 users Definicja atrybut – wartość –forma atrybut =* wartość na liście sprawdzanych elementów sprawdza, czy zlecenie zawiera dany atrybut (wartość jest nieistotna) NIE MOŻE wystąpić na liście odpowiedzi –forma atrybut !* wartość na liście sprawdzanych elementów sprawdza, czy w zleceniu nie ma danego atrybutu (wartość jest nieistotna) NIE MOŻE wystąpić na liście odpowiedzi

25 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK25 users Przykłady ( \ oznacza, że c.d. MUSI być w tej samym wierszu) user1 User-Password == user1pass user2 Auth-Type := Reject Reply-Message = Zablokwane konto DEFAULT Realm == NULL, Auth-Type := Reject DEFAULT Realm = a.z, Client-IP-Address == ,\ Auth-Type := Reject DEFAULT Real == b.z Hundgroup-Name ==XXX Tunnel-Private-Group-Id := 40 Tunnel-Medium-Type = 6 Tunnel-Type = VLAN DEFAULT Real == c.z FreeRadius-Proxied-To == , \ Autz-Type := gosc, ldapgosc-Ldap-Group == z_PL Tunnel-Private-Group-Id := 40 Tunnel-Medium-Type = 6 Tunnel-Type = VLAN

26 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK26 users Zalecenia –w Access-Accept powinna zostać wysłana prawdziwa nazwa użytkownika DEFAULT Realm = d.z,... User-Name = `%{User-Name}` nazwa użytkownika zostanie wpisana w logach, np. tych, które powstają po pomyślnym uwierzytelnieniu użytkownika –wpisy w users muszą uwzględniać uniknięcie zapętlenia serwera, np. DEFAULT Realm = pl,Client-IP-Address == , \ Auth-Type := Reject zapobiega przesłaniu zlecenia dot. realmu polska do serwera krajowego, ponieważ stamtąd nadeszło zlecenie

27 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK27 radius.conf Ustalenie ścieżek wiodących, lokalizacji konfiguracji, logów itp. Użytkownik / grupa –zalecane ustawienie użytkownika różnego od root –w przypadku integracji freeRADIUS-a z Active Directory, freeradius musi współpracować z programem winbind i z tego powodu MUSI pracować z prawami root Sekcja listen –ustala ipaddr (adres IP / nazwa / *), port (0 – domyślny), type (auth / acct)

28 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK28 radius.conf Sekcja modules –definicja modułów używanych przez serwer w postaci nazwa [ wystąpienie ] { element_konfiguracji = wartość } –przykładowe moduły: pap, chap, pam, unix, mschap, ldap, sql, realm, preprocess, files, detail, exec, perl, eap, attr_rewrite, attr_filter Sekcja instantiate –ustala kolejność ładowania modułów – moduły wymienione w niej są ładowane przed tymi, które są zdefiniowane w następnych sekcjach: authorize, authenticate, preacct, accounting, session, post-auth, pre-proxy i post-proxy

29 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK29 Moduł ldap Jeśli jest potrzeba zdefiniowania kilku modułów, kolejne definicje rozróżniamy nazwami wystąpienia modułu, np.: ldap AD { } ldap OLStaff { } –zdefiniowane nazwy mogą być następnie używane w sekcjach authorize, authenticate –w pliku users, jeśli używamy sprawdzenia grupy LDAP w elemencie sprawdzenia należy podać np.: AD-Ldap-Group == XXX albo OLStaff-Ldap-Group == XXX

30 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK30 Moduł ldap Zaleca się korzystanie z bezpiecznych połączeń ( start_tls=yes ) oraz nie anonimowych przeszukiwań Jeśli dysponujemy serwerem repliki, to należy zadeklarować jego użycie dla danego poddrzewa poprzez utworzenie drugiego wystąpienia modułu, np. ldap OLStaff1 { tu_deklaracje_serwera_głównego } ldap OLStaff2 { tu_deklaracje_serwera_repliki } Parametry groupmembership_filter, groupmembership_attribute –groupmembership_filter = NULL – poprawka w kodzie w celu skasowania domyślnego sprawdzenia (UMK), realizowanego na podstawie filtra: (|(&(objectclass=groupOfNames)(member=%{Ldap-UserDn})) (&(objectclass=groupOfUniqueNames) (member=%{Ldap-UserDn})))

31 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK31 Moduł ms_chap Niezbędny, gdy dostarczamy metodę PEAP (uwierzytelnianie MS-CHAP i MS-CHAPv2) Konfiguracja w sekcji mschap authtype = MS-CHAP use-mppe = yes require_encription = yes require_strong = yes

32 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK32 Moduł attr_rewrite Moduł ważny w procesie autoryzacji oraz rozliczania –umożliwia dokonanie zmian w pakiecie Wystąpienia modułu są wyróżniane nazwą, np. attr_rewrite copy.user-name { } attr_rewrite strip.user-name { } Działanie: –zmiany dotyczą określonego atrybutu attribute =.. –przeszukiwany jest pakiet, odpowiedź, konfiguracja searchin = packet | reply | config –poszukiwana jest wartość zgodna z zadanym wyrażeniem regułowym searchfor =...

33 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK33 Moduł attr_rewrite Działanie cd. –dopasowany napis jest zastępowany zawartością określoną jako replacewith –można dopisać nowy atrybut ( new_attribute=yes ) –można napis zatępujący dopisać do oryginalnego ( append=yes ) –można zadeklarować max. liczbę dopasowań ( max_matches ) –można ignorować wielkość liter ( ignore_case=yes ) Zastosowanie –zdefiniowane wystąpienie modułu dodajemy wg potrzeby, w sekcjach pre-proxy, post-proxy, authorize

34 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK34 Moduł mod_rewrite Przykład # obcięcie nazwy przed wyszukaniem użytkownika w # bazie attr_rewrite copy.user-name { attribute = Stripped-User-Name new_attribute = yes searchin = packet searchfor = replacewith = %{User-Name} } attr_rewrite strip.user-name { attribute = Stripped-User-Name new_attribute = no searchin = packet searchfor replacewith = max_matches = 1 }

35 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK35 Moduł attr_filter Moduł przeznaczony do filtrowania atrybutów –realizowany np. po odbiorze odpowiedzi z serwera proxy Definicja –sekcja attr_filter, element konfiguracji attrsfile wskazuje plik z deklaracją działania filtru (domyślnie plik o nazwie attrs) –domyślnie: usuń wszystkie atrybuty oprócz ustawionych w pliku –poprawka kodu (UMK) – wprowadzenie el. konfiguracji default_copy = yes (domyślnie kopiuj wszystkie)

36 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK36 Moduł attr_filter Przykład –na serwerze jednostki włączamy attr_filter w sekcji post_proxy, plik attr ma postać: polska Tunnel-Private-Group-Id := 42 Tunnel-Type := VLAN Tunnel-Medium-Type := 6 Tunnel-Private-Group-Id !* ANY Tunnel-Type !* ANY Tunnel-Medium-Type !* ANY DEFAULT cel: wycięcie VLAN-ów ustawionych na obcym serwerze –na serwerze PL DEFAULT Tunnel-Private-Group-Id !* ANY Tunnel-Type !* ANY Tunnel-Medium-Type !* ANY

37 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK37 Moduł perl Definicja –sekcja perl zawiera wskazanie skryptu Perl module = /opt/FreeRADIUS/perl/vlans.pl –elementy konfiguracyjne func_post_auth, func_pre_proxy, func_post_proxy itd. podają nazwy funkcji Perl zdefiniowanych dla odpowiednich sekcji –przykład w skrypcie example.pl (dokumentacja modułu) –na serwerze UMK zdefiniowano funkcję post_auth, której zadaniem jest wycięcie atrybutów Tunnel-*, jeśli klientem jest serwer krajowy Implementacja –poprawka w kodzie w sekcji przepisywania atrybutów (UMK)

38 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK38 Sekcja authorize Ustalenie sposobu autoryzacji authorize { preprocess copy.user-name strip.user-name Autz-Type pracownik { ldapstaff } Autz-Type student { ldapstud } eap files }

39 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK39 Sekcja authenicate Realizacja uwierzytelnienia authenticate { eap Auth-Type pracownik { ldapstaff } Auth-Type student { ldapstud } Auth-Type MS-CHAP { mschap }

40 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK40 Sekcja post-auth Wywołanie modułu perl w celu usunięcia ustawionych wcześniej VLAN- ów w przypadku, gdy Access-Accept z naszego serwera jest kierowany na zewnątrz sieci –NAS-IP-Address zgodny z adresami serwerów krajowych oznacza, że zlecenie dostępu przyszło z zewnątrz lub Modyfikacja kodu modułu rlm_files w celu umożliwienia wywołania w sekcji post-auth modułu files DEFAULT Real == c.z Autz-Type := gosc, \ ldapgosc-Ldap-Group == z_PL Fall-Through = yes DEFAULT Real == c.z, \ Response-Packet-Type == Access-Accept,\ NAS-IP-Address != , \ NAS-IP-Address != Tunnel-Private-Group-Id := 40 Tunnel-Medium-Type = 6 Tunnel-Type = VLAN

41 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK41 eap.conf Zawiera definicję modułu eap –ustala default_eap_type (peap, ttls, tls), typ EAP-a –definicja wspieranych typów eap: md5 { } peap { default_eap_type = mschapv2 } tls { # certyfikat CA, certyfikat serwera, # klucz prywatny # jeśli jest obsługa CRL check_crl = yes check_cert_cn = %{User-Name} check_crl = yes }

42 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK42 eap.conf –definicja wspieranych typów eap cd.: ttls { default_eap_type = md5 copy_request_to_tunnel = yes use_tunneled_reply = yes } copy_request_to_tunnel = yes - atrybuty nie zdefiniowane w tunelu, a obecne poza tunelem są kopiowane use_tunneled_reply = yes - powoduje, że atrybuty wysyłane w odpowiedzi nie wiążą się z użytkownikiem widzianym na zewnątrz tunelu (outer identity), lecz tym, który został określony wewnątrz tunelu (inner identity)

43 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK43 Certyfikat dla serwera W pliku eap.conf wskazujemy certyfikat serwera, klucz prywatny serwera oraz certyfikat urzędu certyfikacyjego, który poświadczył certyfikat serwera W zleceniu certyfikacji commonName to pełna kwalifikowana nazwa serwera Urząd wystawiający certyfikat MUSI w certyfikacie serwera dodać rozszerzenie TLS Web Server Authentication openssl ca -out s.crt -in s.csr \ -extensions xpserver_ext \ -exfiles xpextensions plik xpextensions: [xpserver_ext] extendedKeyUsage =

44 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK44 Uruchomienie radiusd Jeśli konfiguracja nie jest w domyślnym katalogu etc/raddb –radiusd -d katalog_konfiguracji –opcja -X – debugging (uwaga: są widoczne hasła!)

45 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK45 Ustalanie VLAN-ów W pakiecie Access-Accept mogą zostać wysłane atrybuty służące do ustalenia docelowego numeru VLAN, w którym użytkownik otrzyma adres –schemat RADIUS-LDAPv3, klasa radiusProfile umożliwia dodanie we wpisie użytkownika informacji o VLAN-ie za pomocą atrybutów RadiusTunnelType, radiusTunnelMediumType, radiusTunnelPrivateGroupID –w pliku users, przy obsłudze posze\czególnych realmów, można dodać ustawienie atrybutów serii Tunnel-* –uwaga: operator := zamienia dotychczasowe ustawienia dla atrybutu Serwer RADIUS NIE MOŻE przekazywać na zewnątrz ustawień VLAN (attr_filter, perl)

46 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK46 Obsługa rozliczania Przykładowe rozwiązanie – wykorzystanie bazy SQL Plik konfiguracyjny sql.conf –zawiera deklaracje dotyczące modułu sql –deklaracja drivera, serwera, użytkownika i hasła do współpracy z bazą, nazwy bazy –definicje: accounting_start_query, accounting_update_query, accounting_stop_query Zainicjowanie bazy danych i tablicy np. accounting –w tablicy umieszczamy pola, których dotyczą definicje accounting_start_query, accounting_update_query, accounting_stop_query W sekcji accounting dopisujemy wywołanie modułu sql Szczegółowa instrukcja:

47 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK47 Integracja FreeRADIUS-a z Active Directory Założenia –korzystamy z Active Directory (Windows Server 2000 / 2003) jako bazy użytkowników –użytkownicy mają zdefiniowany tryb 'allow access' (zakładka Dial-In we własnościach konta) –rozszerzamy schemat poprzez dopisanie klasy radiusProfile oraz atrybutów dialupAccess, radiusGroupName, radiusTunnel* –rozbudowujemy wpis użytkownika w celu dodania nowych atrybutów uwaga: możliwość zastosowania atrybutów klasy radiusProfile przy opisie kont użytkowników ustala własność klasy radiusProfile w ramach zakładki Relationship – jako 'possible superior' należy dodać user

48 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK48 Active Directory W celu aktualizacji schematu: –administrator lub użytkownik modyfikujący musi być w grupie (Member Of) Schema Admins –Run... regsvr32 scmmgmt.dll –otworzyć konsolę (mmc) i dodać przystawkę Active Directory Schema –aby była możliwość zapisu aktualizacji niezbędna jest zmiana w rejestrze: dojść do HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\NTDS\Parameters Edit, New, DWORD Value, Value Name: Schema Update Allowed Data Type: REG_DWORD, Base: Binary, Value Data: 1

49 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK49 Active Directory Konta użytkowników znajdują się w gałęzi cn=Users –korzeń drzewa to dc=a,dc=b,dc=c, jeśli Active Directory jest kontrolerem domeny a.b.c –program ldifde pozwala importować i eksportować dane domyślny tryb to eksport –przykłady ldifde -d 'cn=users,dc=ad,dc=umk,dc=pl' -f u.ldif w pliku u.ldif zostanie zapisany zrzut poddrzewa cn=users ldifde -f user.ldif -i import danych wg pliku user.ldif (wsad w postaci standardu LDIF, DN entry, definicja operacji (changetype: add/modify/ delete), atrybuty

50 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK50 FreeRADIUS - współpraca z Active Directory FreeRADIUS Tutorial for AD Integration, Ch. Schwartz Definiujemy moduł ldap, np ldap AD {... identity = DN_użytkownika z prawem_odczytu password = hasło_użytkownika start_tls = no access_attr = dialupAccess... } –w sekcji authorize umieszczany odpowiedni Autz-Type, podobnie w authenticate Auth-Type (by wskazać móc wskazać w users obsługę dla danego realmu)

51 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK51 FreeRADIUS - współpraca z Active Directory Stosowany typ uwierzytelnienia – PEAP Ustawienia po stronie serwera –serwer musi należeć do domeny Windows –korzystamy z serwera Samba i narzędzi: winbind: demon umożliwiający połączenie ze środowiskiem Windows ntlm_auth: program korzystający z winbind do realizacji zlecenia NTLM –plik /etc/krb5.conf – należy dodać domenę Windows AD.UMK.PL { kdc = default_domain = AD.UMK.PL }

52 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK52 FreeRADIUS - współpraca z Active Directory Samba –plik smb.conf w sekcji [global] workgroup = AD.UMK.PL security = ads... password server = // serwer AD realm = AD.UMK.PL w sekcji [homes] browsable = no writable = yes –restart samby

53 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK53 FreeRADIUS - współpraca z Active Directory Rejestracja serwera w domenie Windows net join -U administrator Uruchomić winbindd Próba uwierzytelnienia przez NTLM ntlm_auth –request-nt-key –domain=AD.UMK.PL -username=mgw Dostosowanie konfiguracji serwera FreeRADIUS: –w sekcji mschap musi być authtype = MS-CHAP, odkomentowane definicje with_ntdomain_hack = yes oraz ntlm_auth = /usr/bin/ntlm_auth –request-nt-key --domain=AD.UMK.PL –username=%{Stripped-User-Name} --challenge=%{mschap:Challenge} --nt-response=%{mschap:NT-Response}

54 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK54 FreeRADIUS - współpraca z Active Directory Plik eap.conf –default_eap_type = peap –w sekcji tls – deklaracja certyfikatów, PEAP korzysta z zaszyfrowanego tunelu –odkomentować sekcję peap peap { default_eap_type = mschapv2 } Klient –w suplikancie wybieramy metodę PEAP, odznaczamy automatyczne przekazywanie danych zalogowanego użytkownika, jako username wpisujemy pole domeny puste

55 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK55 FreeRADIUS – modyfikacje źródeł Patch dot. wyrażeń regułowych w realmach Własne poprawki UMK –moduł ldap: dodanie możliwości deklaracji groupmembership=NULL – w celu uniknięcia domyślnych przeszukiwań bazy pod kątem atrybutów member, groupOfNames –moduł attr_filter: dodanie deklaracji default_copy, gdy default_copy=yes, domyślnie są przepisywane atrybuty w pakiecie (jeśli nie pojawią się na liście w pliku attrs) –moduł files: dodanie możliwości wywołania modułu w sekcji post-auth (w celu przypisania na tym etapie VLAN-ów) –logowanie: main/auth.c – wypisywanie czasu zalogowania przy debugu lib/print.c, moduł ldap – ukrycie haseł

56 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK56 Internet Authentication Server IAS Usługa IAS –rejestracja IAS w Active Directory (prawy przycisk, Register Service in Active Directory) –Clients – definicja klienta, nazwa skrócona, adres IP, client 'RADIUS standard', ustalić shared secret między klientem a serwerem IAS –Remote Access Policy - domyślna 'Allow access if dial-in permission is enabled' właściwości danej polityki, zaznaczyć 'Grant remote access permission', następnie 'Edit profile' zakładka Authentication – zaznaczyć EAP, MS-CHAP, MS- CHAPv2 wybrać Protected EAP (PEAP), Configure

57 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK57 Internet Authentication Server IAS Certyfikat serwera: –można zainstalować Certification Service, utworzyć enterprose root CA i wygenerować certyfikat serwera certyfikat root CA musi zostać wyeksportowany i dodany do magazynu zaufanych urzędów certyfikacji każdego klienta –można wygenerować certyfikat serwera w środowisku instytucjonalnego PKI, ale certyfikat musi spełniać następujące wymagania: dodajemy następujące rozszerzenia keyUsage, subjectKeyIdentifier, authorityKeyIdentifier, crlDistributionPoints, extendedKeyUsage, subjectAltName, Certificate Template (o wartości Domain Controller) oraz atrybut CSP (Cryptographic Service Provider).

58 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK58 Internet Authentication Server IAS Ustalanie VLAN-ów –w ramach definicji Remote Access Policy, edycja profilu, zakładka Advanced można dodać atrybuty wysyłane w odpowiedzi, m.in. atrybuty serii Tunnel-* Serwer IAS domyślnie obsługuje użytkowników na podstawie danych w gałęzi cn=Users kontrolera domeny

59 Seminarium eduroam – UMK, Maja Górecka-Wolniewicz UCI UMK59 Serwer RADIUS instytucji dołączony do eduroam SSID eduroam wdrożony Działający serwer RADIUS, np. FreeRADIUS obsługujący daną instytucję –w proxy.conf obsługa realmów danej instytucji Serwer krajowy MUSI zawierać informację o nowej instytucji (w celu realizacji funkcjonalności) –musi zostać dodany wpis dot. obsługi realmu/realmów danej instytucji –nowy serwer instytucji musi zostać dodany do klientów (razem z ustalonym kluczem wspólnym) –udrożnienie portów UDP 1812, Serwer instytucji MUSI wskazywać serwery krajowe radius1.eduroam.pl i radius2.eduroam.pl do obsługi realmów innych niż lokalne


Pobierz ppt "Seminarium eduroam – UMK, 16-17.03.2006 Tomasz Wolniewicz UCI UMK Maja Górecka-Wolniewicz UCI, UMK Instalacja i konfiguracja serwera RADIUS."

Podobne prezentacje


Reklamy Google