Laboratórna úloha č. 8

Autentizácia pomocou EAP a RADIUS

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

Úvod

Cieľom laboratórnej úlohy je priblížiť študentom existujúce možnosti centralizovanej autentizácie v porovnaní s mechanizmami pre lokálne overenie identity užívateľov, resp. zariadení, oboznámiť ich s princípmi zabezpečenia prístupu do siete pomocou autentizačných protokolov EAP (Extensible Authentication Protocol) a RADIUS (Remote Authentication Dial-In User Service) a poskytnúť im priestor k získaniu skúseností s implementáciou RADIUS servera ako centrálneho prvku pre riadenie prístupu a zabezpečené pripojenie k sieti.

V tejto úlohe získate základné poznatky o priebehu autentizácia klienta vo Wi-Fi sieti s podporou IEEE 802.1X. V teoretickej časti bude vysvetlené akým spôsobom sa konfiguruje FreeRADIUS server a ako prebieha proces overovania identity užívateľa prostredníctvom externého autentizačného mechanizmu. V praktickej časti si najskôr vyskúšate vo vytvorenej virtuálnej sieti pozostávajúcej z troch virtuálnych strojov predstavujúcich klienta, prístupový bod a autentizačný server v prostredí VMware nasadenie a následnú konfiguráciu FreeRADIUS servera, predstavujúci centrálny bod autentizácie jeho prepojenie s prístupovým bodom prostredníctvom protokolu EAP a tiež samotnú autentizáciu klienta. Významnou súčasťou úlohy bude následná analýza priebehu autentizačného procesu pomocou sieťovej analýzy, ktorá študentom umožní lepšie porozumieť fungovaniu úzkej spolupráce medzi jednotlivými vrstvami sieťovej architektúry, predovšetkým medzi linkovou, sieťovou a aplikačnou vrstvou.

Teoretický úvod

V tejto laboratórnej úlohe venovanej autentizačným protokolom EAP a RADIUS sa zoznámite s možnosťami centralizovaného riadenia prístupu a autentizácie užívateľov v počítačových sieťach. Autentizácia predstavuje jeden z najdôležitejších aspektov nevyhnutných ku dosiahnutiu maximálnej úrovne zabezpečenia.

Kombinácia autentizačnej metódy EAP (Extensible Authentication Protocol) a systému RADIUS (Remote Authentication Dial-In User Service) sa využíva najmä v podnikových Wi-Fi sieťach a VPN pre centralizovanú správu overovania identity overovania používateľov a následného riadenia ich prístupu k zdieľaným sieťovým prostriedkom.

IEEE 802.1X

IEEE 802.1X je sieťový štandard definovaný organizáciou IEEE slúžiaci pre kontrolu prístupu do lokálnych sietí. Je základom pre kontrolu prístupu realizovanej na úrovni fyzických portov PNAC, z angl. Port-Based Network Access Control , čo v praxi znamená, že zariadenie (resp. klient) nemôže získať plnohodnotný prístup k sieťovým službám, pokiaľ úspešne neprebehne proces jeho autentizácie. Tento proces prebieha na základe spolupráce troch hlavných súčastí:

802.1X
Základné komponenty 802.1X a ich vzájomné prepojenie.

Štandard IEEE 802.1X sa často využíva v kombinácii s protokolom EAP (Extensible Authentication Protocol) a v podnikových sieťach predstavuje bežný spôsob riadenia bezpečného prístupu. Podrobné znenie štandardu IEEE 802.1X možno nájsť na oficiálnych stránkach, bližšie vysvetlenie problematiky a priebeh procesu autentizácie je vysvetlený napr. v literatúre [3], [4], [5].

Extensible Authentication Protocol (EAP)

EAP predstavuje flexibilný autentizačný framework navrhnutý za účelom podpory rôznych metód autentizácie pre pristupujúcich užívateľov. Nejedná sa o konkrétne autentizačný mechanizmus, resp. protokol, ale o rámec, ktorý implementuje niekoľko rôznych autentizačných metód. Jednotlivé autentizačné metódy sú založené na princípe výmeny správ medzi klientom (napr. používateľským zariadením) a autentizačným serverom (napr. RADIUS serverom). Je široko využívaný v bezdrôtových sieťach a tiež zabezpečených VPN pripojeniach.

EAP definuje rôzne metódy autentizácie, pričom medzi najznámejšie patria:

Protokol EAP definuje základný rámec pre autentizačný proces. Každá autentizačná metóda využíva rovnaké typy základných EAP správ, ktoré si medzi sebou vymieňajú klient a autentizačný server (sprostredkovane cez AP, resp. prepínač). Rozlišujeme štyri základné typy EAP správ, ich prehľad je uvedený v nasledujúcej tabuľke.

Prehľad typov EAP správ
Typ správy Kód Odosielateľ Popis
EAP-Request (požiadavka) 1 Server Výzva klientovi pre zadanie požadovaných údajov (napr. identita, heslo, certifikát).
EAP-Response (odpoveď) 2 Klient Odpoveď klienta na výzvu servera – obsahuje požadované údaje.
EAP-Success 3 Server Potvrdenie úspešnej autentizácie – klient má povolený prístup do siete.
EAP-Failure 4 Server Oznámenie o neúspešnej autentizácii – prístup klienta je zamietnutý.

Každá EAP správa má nasledovný základný formát:

Rozloženie základných polí EAP správy je zobrazené na obrázku nižšie.

správa EAP
Schematické znázornenie štruktúry správy protokolu EAP.

V procese autentizácie si medzi sebou klient (resp. žiadateľ) a autentizačný server medzi sebou vymieňajú EAP správy sprostredkovane cez AP. Typicky server odosiela požiadavky (Request), na ktoré klient reaguje svojou odpoveďou (Response). V závislosti na konkrétnom type použitej autentizačnej metódy sa potom líši obsah dátovej časti prenášanej v príslušnej EAP správe. Ako príklad možno uviesť rôzne typy správ, ktoré sú odosielané v procese autentizácie MD5:

Autentizácia EAP-MD5

EAP-MD5 je jednoduchá autentizačná metóda používaná pre overovanie identity užívateľov v počítačových sieťach. Funguje tak, že server (autentizátor) pošle klientovi výzvu (challenge), a klient na základe svojho mena, hesla a prijatej výzvy vypočíta odpoveď (response), ktorú odosiela späť. Server následne porovná klientovu odpoveď s očakávaným výsledkom a na základe toho povolí alebo naopak zamietne prístup klienta do siete.

Výhodou metódy je jej rýchlosť a jednoduchosť, ale medzi hlavné nevýhody patrí absencia mechanizmov pre šifrovanie a akúkoľvek formu ochrany samotných údajov – heslo klienta je totiž prakticky možné získať pomocou útoku hrubou silou . EAP-MD5 nepodporuje overenie servera, a preto sa považuje za nevhodnú pre verejné siete, ale výborne sa hodí na výučbové účely pre vysvetlenie základných princípov a jednotlivých krokov autentizačného procesu.

Priebeh autentizácie EAP-MD5 zahŕňa celkom päť základných krokov, ktorých rozbor prináša nasledujúca tabuľka. Schematické znázornenie priebehu komunikácie je zobrazené na ďalšom obrázku.

Správy odosielané v procese autentizácie EAP-MD5.
Krok Odosielateľ → Prijímateľ Typ správy Obsah
1 Autentizátor → Klient EAP-Request Identity Výzva na zaslanie identity (napr. „Kto si?“)
2 Klient → Autentizátor EAP-Response Identity Klient odošle svoju identitu (napr. „peter“)
3 Autentizátor → Klient EAP-Request MD5-Challenge Výzva obsahujúca náhodný reťazec (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čítaný hash a pošle odpoveď o výsledku autentizácie (úspech/neúspech)
EAP-MD5
Schematické znázornenie výmeny správ medzi klientom a autentizačným serverom pri EAP-MD5 autentizácii.

EAPoL (EAP over LAN)

Pri komunikácii prebiehajúcej v sieťach IEEE 802.1X sa EAP správy medzi klientom (supplicant) a prístupovým bodom (authenticator) prenášajú vo formáte EAP over LAN na spojovej vrstve – tzv. EAPoL správy.

EAPoL predstavuje rozšírenie protokolu EAP, navrhnuté špecificky pre použitie v sieťach založených na prenosových technológiách EthernetWi-Fi, kde sa autentizačné údaje prenášajú priamo na spojovej vrstve, t. j. na druhej vrstve RM ISO/OSI.

EAPoL slúži len na komunikáciu klienta s AP a jeho úlohou je prenášať EAP správy zapuzdrené do ethernetového rámca na spojovej vrstve. Štandard EAPoL definuje päť základných typov správ:

Prehľad typov EAPoL správ
Typ Názov zprávy Účel
0x00 EAP-Packet Obsahuje samotnú EAP správu
0x01 EAPoL-Start Iniciuje autentizačný proces
0x02 EAPoL-Logoff Označuje, že klient sa odhlasuje zo siete, slúži k ukončeniu spojenia
0x03 EAPoL-Key Používa sa na výmenu šifrovacích kľúčov (napr. v protokole WPA/WPA2)
0x04 EAPoL-Encapsulated-ASF-Alert Menej bežná, málo používaný typ správy určený pre špecifické bezpečnostné výstrahy

Proces zapuzdrenia EAPoL správy do ethernetového rámca na úrovni spojovej vrstvy je graficky znázornený na ďalšom obrázku, pohľad na štruktúru samotnej EAPoL správy taktiež. Popis a význam jednotlivých polí je nasledovný:

EAPoL
Schematické znázornenie zapuzdrenia EAPoL správy do rámca technológie Ethernet.

Prístupový bod (AP) následne zapuzdruje EAP správy do správ protokolu RADIUS na aplikačnej vrstve a preposiela ich ďalej na autentizačný server.

Výhodou EAP je jeho modularita a tak isto aj schopnosť prispôsobiť sa rôznym scenárom z reálneho sveta. Metódy frameworku EAP prestavujú základné piliere zabezpečenia najmä v dnešných Wi-Fi sieťach s WPA-Enterprise, nakoľko umožňujú výber spomedzi širokého spektra rozličných autentizačných metód podľa konkrétnych požiadaviek.

Podrobný popis architektúry, typov a formátov odosielaných správ a používaných autentizačných metód je možné nájsť v oficiálnom štandarde definujúcom EAP, dokumente RFC: Extensible Authentication Protocol (EAP). Viac o jednotlivých autentizačných metódach dostupných v rámci frameworku EAP, vrátane detailnej analýzy výhod a naopak obmedzení a nedostatkov jednotlivých prístupov sa možno dočítať v literatúre [7].

RADIUS (Remote Authentication Dial-In User Service)

RADIUS predstavuje aplikačný protokol založený na architektúre klient-server, ktorý poskytuje služby AAA (Authentication, Authorization, Accounting), teda autentizáciu, autorizáciu a účtovanie. Bol vyvinutý ako mechanizmus centralizovanej autentizácie užívateľov. V kontexte IEEE 802.1X je kľúčovým prvkom autentizačný server RADIUS, kedy v lokálnych sieťach zastupuje jeho úlohu prístupový bod (AP), ktorý vystupuje ako klient protokolu RADIUS a všetky správy prijaté od klient preposiela na autentizačný server.

Medzi hlavné súčasti architektúry RADIUS patrí:

Protokol RADIUS využíva na transportnej vrstve jednoduchý bezstavový protokol UDP a typicky komunikuje na portoch 1812 (pre autentizáciu) a 1813 (účtovanie). Po úspešnej autentizácii môže byť pristupujúcemu užívateľovi povolený prístup do siete alebo k požadovaným prostriedkom.

Autentizačný server RADIUS v procese autentizácie

V procese autentizácie EAP-MD5 vystupujú tri kľúčové komponenty: klient (žiadateľ), prístupový bod (AP) a autentizačný server RADIUS. Prístupový bod vystupuje v úlohe sprostredkovateľa, ktorý iba prenáša autentizačné správy medzi klientom a serverom, pričom, komunikácia medzi klientom a AP prebieha vo forme EAP správ zapuzdrených v protokole EAPoL (EAP over LAN), ktorý sa prenáša cez Ethernet.

radius
Komponenty siete s autentizáciou EAP-MD5 a ich vzájomná komunikácia.

Autentizačný server je zodpovedný za samotné overenie identity klienta. Keď AP získa identitu klienta vo forme správy EAP-Response/Identity, zapuzdruje túto správu do správy protokolu RADIUS typu Access-Request a odosiela ju na server. Server odpovedá výzvou typu Access-Challenge, ktorá obsahuje náhodný reťazec (výzvu, challenge), a ten je následne odoslaný klientovi cez AP vo forme EAP-Request/MD5-Challenge.

Klient z výzvy, ID výmeny a svojho hesla vypočíta hash a ten odosiela ako reakciu (odpoveď, response) späť ako EAP-Response/MD5-Challenge. Túto odpoveď AP opäť zabalí do správy Access-Request a preposiela na RADIUS server. Server overí správnosť výpočtu (porovná ho s vlastnou vypočítanou hodnotou hash) a na základe toho rozhodne o úspešnosti autentizácie. V prípade úspechu odošle správu Access-Accept, inak Access-Reject. AP následne doručí klientovi výslednú správu EAP-Success, resp. EAP-Failure.

Takto navrhnutý mechanizmus zabezpečuje, že heslo klienta nie je nikdy prenášané v otvorenej podobe. AP pritom nepozná žiadne autentizačné údaje – jeho úlohou je len zapuzdrenie EAP správ do RADIUS formátu a späť. Protokol RADIUS sa tak používa výlučne medzi AP a autentizačným serverom, zatiaľ čo EAPoL slúži na prenos správ medzi klientom a AP. Podrobne je možné celý priebeh komunikácie vidieť na obrázku:

radius-eap-md5
Schematické znázornenie autentizácie EAP-MD5 podľa štandardu IEEE 802.1X.

Pre viac informácií a podrobnejšie vysvetlenie a popis vyššie uvedených protokolov a metód autentizácie je možné nahliadnuť do literatúry [8], [9], [10]

Použité nástroje

Wireshark

Wireshark je sieťový analyzátor, ktorý umožňuje sledovať dátové prenosy. Použitie tohto nástroja ste si prakticky vyskúšali už v rámci niekoľkých predošlých laboratórnych úloh, takže jeho bližší popis nebude už ďalej podrobne uvádzaný.

FreeRADIUS

FreeRADIUS predstavuje open-source možnosť implementácie RADIUS protokolu pre autentizáciu, autorizáciu a účtovanie prístupov v sieťach. Umožňuje implementáciu RADIUS serverov a používa sa v podnikových aj verejných sieťach pre potreby centralizovaného overovania užívateľov. FreeRADIUS podporuje širokú škálu autentizačných protokolov, vrátane EAP-MD5, PEAP, EAP-TTLS, a mnohých ďalších, vďaka čomu je vhodným riešením pre použitie v rôznorodých sieťových prostrediach.
Okrem samotnej autentizácie disponuje FreeRADIUS aj možnosťou monitorovania aktivít užívateľov v sieti a vytvárania záznamov o ich prístupoch k prostriedkom. FreeRADIUS je modulárny a flexibilný, čo umožňuje jeho integráciu s databázami, LDAP servermi a inými externými autentizačnými systémami.

Inštalácia a konfigurácia RADIUS servera

V rámci praktickej časti budete realizovať vlastnú implementáciu RADIUS servera. Pre tento účel bude využitý nástroj FreeRADIUS dostupný v Kali Linux.
Inštalácia FreeRADIUS na Kali Linux:

sudo apt-get install freeradius

Konfigurácia autentizačnej politiky v súbore /etc/freeradius/3.0/users pre pridanie nového užívateľa:

testuser Cleartext-Password := "heslo123"

Spustenie vytvoreného RADIUS servera:

sudo systemctl start freeradius

Hostapd

Hostapd predstavuje softvérové riešenie umožňujúce bežným klientskym zariadeniam (napr. virtuálnemu stroju s Kali Linux) emulovať funkcionalitu plnohodnotného prístupového bodu (authenticator) v zmysle štandardu IEEE 802.1X. Je navrhnutý najmä pre bezdrôtové siete, ale v laboratórnych podmienkach môže byť využitý taktiež aj v simulovanom ethernetovom prostredí. Umožňuje implementáciu autentizačných mechanizmov, správu SSID SSID (Service Set IDentifier) predstavuje názov bezdrôtovej siete, ktorý sa zobrazuje používateľom pri pripojení ku konkrétnej Wi-Fi. , zabezpečenie siete a komunikáciu s RADIUS serverom. V rámci laboratórnej úlohy bude nástroj hostapd použitý za účelom vytvorenia jednoduchého autentizačného bodu siete, ktorý sprostredkúva výmenu údajov medzi klientom a RADIUS serverom prostredníctvom EAP.

Základné parametre ako názov siete (SSID), rozhranie sieťovej karty, povolenie mechanizmu autentizácie IEEE 802.1X a údaje o RADIUS serveri sú súčasťou konfiguračného súboru hostapd.conf.
Príklad konfigurácie:

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

Vysvetlenie jednotlivých nastavení, ktoré sú obsahom uvedenej konfigurácie:

Po definícii konfiguračných parametrov a uložení príslušného konfiguračného súboru nasleduje spustenie hostapd pomocou príkazu:

sudo hostapd hostapd.conf

Uvedený príkaz zabezpečí načítanie konfiguračného súboru a spustenie služby hostapd s požadovanými nastaveniami. Je nevyhnutné spustiť ho s oprávneniami administrátora (sudo), pretože práca so službou hostapd zahŕňa manipuláciu so sieťovými rozhraniami, ich nastavením a konfiguráciu autentizačných procesov, ktoré vyžadujú vyššie systémové oprávnenia. Pozn.: správna konfigurácia a spustenie tohto nástroja je nevyhnutná pre úspešné sprostredkovanie autentizácie medzi klientom a RADIUS serverom.

Wpa_supplicant

Jedná sa o softvérový nástroj, ktorý umožňuje zariadeniu (klientovi) bezpečne sa pripojiť k bezdrôtovej sieti vyžadujúcej autentizáciu pomocou protokolu IEEE 802.1X. Vytvorená inštancia nástroja wpa_supplicant funguje ako klientska aplikácia, ktorá obsluhuje a riadi procese autentizácie klienta a sprostredkúva výmenu autentizačných EAP správ medzi klientskym zariadením a  prístupovým bodom AP zastávajúci funkciu authenicator v procese autentizácie IEEE 802.1X. . Tento nástroj slúži teda k zaisteniu bezpečnej komunikácie klienta s prístupovým bodom (AP) pomocou protokolov 802.1X a EAP, pričom podporuje rôzne typy EAP autentizačných metód (napr. EAP-MD5, EAP-TLS, EAP-TTLS, PEAP a ďalšie).

Praktická časť

V rámci praktickej časti úlohy získate komplexný prehľad o možnostiach implementácie autentizačných protokolov EAP a RADIUS a tiež vlastné praktické skúsenosti s nastavením a správnou konfiguráciou vhodných metód autentizácie a pokročilého riadenia prístupu k zdrojom v počítačovej sieti.

Topológia virtuálnej siete a nastavenie virtuálnych strojov

Vytvorená sieť bude pozostávať z troch virtuálnych strojov:

Sieťová konfigurácia:

Všetky virtuálne stroje musia byť prepojené v rovnakej virtuálnej podsieti, doporučené použiť sieťový režim: "Host-only".

Topológia
Topológia siete laboratórnej úlohy.

Poznámka k vytvorenej topológii:

Pre emuláciu prístupového bodu (AP) použite virtuálny stroj, ktorý bol v predchádzajúcich laboratórnych úlohách použitý ako zariadenie „útočníka“. Príslušný VM je pripravený pre použitie nástroja hostapd, aby mohol funkčne zastúpiť prístupový bod simulovanej siete.

Zoznámenie sa s použitými nástrojmi

Prehľad základných príkazov pre jednotlivé používané nástroje

Postup pre vypracovanie laboratórnej úlohy

A) Príprava prostredia

Spustenie virtuálnych strojov

Prihlasovacie údaje:

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

Overenie sieťovej konektivity

B) Konfigurácia prístupového bodu

Aby mohol prístupový bod vytvorenej siete vystupovať v procese autentizácie klienta ako authenticator a sprostredkovať tak komunikáciu medzi klientom a autentizačným RADIUS serverom, je potrebné príslušný VM vhodne nakonfigurovať, pre tento účel bude použitý nástroj hostapd, pomocou ktorého je možné na „bežnom zariadení“ emulovať funkcionalitu plnohodnotného prístupového bodu.

Použitie nástroja hostapd

C) Konfigurácia RADIUS servera

Implementácia a následná konfigurácia vlastného autentizačného RADIUS servera na jednom z používaných VMs bude realizovaná pomocou nástroja FreeRADIUS

Inštalácia nástroja FreeRADIUS

Konfigurácia užívateľa

Konfigurácia prístupového bodu

Spustenie služby

D) Konfigurácia klienta

Pre zaistenie bezpečného pripojenia k bezdrôtovej sieti a zaisteniu autentizácie pomocou protokolu IEEE 802.1X a komunikácie s autentizačným serverom RADIUS bude na strane klienta použitý nástroj wpa_supplicant.

Použitie nástroja wpa_supplicant

Sledovanie a analýza komunikácie vo Wiresharku

wireshark
Ukážka zachytenej komunikácie – výmena správ v priebehu autentizácie EAP-MD5.

Zadanie samostatnej úlohy

E) Konfigurácia autentizačnej metódy EAP-TLS

V poslednej časti laboratórnej úlohy si vyskúšate implementáciu autentizačnej metódy EAP-TLS, pričom využijete v procese overenia identity klienta možnosť multifaktorovej autentizácie, a to v kombinácii hesla a certifikátu. Využijete Wireshark pre zachytenie a analýzu výmeny správ. Nakoniec porovnáte rozdiely medzi použitými metódami autentizácie na základe analýzy dátovej komunikácie – venujte pozornosť rozdielom v porovnaní s EAP-MD5.

Cieľom vašej samostatnej práce bude implementovať autentizačnú metódu založenú na certifikátoch EAP-TLS, namiesto autentizačného mechanizmu EAP-MD5, a následne nakonfigurovať autentizačnú politiku využívajúcu multifaktorovú autentizáciu (heslo + certifikát).
Vygenerujte vlastné certifikáty pre server a klienta a analyzujte rozdiely medzi jednotlivými metódami autentizácie na základe zachytených dátových paketov.

Užitočné príkazy:

Kontrolné otázky

Poznámka: Niektoré otázky môžu mať viac než jednu správnu odpoveď. Pre správne zodpovedanie otázky je nutné označiť všetky správne odpovede.

Záver

V tejto laboratórnej úlohe ste sa zoznámili s možnosťami centralizovanej autentizácie klientov s využitím autentizačného servera RADIUS.

V praktickej časti ste vo vytvorenej virtuálnej sieti simulovali pomocou troch VMs autentizačný proces využívajúci metódu EAP-MD5 a mali možnosť analyzovať priebeh celej komunikácie pristupujúceho klienta so vzdialeným autentizačným RADIUS serverom, ktorej sprostredkovateľom bol prístupový bod. V prostredí nástroja Wireshark ste analyzovali výmenu EAP správ, ktoré sú prenášané v priebehu autentizácie, a to jednak medzi klientom a prístupovým bodom prostredníctvom protokolu EAPoL, a následne aplikačným protokolom RADIUS medzi prístupovým bodom a autentizačným serverom. Vašou samostatnou úlohou bolo následne implementovať metódu EAP-TLS využívajúcu pre overenie identity klienta certifikát s verejným kľúčom a uskutočniť jej porovnanie s predošlou použitou autentizačnou metódou.