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
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
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ů:
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].
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.
| Typ zprávy | Kód | Odesílatel | Popis |
|---|---|---|---|
|
|
1 | Server | Výzva klientovi k zadání požadovaných údajů (např. identita, heslo, certifikát). |
|
|
2 | Klient | Odpověď klienta na výzvu serveru – obsahuje požadované údaje. |
|
|
3 | Server | Potvrzení úspěšné autentizace – klient získává přístup do sítě. |
|
|
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.
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:
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í
| 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) |
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 Ethernet a
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:
| 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í:
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
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 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.
V procesu autentizace
Autentizační server je zodpovědný za samotné ověření identity klienta. Jakmile AP obdrží od klienta zprávu typu
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ě
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:
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]
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 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ě
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.
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:
Konfigurace autentizační politiky v souboru /etc/freeradius/3.0/users pro přidání nového uživatele:
Spuštění vytvořeného RADIUS serveru:
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í
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:
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.
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.
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".
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ě.
Spuštění virtuálních strojů
Přihlašovací údaje:
Ověření síťové konektivity
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
conn test
interface=eth0
driwer=wired
ssid=EduLab
ieee8021x=1
auth_server_addr=192.168.126.130
auth_server_port=1812
auth_server_shared_secret=radiusheslo
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
student Cleartext-Password := "tajneheslo"
Konfigurace přístupového bodu
client ap {
ipaddr = 192.168.126.131
secret = radiusheslo
}
Spuštění služby
(0) Received Access-Request Id 45 from 192.168.126.128:54321 to 192.168.126.130:1812 length 150
(0) User-Name = "student"
(0) NAS-IP-Address = 192.168.126.128
(0) Called-Station-Id = "00-11-22-33-44-55:EduLab"
(0) Calling-Station-Id = "66-77-88-99-AA-BB"
(0) EAP-Message = 0x0200000d0173747564656e74
(0) Message-Authenticator = 0x1234567890abcdef1234567890abcdef
(0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(0) authorize {
(0) ok
(0) } # authorize = ok
(0) Found Auth-Type EAP
(0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(0) authenticate {
(0) eap: Peer sent EAP Response (code 2) ID 0 length 13
(0) eap: No EAP Start, assuming it's an on-going EAP conversation
(0) } # authenticate = ok
(0) Sent Access-Accept Id 45 from 192.168.126.130:1812 to 192.168.126.128:54321 length 80
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
network={
ssid="EduLab"
key_mgmt=IEEE8021X
eap=MD5
identity="student"
password="tajneheslo"
}
Sledování a analýza komunikace ve Wiresharku
V poslední části laboratorního cvičení si vyzkoušíte implementaci autentizační metody
Užitečné příkazy:
ttls {
default_eap_type = mschapv2
copy_request_to_tunnel = yes
use_tunneled_reply = yes
}
tls-config tls-common {
private_key_file = /etc/freeradius/3.0/certs/server.key
certificate_file = /etc/freeradius/3.0/certs/server.pem
ca_file = /etc/freeradius/3.0/certs/ca.pem
}
network={
ssid="TESTNET"
key_mgmt=WPA-EAP
eap=TTLS
identity="client"
password="heslo_klienta"
ca_cert= <certifikat_cert_autority>
client_cert= <certifikat_klienta>
private_key= <soukromy_klic_klienta>
phase2="auth=MSCHAPV2"
}
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.
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
Kompletní seznam použitých zdrojů naleznete na samostatné stránce: Seznam literatury