przejście do zawartości
Jan Kończak
Narzędzia użytkownika
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Ostatnie zmiany
Menadżer multimediów
Indeks
Jesteś tutaj:
start
»
zsk
»
radius
zsk:radius
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
==== Przygotowanie konfiguracji do zajęć ==== //Zadanie 1.// Przygotuj konfigurację sieciową: * Uruchom ''Vlab'', następnie ''Linux SK prog'' * Uruchom terminal i zaloguj się na roota * Zaktualizuj listę pakietów: \\ ''apt-get update'' * zainstaluj telnet i picocom: \\ ''apt-get install telnet picocom'' * dnsmasq + NAT: * Zainstaluj dnsmasq: \\ ''apt-get install dnsmasq'' * Skonfiguruj dnsmasq, dopisując do pliku ''/etc/dnsmasq.conf'' linie: \\ ''interface=enp0s8'' \\ ''dhcp-range=10.0.0.2,10.0.1.10'' * Ustaw adres interfejsu ''enp0s8'' na np. 10.0.0.1/24 i włącz go, przykładowa komenda: \\ ''ifconfig enp0s8 10.0.0.1/24 up'' * Ustaw IP forwarding: \\ ''sysctl net.ipv4.conf.all.forwarding=1'' * Ustaw maskaradę na interfejsie ''enp0s3'': \\ ''iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE'' * Uruchom ponownie dnsmasq: \\ ''systemctl restart dnsmasq'' ==== FreeRadius ==== [[https://en.wikipedia.org/wiki/RADIUS|RADIUS]] to nazwa protokołu sieciowego służącego do uwierzytelniania (authentication), autoryzacji (authorization), i //accountingu// (accounting), usług określanych wspólnie jako AAA. Protokół RADIUS pozwala na wysłanie żądania dostępu (access-request) w formie listy atrybutów (identyfikator atrybutu + wartość). Serwer RADIUS na podstawie tych atrybutów albo pozwala na dostęp (access-accept), żąda więcej danych (access-challange), albo odmawia dostępu (access-reject). Odpowiedź (jak każda inna wiadomość) to lista atrybutów w których można zawrzeć dodatkowe informacje, używane np. do autoryzacji czy do konfiguracji klienta. Przykładowo: można odesłać identyfikator VLANu uwierzytelnionego użytkownika czy informacje o jego poziomie uprawnień dostępu do konsoli CISCO. Protokół RADIUS używany jest (tylko) między serwerem RADIUS a urządzeniem wykonującym uwierzytelnienie (Netwok Access Server), np. Access Pointem. Przykład (graficzny): [[https://technet.microsoft.com/pl-pl/library/cc755248(v=ws.11).aspx|[1]]]. FreeRADIUS [[https://en.wikipedia.org/wiki/FreeRADIUS|[1]]], [[https://freeradius.org/|[2]]] jest najpopularniejszym darmowym (i open-source) serwerem RADIUS. //Zadanie 2.// Zainstaluj i skonfiguruj (minimalnie) serwer FreeRadius: * Instalacja FreeRadiusa * Zainstaluj FreeRadiusa i wpa_supplicanta: \\ ''apt-get update'' \\ ''apt-get install freeradius freeradius-utils wpasupplicant'' * Wyłącz FreeRadiusa: \\ ''systemctl stop freeradius'' \\ <html><small>(Debian domyślnie uruchamia każdy daemon który zostanie zainstalowany)</small></html> * Konfiguracja FreeRadiusa * Przejdź do katalogu ''/etc/freeradius/3.0'' * Baza użytkowników: * Przejrzyj plik ''users'' * Dodaj użytkownika (z ustawionym tylko hasłem) na podstawie przykładowej konfiguracji * Typowo baza użytkowników jest brana z LDAP (''mods-available/ldap'') lub z bazy danych (''mods-available/sql'') * Przejrzyj powyższe pliki: \\ Z jakiej tabeli i bazy korzysta domyślnie sql? \\ Jaki filtr ldap jest tworzony do sprawdzenia użytkownika? * Klienci - baza urządzeń którym wolno odpytywać FreeRadiusa * przjrzyj plik ''clients.conf'' * dodaj nowego klienta, który: * 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]]] * Do czego używany jest ''secret''? * Uruchom FreeRadiusa w trybie debugowania: \\ ''freeradius -X'' * Przetestuj serwer radius, wydając zapytanie: \\ ''radtest //użytkownik// //hasło// 127.0.0.1 0 //testing123// 0 localhost'' \\ <html><small></html>Do sensowniejszych testów można użyć np. https://wiki.freeradius.org/config/Radclient<html></small></html> * Wygeneruj certyfikaty serwera * Wejdź do katalogu ''certs'' * 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? * Uruchom ponownie ''freeradius -X'' Konfiguracja serwera radius (z materiałów eduroam): * https://www.eduroam.pl/Dokumentacja/freeradiusv2-09-2012.pdf * https://wiki.geant.org/display/H2eduroam/freeradius-sp ==== CISCO - wstęp ==== Wstęp do CISCO na podstawie [[sk1:cisco_wstep]] //Zadanie 3.// Skonfiguruj AP CISCO do współpracy z serwerem protokołu RADIUS: * AP używane na zajeciach mają hasło ''Cisco'' * Konsola szeregowa: \\ ''picocom /dev/ttyS0'' * W trybie konfiguracji ''(conf)#'' wykonaj konfigurację interfejsu mostka, nadając mu adres IP z dhcp: \\ ''interface BVI 1'' \\ '' ip address dhcp''<html> <!-- * Dodaj lokalnego użytkownika (na wypadek błędów z radiusem): \\ ''username //nazwa_uzytkownika// privilege 15 password 0 //haslo//''--></html> * Włącz 'nowe' komendy [[https://networkengineering.stackexchange.com/questions/30037/what-was-the-aaa-old-model|[1]]] uwierzytelniania, autoryzacji i //accountingu// \\ ''aaa new-model'' * Dodaj serwer radius: \\ ''radius-server host 10.0.0.1 auth-port 1812 acct-port 1813 key //sekret//'' * Przetestuj serwer radius: \\ ''test aaa group radius //użytkownik// //hasło// new-code'' ==== AAA na przykładzie dostępu do wiersza poleceń 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> * Sprawdź działanie używając komendy ''telnet 10.0.0.x'' * Sprawdź działanie przez konsolę szeregową //Zadanie 5.// Authorisation - autoryzacja (logowanie do CISCO) * Włącz autoryzację dostępu do wiersza poleceń po radiusie: \\ ''aaa authorization exec default group radius'' * Stwórz dwóch użytkowników w serwerze RADIUS:<code>robert Cleartext-Password := "hello" Service-Type = NAS-Prompt-User, Cisco-AVpair = "shell:priv-lvl=15" alice Cleartext-Password := "hello" NAS-Port-Type = Wireless-802.11</code> * Spróbuj się zalogować kolejno na ''alice'', na utworzonego przez Ciebie wcześniej użytkownika, na ''robert'' * Jaka jest różnica przy logowaniu? //Zadanie 6.// Accounting - //nie znam polskiej nazwy// (logowanie do CISCO) * 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'' * Kolejno zaloguj i wyloguj utworzonego przez Ciebie wcześniej użytkownika i roberta * Wejdź do katalogu ''/var/log/freeradius/radacct/'' i przejrzyj wpisy dotyczące accountingu ==== WPA-EAP ==== //Zadanie 7.// Sprawdź lokalnie (na serwerze radius) uwierzytelnianie EAP: * Pobierz (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> network={ ssid="wartoscIgnorowanaPrzezEapolTest" key_mgmt=WPA-EAP eap=PEAP #eap=TTLS anonymous_identity="anonymous" phase2="autheap=MSCHAPV2" identity="użytkownik" password="hasło" }</code><html></small></html> * Uruchom eapol_test z tak przygotowanym plikiem: \\ ''./eapol_test -c wpa_supplicant.conf -s //sekret_radiusa// '' <html><small></html> ++++ budowanie eapol_test | <code> # building eapol_test git clone git://w1.fi/hostap.git cd hostapd/wpa_supplicant cp defconfig .config nano .config # CONFIG_DRIVER_WEXT=y CONFIG_EAPOL_TEST=y CONFIG_LIBNL32=y CFLAGS += -I/usr/include/libnl3 -Wno-format-truncation apt-get install libssl-dev libnl-genl-3-dev libnl-3-dev make make eapol_test </code> ++++ <html></small></html> //Zadanie 8.// Skonfiguruj nową grupę serwerów radius i nową grupę uwierzytelniania na potrzeby WPA-Enterprise: <code> aaa group server radius grupaSerwerowRadiusDlaWpa server 10.0.0.1 auth-port 1812 acct-port 1813 aaa authentication login grupaUwierzytelnianiaDlaWpa group grupaSerwerowRadiusDlaWpa </code> //Zadanie 9.// Skonfiguruj sieć bezprzewodową (przkład dla sieci o nazwie //wybranySsidSieci// działającej na kanale 11): <code> dot11 ssid wybranySsidSieci authentication open eap grupaUwierzytelnianiaDlaWpa authentication key-management wpa guest-mode interface Dot11Radio 0 channel 11 encryption mode ciphers aes-ccm ssid wybranySsidSieci no shut </code> //Zadanie 10.// Przetestuj łączenie się do sieci (wykorzystując nieużywany komputer lub własną komórkę / laptopa) //Zadanie 11.// Ograniczanie dozwolonych metod EAP: * 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ć) * Przetestuj poleceniem ''eap_test'' działanie konfiguracji //Zadanie 12.// Accounting sieci bezprzewodowej: * Stwórz grupę accountingu na potrzeby WPA-Enterprise: \\ ''aaa accounting network grupaAcctDlaWpa start-stop group radiusDlaWpa'' * Ustaw accounting dla wybranej sieci: \\ ''dot11 ssid wybranySsidSieci'' \\ '' accounting grupaAcctDlaWpa'' * Połącz się z siecią, pobierz jakiekolwiek dane, rozłącz się z siecią * Wejdź do katalogu ''/var/log/freeradius/radacct/'' i przejrzyj wpisy dotyczące accountingu \\ Znajdź informację o tym, ile czasu trwało połączenie, do jakiego AP i jakiej sieci się podłączył klient, ile danych wymienił. ==== 802.1X ==== //Zadanie 13.// Przełącz się z konfiguracji AP na konfigurację switcha. Wykonaj podstawową konfigurację: <code> interface range GigabitEthernet 0/1-24 spanning-tree portfast interface vlan 1 ip address dhcp do ping 10.0.0.1 aaa new-model radius-server host 10.0.0.1 auth-port 1812 acct-port 1813 key sekret ip radius source-interface vlan 1 do test aaa group radius użytkownik hasło new-code </code> //Zadanie 14.// Wykonaj minimalną konfigurację 802.1X: * Włącz uwierzytelnianie 802.1X po radiusie: \\ ''aaa authentication dot1x default group radius'' * Włącz wsparcie dla 802.1X: \\ ''dot1x system-auth-control'' * Na porcie na którym jest podłączenie do serwera radius ustaw tryb access (zwykły port, nie trunk): \\ ''interface GigabitEthernet 0/24'' \\ '' switchport mode access'' * Na wybranych portach włącz kontrolę portów i skonfiguruj nasłuchiwanie na pakiety EAPOL (''authenticator''): \\ ''interface range GigabitEthernet 0/1-12'' \\ '' switchport mode access'' \\ '' dot1x port-control auto'' \\ '' dot1x pae authenticator'' * Z drugiego komputera zobacz, czy da się wykorzystać porty na których ustawiono kontrolę. * Wykonaj komendy diagnostyczne: \\ ''show dot1x'' \\ ''show dot1x interface GigabitEthernet 0/1 details'' //Zadanie 15.// Uwierzytelnij połączenie do switcha: * Stwórz plik wpa_supplicant.conf <html><small></html><code none wpa_supplicant.conf> ap_scan=0 network={ key_mgmt=IEEE8021X eap=PEAP #eap=TTLS phase2="autheap=MSCHAPV2" identity="bob" password="hello" } </code> <html></small></html> Zwróć uwagę na ''ap_scan=0'' i ''key_mgmt=IEEE8021X'' w pliku konfiguracyjnym * Uwierzytelnij się używając: \\ ''wpa_supplicant -D wired -i enp0s8 -c wpa_supplicant.conf [-d]'' \\ Przełącznik ''-D wired'' nakazuje traktować interfejs jako kablowy (nie bezprzewodowy). \\ Opcjonalny przełącznik ''-d'' włącza tryb diagnostyczny (debug) * Sprawdź w konsoli CISCO jak wygląda stan łącza i stan 802.1X * Przerwij wpa_supplicanta. \\ Kiedy port zostanie zdeautentykowany (//jak to jest po polsku?//)? //Zadanie 16.// Wymuś przeterminowywanie i periodyczne odświeżanie uwierzytelnienia: * W konfiguracji interfejsów wpisz: \\ ''dot1x reauthentication'' * Skonfiguruj czas co jaki następuje żądanie ponownego uwierzytelnienia: \\ ''dot1x timeout reauth-period 20'' \\ Uwaga: 20 sekund to bardzo kótki czas, podany jako przykład na potrzeby labolatorium * Sprawdź po jakim czasie nieodświeżania uwierzytelnienia klient zostanie usunięty z sieci //Zadanie 17.// Accounting * Włącz accounting komendą: \\ ''aaa accounting dot1x default start-stop group radius'' * Sprawdź wpisy dotyczące accountingu
zsk/radius.1512827430.txt.gz
· ostatnio zmienione: 2017/12/09 14:50 przez
jkonczak
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Złóż / rozłóż wszystko
Do góry