Laboratorní úloha č. 8

Autentizace pomocí EAP a RADIUS

Návrh, správa a bezpečnosť počítačových sietí (MPC-NSB)

Úvod

Cílem této laboratorní úlohy je studentům přiblížit možnosti centralizované autentizace v porovnání s mechanismy lokálního ověřování identity uživatelů, resp. zařízení. Seznámí se s principy zabezpečení přístupu do sítě pomocí autentizačních protokolů EAP (Extensible Authentication Protocol) a RADIUS (Remote Authentication Dial-In User Service) a získají praktické zkušenosti s implementací RADIUS serveru jakožto centrálního prvku pro řízení přístupu a zabezpečené připojení do sítě.

V rámci této úlohy získáte základní poznatky o procesu autentizace klienta ve Wi-Fi síti s podporou standardu IEEE 802.1X. V teoretické části bude vysvětlen způsob konfigurace serveru FreeRADIUS a popsán proces ověřování identity uživatele prostřednictvím externího autentizačního mechanismu. V praktické části si v připravené virtuální síti složené ze tří virtuálních strojů ve VMware – klienta, přístupového bodu a autentizačního serveru – vyzkoušíte nasazení a konfiguraci FreeRADIUS serveru, jako centrálního autentizačního bodu, jeho propojení s přístupovým bodem pomocí protokolu EAP a samotnou autentizaci klienta. Důležitou součástí úlohy bude analýza průběhu autentizačního procesu pomocí nástrojů síťové analýzy, která studentům umožní lépe porozumět vzájemné spolupráci jednotlivých vrstev síťové architektury, především linkové, síťové a aplikační.

Teoretický úvod

V této laboratorní úloze zaměřené na autentizační protokoly EAP a RADIUS se seznámíte s možnostmi centralizovaného řízení přístupu a ověřování uživatelů v počítačových sítích. Autentizace je jedním z klíčových prvků pro dosažení vysoké úrovně zabezpečení.

Kombinace autentizační metody EAP (Extensible Authentication Protocol) a systému RADIUS (Remote Authentication Dial-In User Service) se běžně využívá především v podnikových Wi-Fi sítích a VPN, kde slouží k centralizované správě ověřování identity uživatelů a řízení jejich přístupu ke sdíleným síťovým prostředkům.

IEEE 802.1X

IEEE 802.1X je síťový standard definovaný organizací IEEE , který slouží ke kontrole přístupu do lokálních sítí. Představuje základní technologii pro řízení přístupu na úrovni fyzických portů. PNAC, z angl. Port-Based Network Access Control V praxi to znamená, že zařízení (klient) nezíská plný přístup k síťovým službám, dokud neproběhne úspěšně autentizační proces. Tento proces zahrnuje spolupráci tří základních prvků:

802.1X
Základní komponenty 802.1X a jejich vzájemné propojení.

Standard IEEE 802.1X se často používá ve spojení s protokolem EAP (Extensible Authentication Protocol) a v podnikových sítích představuje běžný způsob řízení bezpečného přístupu. Detailní znění standardu IEEE 802.1X je dostupné na oficiálních stránkách, přičemž bližší vysvětlení principů a průběhu autentizace lze nalézt i v odborné literatuře [3], [4], [5].

Extensible Authentication Protocol (EAP)

EAP představuje flexibilní autentizační framework navržený pro podporu různých metod ověřování přistupujících uživatelů. Nejedná se o konkrétní autentizační protokol, ale o rámec, který umožňuje využití několika různých autentizačních metod. Jednotlivé metody jsou založeny na výměně zpráv mezi klientem (např. uživatelským zařízením) a autentizačním serverem (např. RADIUS serverem). EAP se široce používá v bezdrátových sítích a v zabezpečených VPN připojeních.

Mezi nejznámější autentizační metody EAP patří:

Protokol EAP definuje základní rámec pro autentizační proces, přičemž všechny metody využívají stejné typy základních EAP zpráv, které si klient a autentizační server (zprostředkovaně přes přístupový bod nebo přepínač) vyměňují. Existují čtyři základní typy zpráv, jejich přehled je uveden v následující tabulce.

Přehled typů EAP zpráv
Typ zprávy Kód Odesílatel Popis
EAP-Request (požadavek) 1 Server Výzva klientovi k zadání požadovaných údajů (např. identita, heslo, certifikát).
EAP-Response (odpověď) 2 Klient Odpověď klienta na výzvu serveru – obsahuje požadované údaje.
EAP-Success 3 Server Potvrzení úspěšné autentizace – klient získává přístup do sítě.
EAP-Failure 4 Server Oznámení o neúspěšné autentizaci – přístup klienta je zamítnut.

Každá EAP zpráva má následovný základní formát:

Rozložení základních polí EAP zprávy je znázorněno na obrázku níže.

správa EAP
Schematické znázornění struktury zprávy protokolu EAP .

V procesu autentizace si mezi sebou klient (resp. žadatel) a autentizační server vyměňují EAP zprávy zprostředkovaně přes AP. Typicky server odosiela požiadavky (Request), na které klient reaguje odpovědí (Response). V závislosti na konkrétním typu použité autentizační metody de liší obsah datové části přenášené v příslušné EAP zprávě. Jako příklad lze uvést různé typy zpráv, které jsou odesílány v průběhu autentizačního procesu pomocí metody MD5:

Autentizace EAP-MD5

EAP-MD5 je jednoduchá autentizační metoda používaná k ověřování identity uživatelů v počítačových sítích. Funguje na principu, kdy server (autentizátor) odešle klientovi výzvu (challenge), klient na základě svého uživatelského jména, hesla a obdržené výzvy vypočítá odpověď (response), kterou zašle zpět. Server následně tuto odpověď porovná s očekávaným výsledkem a na základě shody klientovi přístup do sítě buď povolí, nebo zamítne.

Výhodou této metody je její rychlost a jednoduchost. Mezi hlavní nevýhody však patří absence jakýchkoli mechanismů pro šifrování či ochranu přenášených dat – klientovo heslo lze totiž poměrně snadno získat pomocí útoku hrubou silou . EAP-MD5 nepodporuje ověření serveru, a proto je považována za nevhodnou pro použití ve veřejných sítích. Výborně se však hodí pro výukové účely, protože umožňuje názorně vysvětlit základní principy a jednotlivé kroky autentizačního procesu.

Průběh autentizace pomocí EAP-MD5 zahrnuje celkem pět základních kroků, jejichž analýzu přináší následující tabulka. Schematické znázornění průběhu komunikace je uvedeno na obrázku.

Zprávy odesílané v procesu autentizace EAP-MD5 .
Krok Odesílatel → Příjemce Typ zprávy Obsah
1 Autentizátor → Klient EAP-Request Identity Výzva k zaslání identity (např. „Kdo jsi?“)
2 Klient → Autentizátor EAP-Response Identity Klient odešle svou identitu (např. „peter“)
3 Autentizátor → Klient EAP-Request MD5-Challenge Výzva obsahující náhodný řetězec (challenge) a ID
4 Klient → Autentizátor EAP-Response MD5-Challenge Klient vygeneruje MD5 hash:
MD5(ID + heslo + challenge)
5 Autentizátor → Klient EAP-Success / EAP-Failure Server porovná vypočtený hash a odešle odpověď o výsledku autentizace (úspěch/neúspěch)
EAP-MD5
Schematické znázornění výměny zpráv mezi klientem a autentizačním serverem při EAP-MD5 autentizaci.

EAPoL (EAP over LAN)

Při komunikaci probíhající v sítích IEEE 802.1X jsou EAP zprávy mezi klientem (supplicant) a přístupovým bodem (authenticator) přenášeny ve formátu EAP over LAN na linkové vrstvě – tzv. EAPoL zprávy.

EAPoL představuje rozšíření protokolu EAP navržené specificky pro použití v sítích založených na přenosových technologiích EthernetWi-Fi, kde se autentizační data přenášejí přímo na druhé (linkové) vrstvě referenčního modelu ISO/OSI.

EAPoL slouží výhradně ke komunikaci klienta s AP a jeho úkolem je přenášet EAP zprávy zapouzdřené do ethernetového rámce na linkové vrstvě. Standard EAPoL definuje pět základních typů zpráv:

Přehled typů EAPoL zpráv
Typ Název zprávy Účel
0x00 EAP-Packet Obsahuje samotnou EAP zprávu
0x01 EAPoL-Start Iniciuje autentizační proces
0x02 EAPoL-Logoff Označuje, že klient se odhlašuje ze sítě, slouží k ukončení spojení
0x03 EAPoL-Key Používá se pro výměnu šifrovacích klíčů (např. v protokolu WPA/WPA2)
0x04 EAPoL-Encapsulated-ASF-Alert Méně běžný typ zprávy pro specifická bezpečnostní upozornění

Proces zapouzdření EAPoL zprávy do ethernetového rámce na úrovni linkové vrstvy je znázorněn na dalším obrázku, přičemž struktura samotné EAPoL zprávy je rovněž graficky zobrazena. Význam jednotlivých polí je následující:

EAPoL
Schematické znázornění zapouzdření EAPoL zprávy do rámce technologie Ethernet.

Přístupový bod (AP) následně tyto EAP zprávy zapouzdřuje do zpráv protokolu RADIUS na aplikační vrstvě a přeposílá je dále na autentizační server.

Výhodou protokolu EAP je jeho modularita a schopnost přizpůsobit se různým scénářům z praxe. Metody frameworku EAP tvoří základní pilíře zabezpečení zejména v dnešních Wi-Fi sítích s WPA-Enterprise, jelikož umožňují výběr z široké škály různých autentizačních metod podle konkrétních požadavků.

Podrobný popis architektury, typů a formátů přenášených zpráv i používaných autentizačních metod lze nalézt v oficiálním standardu definujícím EAP, dokumentu RFC: Extensible Authentication Protocol (EAP). Více o jednotlivých autentizačních metodách dostupných v rámci EAP frameworku, včetně detailní analýzy výhod, a naopak omezení a nedostatků jednotlivých přístupů, lze najít v literatuře [7].

RADIUS (Remote Authentication Dial-In User Service)

RADIUS pje aplikační protokol založený na architektuře klient-server, který poskytuje služby AAA (Authentication, Authorization, Accounting),tedy autentizaci, autorizaci a účtování. Byl vyvinut jako mechanismus centralizované autentizace uživatelů. V kontextu IEEE 802.1X je klíčovým prvkem autentizační server RADIUS. V lokálních sítích plní jeho úlohu přístupový bod, který vystupuje jako klient protokolu RADIUS a veškeré zprávy přijaté od klienta přeposílá na autentizační server.

Mezi hlavní součásti architektury RADIUS patří:

Protokol RADIUS využívá na transportní vrstvě jednoduchý bezstavový protokol UDP a typicky komunikuje na portech 1812 (pro autentizaci) a 1813 (pro účtování). Po úspěšné autentizaci může být přistupujícímu uživateli umožněn přístup do sítě či k požadovaným prostředkům.

Autentizační server RADIUS v procesu autentizace

V procesu autentizace EAP-MD5 vystupují tři klíčové komponenty: klient (žadatel), přístupový bod (AP) a autentizační server RADIUS. Přístupový bod slouží jako prostředník, který pouze přenáší autentizační zprávy mezi klientem a serverem. Komunikace mezi klientem a AP probíhá formou EAP zpráv zapouzdřených do EAPoL (EAP over LAN), které jsou přenášeny přes Ethernet.

radius
Komponenty sítě s autentizací EAP-MD5 a jejich vzájemná komunikace.

Autentizační server je zodpovědný za samotné ověření identity klienta. Jakmile AP obdrží od klienta zprávu typu EAP-Response/Identity , s jeho identitou, zapouzdří ji do RADIUS zprávy typu Access-Request a odešle na server. Server odpoví výzvou typu Access-Challenge, která obsahuje náhodný řetězec (výzvu, challenge), a ten je následně přeposlán klientovi prostřednictvím AP jako zpráva typu EAP-Request/MD5-Challenge.

Klient z výzvy, ID výměny a svého hesla spočítá hash a odešle jej zpět jako reakci (odpověď, response) ve zprávě EAP-Response/MD5-Challenge . AP tuto odpověď opět zapouzdří do zprávy Access-Request a přepošle ji RADIUS serveru. Server ověří správnost výpočtu (porovná s vlastním výpočtem hodnoty hash) a na základě výsledku rozhodne o úspěšnosti autentizace. V případě úspěchu odešle zprávu Access-Accept, jinak Access-Reject. AP poté informuje klienta výslednou zprávou EAP-Success , resp.  EAP-Failure .

Tento mechanismus zajišťuje, že heslo klienta nikdy není přenášeno v otevřené podobě. AP přitom nezná žádné autentizační údaje – jeho úkolem je pouze zapouzdření EAP zpráv do formátu RADIUS a zpět. Protokol RADIUS se používá výhradně pro komunikaci mezi AP a autentizačním serverem, zatímco EAPoL slouží k přenosu zpráv mezi klientem a AP. Podrobný průběh komunikace je znázorněn na obrázku:

radius-eap-md5
Schematické znázornění autentizace EAP-MD5 podle standardu IEEE 802.1X.

Pro více informací a podrobnější vysvětlení a popis výše uvedených protokolů a metod autentizace je možné nahlédnout do literatury [8], [9], [10]

Použité nástroje

Wireshark

Wireshark je síťový analyzátor, který umožňuje sledování datových přenosů. Použití tohoto nástroje jste si prakticky vyzkoušeli již v několika předchozích laboratorních úlohách, a proto zde nebude detailněji popisován.

FreeRADIUS

FreeRADIUS představuje open-source řešení pro implementaci protokolu RADIUS určeného k autentizaci, autorizaci a účtování přístupů v sítích. Umožňuje nasazení RADIUS serverů a je využíván jak v podnikových, tak ve veřejných sítích pro potřeby centralizovaného ověřování uživatelů. FreeRADIUS podporuje široké spektrum autentizačních protokolů, včetně EAP-MD5, PEAP, EAP-TTLS a mnoha dalších, což z něj činí vhodné řešení pro různorodá síťová prostředí.
Kromě samotné autentizace nabízí FreeRADIUS také možnosti monitorování činnosti uživatelů v síti a vytváření záznamů o jejich přístupech ke zdrojům. FreeRADIUS je modulární a flexibilní, což umožňuje jeho integraci s databázemi, LDAP servery a dalšími externími autentizačními systémy.

Instalace a konfigurace RADIUS serveru

V rámci praktické části úlohy budete realizovat vlastní implementaci RADIUS serveru. Pro tento účel bude využit nástroj FreeRADIUS dostupný v systému Kali Linux.
Instalace FreeRADIUS na Kali Linux:

sudo apt-get install freeradius

Konfigurace autentizační politiky v souboru /etc/freeradius/3.0/users pro přidání nového uživatele:

testuser Cleartext-Password := "heslo123"

Spuštění vytvořeného RADIUS serveru:

sudo systemctl start freeradius

Hostapd

Hostapd představuje softwarové řešení, které umožňuje běžným klientským zařízením (např. virtuálnímu stroji s Kali Linux) emulovat funkcionalitu plnohodnotného přístupového bodu (authenticator) ve smyslu standardu IEEE 802.1X. Je primárně navržen pro bezdrátové sítě, avšak v laboratorních podmínkách může být využit i v simulovaném ethernetovém prostředí. Umožňuje implementaci autentizačních mechanismů, správu SSID SSID (Service Set IDentifier) představuje název bezdrátové sítě, který se zobrazuje uživatelům při připojení ke konkrétní Wi-Fi. , zabezpečení sítě a komunikaci s RADIUS serverem. V rámci laboratorní úlohy bude nástroj hostapd použit k vytvoření jednoduchého autentizačního bodu sítě, který zprostředkovává výměnu údajů mezi klientem a RADIUS serverem prostřednictvím EAP.

Základní parametry jako název sítě (SSID), síťové rozhraní, povolení mechanizmu autentizace IEEE 802.1X a údaje o RADIUS serveru jsou součástí konfiguračního souboru hostapd.conf.
Příklad konfigurace:

conn test
interface=eth0
driver=wired
ssid=EduLab
ieee8021x=1
auth_server_addr=192.168.126.130
auth_server_port=1812
auth_server_shared_secret=heslo1245

Vysvětlení jednotlivých nastavení obsažených v konfiguraci:

Po definování konfiguračních parametrů a uložení příslušného konfiguračního souboru se služba hostapd spouští příkazem:

sudo hostapd hostapd.conf

Uvedený příkaz zajistí načtení konfiguračního souboru a spuštění služby hostapd s požadovanými nastaveními. Je nezbytné jej spouštět s administrátorskými oprávněními (sudo), protože práce se službou hostapd zahrnuje manipulaci se síťovými rozhraními, jejich konfiguraci a správu autentizačních procesů, které vyžadují vyšší úroveň systémových oprávnění. Pozn.: správná konfigurace a spuštění tohoto nástroje je nezbytné pro úspěšné zprostředkování autentizace mezi klientem a RADIUS serverem.

Wpa_supplicant

Jedná se o softvérový nástroj, který umožňuje zařízení (klientovi) bezpečně se připojit k bezdrátové síti vyžadující autentizaci pomocí protokolu IEEE 802.1X. Spuštěná instance nástroje wpa_supplicant funguje jako klientská aplikace, která obsluhuje a řídí proces autentizace klienta a zajišťuje výměnu autentizačních EAP zpráv mezi klientským zařízením a  přístupovým bodem AP zastávající funkci authenicator v procesu autentizace IEEE 802.1X. . Tento nástroj tedy slouží k zajištění bezpečné komunikace klienta s přístupovým bodem (AP) prostřednictvím protokolů 802.1X a EAP, přičemž podporuje různé typy EAP autentizačních metod (např. EAP-MD5, EAP-TLS, EAP-TTLS, PEAP a další).

Praktická část

V rámci praktické části úlohy získáte komplexní přehled o možnostech implementace autentizačních protokolů EAP a RADIUS a také vlastní praktické zkušenosti s nastavením a správnou konfigurací vhodných metod autentizace a pokročilého řízení přístupu ke zdrojům v počítačové síti.

Topologie virtuální sítě a nastavení virtuálních strojů

Vytvořená síť bude sestávat ze tří virtuálních strojů:

Sieťová konfigurácia:

Všechny virtuální stroje musí být propojeny ve stejné virtuální podsíti, doporučuje se použít síťový režim: "Host-only".

Topológia
Topologie sítě laboratorní úlohy.

Poznámka k vytvořené topologii:

Pro emulaci přístupového bodu (AP) použijte virtuální stroj, který byl v předchozích laboratorních úlohách použit jako zařízení „útočníka“. Příslušný VM je připraven k použití nástroje hostapd, aby mohl funkčně zastoupit přístupový bod simulované sítě.

Seznámení se s použitými nástroji

Přehled základních příkazů pro jednotlivé používané nástroje

Postup pro vypracování laboratorní úlohy

A) Příprava prostředí

Spuštění virtuálních strojů

Přihlašovací údaje:

VM „klient“ Username: klient Password: kali
VM „AP“ Username: kali Password: kali
VM „RADIUS“ Username: server Password: kali

Ověření síťové konektivity

B) Konfigurace přístupového bodu

Aby mohl přístupový bod vytvořené sítě v procesu autentizace klienta vystupovat jako authenticator a zprostředkovávat komunikaci mezi klientem a autentizačním RADIUS serverem, je třeba příslušný VM náležitě nakonfigurovat. Pro tento účel bude použit nástroj hostapd, který umožňuje plnohodnotně emulovat funkčnost přístupového bodu na „běžném zařízení“.

Použití nástroje hostapd

C) Konfigurace RADIUS serveru

Implementace a následná konfigurace vlastního autentizačního RADIUS serveru na jednom z používaných VMs bude provedena pomocí nástroje FreeRADIUS

Instalace nástroje FreeRADIUS

Konfigurace uživatele

Konfigurace přístupového bodu

Spuštění služby

D) Konfigurace klienta

Pro zajištění bezpečného připojení k bezdrátové síti a autentizace pomocí protokolu IEEE 802.1X a komunikace s autentizačním serverem RADIUS bude na straně klienta použit nástroj wpa_supplicant.

Použití nástroje wpa_supplicant

Sledování a analýza komunikace ve Wiresharku

wireshark
Ukázka zachycené komunikace – výměna zpráv v průběhu autentizace EAP-MD5.

Zadání samostatného úkolu

E) Konfigurace autentizační metody EAP-TLS

V poslední části laboratorního cvičení si vyzkoušíte implementaci autentizační metody EAP-TLS, přičemž v procesu ověření identity klienta využijete možnost multifaktorové autentizace, a to v kombinaci hesla a certifikátu. Pro zachycení a analýzu výměny zpráv použijete nástroj Wireshark. Na závěr porovnáte rozdíly mezi použitými metodami autentizace na základě analýzy datové komunikace – věnujte pozornost rozdílům oproti EAP-MD5.

Cílem vaší samostatné práce bude implementovat autentizační metodu založenou na certifikátech EAP-TLS, namísto autentizačního mechanismu EAP-MD5, a následně nakonfigurovat autentizační politiku využívající vícefaktorovou autentizaci (heslo + certifikát).
Vygenerujte vlastní certifikáty pro server a klienta a analyzujte rozdíly mezi jednotlivými metodami autentizace na základě zachycených datových paketů.

Užitečné příkazy:

Kontrolní otázky

Poznámka: Některé otázky mohou mít více než jednu správnou odpověď. Pro správné zodpovězení otázky je nutné označit všechny správné odpovědi.

Závěr

V tomto laboratorním cvičení jste se seznámili s možnostmi centralizované autentizace klientů s využitím autentizačního serveru RADIUS.

V praktické části jste ve vytvořené virtuální síti simulovali pomocí tří virtuálních strojů autentizační proces využívající metodu EAP-MD5 a měli jste možnost analyzovat průběh celé komunikace přistupujícího klienta se vzdáleným autentizačním RADIUS serverem, jehož zprostředkovatelem byl přístupový bod. V prostředí nástroje Wireshark jste analyzovali výměnu EAP zpráv, které jsou přenášeny v průběhu autentizace, a to jednak mezi klientem a přístupovým bodem prostřednictvím protokolu EAPoL na linkové vrstvě, a následně aplikačním protokolem RADIUS mezi přístupovým bodem a autentizačním serverem. Vaším samostatným úkolem bylo následně implementovat metodu EAP-TLS využívající pro ověření identity klienta certifikát s veřejným klíčem a provést její porovnání s předchozí použitou autentizační metodou.