Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
zsk:radius [2017/12/09 14:50] jkonczak [FreeRadius] |
zsk:radius [2018/01/12 22:26] (aktualna) jkonczak [FreeRadius] |
||
---|---|---|---|
Linia 42: | Linia 42: | ||
* dodaj nowego klienta, który: | * dodaj nowego klienta, który: | ||
* może odpytywać z 10.0.0.0/24 | * może odpytywać z 10.0.0.0/24 | ||
- | * jest typu: \\ ''nas_type = cisco'' \\ nas = Network Access Server [[https://wiki.freeradius.org/glossary/NAS|[1]]] | + | * jest typu: \\ ''nas_type = cisco'' \\ (nas oznacza Network Access Server [[https://wiki.freeradius.org/glossary/NAS|[1]]]) |
* Do czego używany jest ''secret''? | * Do czego używany jest ''secret''? | ||
* Uruchom FreeRadiusa w trybie debugowania: \\ ''freeradius -X'' | * Uruchom FreeRadiusa w trybie debugowania: \\ ''freeradius -X'' | ||
Linia 50: | Linia 50: | ||
* Przejrzyj plik ''ca.cnf'' i ''server.cnf'' | * Przejrzyj plik ''ca.cnf'' i ''server.cnf'' | ||
* Wykonaj komendę ''make'' \\ Jakie certyfikaty wygenerowałeś? \\ Jaki będzie poziom zaufania do certyfikatu serwera przez klientów? | * Wykonaj komendę ''make'' \\ Jakie certyfikaty wygenerowałeś? \\ Jaki będzie poziom zaufania do certyfikatu serwera przez klientów? | ||
+ | * Dodaj do pliku ''mods-enabled/eap'', do sekcji ''ttls'' i ''peap'' opcje: \\ ''copy_request_to_tunnel = yes \\ use_tunneled_reply = yes'' | ||
* Uruchom ponownie ''freeradius -X'' | * Uruchom ponownie ''freeradius -X'' | ||
Linia 70: | Linia 71: | ||
==== AAA na przykładzie dostępu do wiersza poleceń CISCO ==== | ==== AAA na przykładzie dostępu do wiersza poleceń CISCO ==== | ||
| | ||
+ | [[https://en.wikipedia.org/wiki/AAA_(computer_security)|AAA]], jak wspomniano wyżej, to: | ||
+ | * uwierzytelnianie – sprawdzanie, czy użytkownik jest tym, za kogo się podaje, zwykle przez przedstawienie swojej nazwy i hasła, lub swojego certyfikatu i udowodnienie posiadania klucza prywatnego | ||
+ | * autoryzacja – określenie czy użytkownik ma prawo wykonać konkretną czynność, np. czy wolno mu dołączyć do wybranej sieci bezprzewodowej, czy wolno mu zdalnie zalogować się na router, czy wolno mu na routerze wykonywać komendy konfiguracyjne. Dodatkowo RADIUS pozwala przesłać informacje konfiguracyjne, takie jak np. identyfikator VLANu, limit użycia danych, konfigurację IP [[https://wiki.freeradius.org/guide/Ippool-and-radius-clients|[1]]]. | ||
+ | * //accounting// – rejestracja zdarzeń, wykorzystania i użycia zasobów, pozwala przykładowo przesłać dane kto kiedy korzystał z sieci bezprzewodowej, ile danych wymienił, kto konfigurował switch. Tak jak wszystkie komunikaty RADIUS, dane są przesyłane jako pary atrybut-wartość. | ||
+ | W protokole RADIUS uwierzytelnienie i autoryzacja są zwykle robione razem, accounting musi być wykonywany osobno. | ||
+ | |||
+ | Poniższej znajdują się ćwiczenia pokazujące działanie każdego z elementów AAA na przykładzie dostępu do wiersza poleceń urządzania CISCO. | ||
+ | |||
//Zadanie 4.// Authentication - uwierzytelnianie (logowanie do CISCO) | //Zadanie 4.// Authentication - uwierzytelnianie (logowanie do CISCO) | ||
* Włącz uwierzytelnianie dostępu do logowania się na urządzenie CISCO po radiusue: \\ ''aaa authentication login default group radius none'' \\ <html><small></html> Uwaga: ostatni kawałek komendy (''none'') to określenie co ma się dziać jeśli serwer RADIUS nie odpowiada; ''none'' oznacza brak kontroli dostępu <html></small></html> | * Włącz uwierzytelnianie dostępu do logowania się na urządzenie CISCO po radiusue: \\ ''aaa authentication login default group radius none'' \\ <html><small></html> Uwaga: ostatni kawałek komendy (''none'') to określenie co ma się dziać jeśli serwer RADIUS nie odpowiada; ''none'' oznacza brak kontroli dostępu <html></small></html> | ||
Linia 86: | Linia 95: | ||
* Jaka jest różnica przy logowaniu? | * Jaka jest różnica przy logowaniu? | ||
| | ||
- | //Zadanie 6.// Accounting - //nie znam polskiej nazwy// (logowanie do CISCO) | + | //Zadanie 6.// Accounting (logowanie do CISCO) |
* Włącz accounting dostępu do wiersza poleceń po radiusie: \\ ''aaa accounting exec default start-stop group radius'' | * Włącz accounting dostępu do wiersza poleceń po radiusie: \\ ''aaa accounting exec default start-stop group radius'' | ||
* Włącz 'Vendor-Specific Attributes' do informacji o accountingu: \\ ''radius-server vsa send accounting'' | * Włącz 'Vendor-Specific Attributes' do informacji o accountingu: \\ ''radius-server vsa send accounting'' | ||
Linia 93: | Linia 102: | ||
==== WPA-EAP ==== | ==== WPA-EAP ==== | ||
+ | |||
+ | Jednym z ważnych zastosowań serwera RADIUS jest uwierzytelnianie użytkowników w sieciach bezprzewodowych korzystających z [[https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access|WPA/WPA2]] Enterprise (WPA2 jest opisywane przez standard IEEE 802.11i). | ||
+ | \\ | ||
+ | Standard WPA/802.11i nie wprowadza własnych metod uwierzytelniania - nakazuje użycie standardu [[https://en.wikipedia.org/wiki/IEEE_802.1X|802.1X]] i zdefiniowanego w nim EAPOL. | ||
+ | \\ | ||
+ | EAPOL korzysta z rozwiązania EAP (EAPOL = EAP over LAN). Protokół [[https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol|EAP]] **nie** służy do uwierzytelniania; EAP pozwala na przekazanie wiadomości różnych metod (protokołów) uwierzytelniania, a których najpopularniejsze to TLS, PEAP i TTLS. | ||
+ | |||
+ | Wiadomości protokołu EAP są przesyłane wpierw między klientem sieci bezprzewodowej (stacją, STA) a AccessPointem (AP) przy użyciu protokołu EAPOL, następnie między AP a serwerem RADIUS przy użyciu protokołu RADIUS. | ||
+ | |||
+ | Więcej informacji o 802.1X: | ||
+ | * https://www.eduroam.pl/Dokumentacja/802_1X_02.pdf | ||
+ | Użycia WPA2 Enterprise na przykładzie sieci eduroam: | ||
+ | * https://wiki.geant.org/display/H2eduroam/eduroam+SP | ||
+ | * https://www.eduroam.pl/index.php?page=doc | ||
+ | |||
+ | Poniższe ćwiczenia pokazują prostą konfigurację sieci WPA2 Enterprise z wykorzystaniem wcześniej skonfigurowanego serwera RADIUS do uwierzytelniania użytkowników sieci bezprzewodowej. | ||
//Zadanie 7.// Sprawdź lokalnie (na serwerze radius) uwierzytelnianie EAP: | //Zadanie 7.// Sprawdź lokalnie (na serwerze radius) uwierzytelnianie EAP: | ||
- | * Pobierz (lub zbuduj, instrukcje niżej) program eapol_test | + | * Pobierz: {{:zsk:eapol_test|eapol_test}} (lub zbuduj, instrukcje niżej) program ''eapol_test'' |
* Przygotuj plik konfiguracyjny (lub pobierz np. z http://deployingradius.com/scripts/eapol_test/): <html><small></html><code none wpa_supplicant.conf> | * Przygotuj plik konfiguracyjny (lub pobierz np. z http://deployingradius.com/scripts/eapol_test/): <html><small></html><code none wpa_supplicant.conf> | ||
network={ | network={ | ||
Linia 129: | Linia 154: | ||
//Zadanie 8.// Skonfiguruj nową grupę serwerów radius i nową grupę uwierzytelniania na potrzeby WPA-Enterprise: <code> | //Zadanie 8.// Skonfiguruj nową grupę serwerów radius i nową grupę uwierzytelniania na potrzeby WPA-Enterprise: <code> | ||
- | aaa group server radius grupaSerwerowRadiusDlaWpa | + | aaa group server radius serweryRadiusDlaWpa |
server 10.0.0.1 auth-port 1812 acct-port 1813 | server 10.0.0.1 auth-port 1812 acct-port 1813 | ||
- | aaa authentication login grupaUwierzytelnianiaDlaWpa group grupaSerwerowRadiusDlaWpa | + | aaa authentication login grupaUwierzytelnianiaDlaWpa group serweryRadiusDlaWpa |
</code> | </code> | ||
Linia 151: | Linia 176: | ||
//Zadanie 11.// Ograniczanie dozwolonych metod EAP: | //Zadanie 11.// Ograniczanie dozwolonych metod EAP: | ||
* Przejrzyj plik ''mods-enabled/eap'' z katalogu konfiguracji FreeRadiusa. | * Przejrzyj plik ''mods-enabled/eap'' z katalogu konfiguracji FreeRadiusa. | ||
- | * Zmodyfikuj plik tak, by zabronić motod innych niż ''ttls'' i ''peap'' (uwaga: sekcje ''tls-config'' i ''mschapv2'' muszą zostać) | + | * Zmodyfikuj plik tak, by zabronić metod innych niż ''ttls'' i ''peap'' (uwaga: sekcje ''tls-config'' i ''mschapv2'' muszą zostać) |
- | * Przetestuj poleceniem ''eap_test'' działanie konfiguracji | + | * Przetestuj poleceniem ''eapol_test'' działanie konfiguracji |
//Zadanie 12.// Accounting sieci bezprzewodowej: | //Zadanie 12.// Accounting sieci bezprzewodowej: | ||
- | * Stwórz grupę accountingu na potrzeby WPA-Enterprise: \\ ''aaa accounting network grupaAcctDlaWpa start-stop group radiusDlaWpa'' | + | * Stwórz grupę accountingu na potrzeby WPA-Enterprise: \\ ''aaa accounting network grupaAcctDlaWpa start-stop group serweryRadiusDlaWpa'' |
* Ustaw accounting dla wybranej sieci: \\ ''dot11 ssid wybranySsidSieci'' \\ '' accounting grupaAcctDlaWpa'' | * Ustaw accounting dla wybranej sieci: \\ ''dot11 ssid wybranySsidSieci'' \\ '' accounting grupaAcctDlaWpa'' | ||
* Połącz się z siecią, pobierz jakiekolwiek dane, rozłącz się z siecią | * Połącz się z siecią, pobierz jakiekolwiek dane, rozłącz się z siecią | ||
Linia 161: | Linia 186: | ||
| | ||
==== 802.1X ==== | ==== 802.1X ==== | ||
+ | |||
+ | Opisany w poprzedniej sekcji protokół IEEE 802.1X stworzono na potrzebę uwierzytelniania urządzeń podłączanych do sieci kablowej. IEEE 802.1X to tylko uwierzytelnianie klienta – w porównaniu do WPA2-Enterprise nie stosuje się szyfrowania ruchu. | ||
//Zadanie 13.// Przełącz się z konfiguracji AP na konfigurację switcha. Wykonaj podstawową konfigurację: | //Zadanie 13.// Przełącz się z konfiguracji AP na konfigurację switcha. Wykonaj podstawową konfigurację: |