Menu Zavrieť

Autentifikácia klienta pomocou 802.1X voči RADIUS serveru v prostredí GNS3

Autor: Peter Mako

1         RADIUS server

Ako prvé si ukážeme konfiguráciu RADIUS servera. V tomto príklade sme použili Kali Linux pod označením Kali 2023.3 s dátumom vydania 23. augusta 2023 a s jadrom 6.3.0.

Na to aby sme mohli začať so samotnou inštaláciou FreeRADIUS servera, musí mať RADIUS server prístup na Internet a platnú IP adresu. Nastavenie IP adresy urobíme príkazom.

# sudo nano /etc/network/interfaces

Pridáme IP adresu, masku, DNS server a bránu. V tomto prípade súbor vyzerá nasledovne.

Súbor uložíme a zatvoríme stlačením kláves ctrl + x a následne potvrdíme y.

IP adresu si skontrolujeme príkazom.

# ip a

Na obrázku môžeme vidieť úspešné nastavenie statickej IP adresy RADIUS serveru.

Následne overíme konektivitu do Internetu príkazom.

# ping -c 4 8.8.8.8

1.1    Inštalácia FreeRADIUS servera

Aktualizujeme si lokálnu databázu balíčkov.

# sudo apt-get update

Nainštalujeme si balíček freeradius pomocou príkazu nižšie.

# sudo apt-get install freeradius

Po úspešnej inštalácii si môžeme overiť verziu freeradius-u.

# freeradius -v

Na obrázku nižšie vidíme verziu FreeRADIUS-u. V tomto príklade je použitá verzia 3.2.3.

1.2    Konfigurácia FreeRADIUS servera

Všetky konfiguračné súbory, ktoré nás budú zaujímať a ktoré budeme aj upravovať, sa nachádzajú v adresári /etc/freeradius/3.0/. Preto použijeme nasledovný príkaz.

# cd /etc/freeradius/3.0/

Pre pridanie používateľa musíme upraviť súbor users.

# nano users

V tomto súbore definujeme používateľov, ktorí sa budú overovať voči RADIUS serveru. V tomto príklade je vytvorený používateľ s menom peter a heslom cisco.

V súbore clients.conf definujeme väčšinou prepínač alebo AP (Acess Point). V tomto prípade bol použitý prepínač, ktorého konfiguráciu si môžete pozrieť v kapitole Authenticator – Cisco switch. V súbore clients.conf boli zadefinované nasledovné parametre:

  • Meno prepínača – v tomto prípade SW,
  • IP adresa – v tomto prípade 10.0.3.2,
  • Tajný kľúč – v tomto prípade testing123.

Dajú sa samozrejme nakonfigurovať viaceré iné parametre. Pre úpravu súboru použijeme príkaz.

# nano clients.conf

Výstup z úpravy tohto súboru je vidieť na obrázku nižšie.

Po úspešnej konfigurácii RADIUS servera, je ho potrebné ešte spustiť príkazom.

# systemctl start freeradius.service

Ak náhodou upravíme konfiguračné súbory users alebo clients.conf (napríklad pridáme nového používateľa alebo prepínaču sa zmení IP adresa) je nutné FreeRADIUS reštartovať príkazom.

# systemctl restart freeradius.service

 FreeRADIUS zastavíme príkazom.

# systemctl stop freeradius.service

1.3    Overenie konfigurácie FreeRADIUS servera

Skontrolujeme či je spustený FreeRADIUS príkazom.

# systemctl status freeradius.service

FreeRADIUS obsahuje príkaz radtest, vďaka ktorému, si môžeme otestovať konfiguráciu súborov.

Syntax príkazu radtest je nasledovná:

 radtest {username} {password} {hostname} 10 {radius_secret}

Preto v našom prípade vyzerá príkaz radtest takto.

# radtest peter cisco 127.0.0.1 10 testing123

Na obrázku vyššie môžeme vidieť úspešnú konfiguráciu RADIUS servera.

2         Authenticator – Cisco switch

Ako prepínač v tomto prípade bol použitý Cisco IOS XE vo verzii 17.10.01.

2.1    Konfigurácia prepínača

Na začiatku prepínaču v globálnom konfiguračnom móde nakonfigurujeme hostname (meno) príkazom.

(config)# hostname SW

V tomto prípade to bude meno SW. Môžeme si všimnúť, že toto meno sme uviedli aj pri úprave súboru clients.conf na RADIUS servery

Následne prepínaču bola nastavená IPv4 adresa. Táto IP adresa bola daná na interface VLAN1.

Prejdeme do konfiguračného módu rozhrania príkazom.

(config)# interface Vlan1

Nastavíme IP adresu. V tomto prípade 10.0.3.2 s maskou /24 (255.255.255.0).

(config-if)# ip address 10.0.3.2 255.255.255.0

Aj v tomto prípade sa IP adresa zhoduje s IP adresou nakonfigurovanou na servery RADIUS.

Rozhranie nezabudneme zapnúť príkazom.

(config-if)# no shutdown

Vrátime sa naspäť do globálneho konfiguračného módu príkazom

(config-if)# exit

Pokračujeme v globálnom konfiguračnom móde. Povolíme autentifikáciu pomocou dot1x príkazom.

(config)# dot1x system-auth-control

Povolíme AAA príkazom.

(config)# aaa new-model

Nastavíme skupinu pre autentifikáciu, ktorá používa RADIUS protokol s názvom TEST príkazom.

(config)# aaa group server radius TEST

Uvedieme meno RADIUS servera, v tomto prípade kali

(config-sg-radius)# server name kali

Nasledujúci príkaz je možné uviesť aj v konfigurácii skupiny RADIUS, ale aj v globálnom konfiguračnom režime. Rozdiel je v tom, že ak tento príkaz zadáme v globálnom konfiguračnom režime, tak platí pre všetky vytvorené RADIUS skupiny. Avšak ak tento príkaz sa zadá v rámci skupiny, potom ovplyvňuje iba túto konkrétnu skupinu nastavenú pre autentifikáciu RADIUS. Pre tento prípad uvediem oba spôsoby.

Príkaz iba pre danú skupinu.

(config-sg-radius)# ip radius source-interface Vlan1

Príkaz, ktorý ovplyvní všetky vytvorené RADIUS skupiny.

(config)# ip radius source-interface Vlan1

V globálnom konfiguračnom móde zadáme ešte dva príkazy. Prvý je príkaz, ktorým nastavíme predvolenú autentifikáciu pre IEEE 802.1X pomocou skupiny TEST.

(config)# aaa authentication dot1x default group TEST

A druhým nastavíme predvolenú autorizáciu pre sieťové služby pomocou skupiny TEST.

(config)# aaa authorization network default group TEST

Ako ďalšie nakonfigurujeme bližšie parametre pre náš RADIUS server. Nastavíme IP adresu, na ktorej sa nachádza RADIUS server. Môžeme nastaviť aj port, na ktorom počúva RADIUS server. Default je 1812 pre autentifikáciu a 1813 na účtovanie. Keďže sme porty nemenili tak necháme tieto.

(config)# radius server kali

Nastavenie IP adresy príkazom. Stačí zadať tento príkaz a porty sa doplnia automaticky. Pre tento prípad má RADIUS server IP adresu 10.0.3.254, ktorú sme nastavili na samotnom začiatku.

(config-radius-server)# address ipv4 10.0.3.254

V tomto móde ešte nastavíme tajný kľúč. Tento sa musí zhodovať medzi prepínačom a RADIUS serverom. Preto zadáme ten, ktorý sme zadali aj v súbore clients.conf na RADIUS servery.

(config-radius-server)# key testing123

V závere nakonfigurujeme port, na ktorom je pripojený klient. V tomto prípade je klient pripojený na porte g1/0/1.

(config)# interface GigabitEthernet1/0/1

Nastavíme port na mód statický access.

(config-if)# switchport mode access

Nastavíme automatický režim portu pre autentifikáciu príkazom.

(config-if)# authentication port-control auto

Ako ďalšie zabezpečíme port aby sa stal entitou, ktorá vyžaduje a riadi autentifikáciu pripojeného zariadenia

(config-if)# dot1x pae authenticator

2.2    Overenie konfigurácie prepínača

Overenie vykonávame v privilegovanom móde. Tu je zopár užitočných príkazov, ktoré vedia pomôcť pri odstraňovaní problémov.

Týmto príkazom zistíme stav autentifikácie na všetkých portoch, verziu dot1x a aj či je dot1x povolené alebo nie.

# show dot1x all

Týmto príkazom si zobrazíme konfiguráciu týkajúcu sa AAA.

# show running-config | section aaa

Zobrazenie stavu rozhraní na prepínači.

# show interfaces status

Overenie sieťovej komunikácie medzi prepínačom a RADIUS serverom príkazom.

# ping 10.0.3.254

Zobrazenie štatistík dot1x príkazom.

# show dot1x statistics

3         Supplicant – Klient

Na záver si ukážeme konfiguráciu klienta, ktorý sa bude overovať voči RADIUS serveru. V tomto príklade sme použili Kali Linux pod označením Kali 2023.3 s dátumom vydania 23. augusta 2023 a s jadrom 6.3.0.

Po úspešnom prihlásení sa na zariadenie, tak v pravom hornom rohu klikneme pravým talčidlom myši na ikonku rozhrania a klikneme na „Edit connections…

Následne klikneme na „Wired connection 1“ a v dolnom rohu stlačíme ikonku nastavení.

Presunieme sa na kartu „802.1X security“ a zaškrtneme políčko „Use 802.1X security for this connection

Vyberieme si autentifikačnú metódu. Ako prvá je zaškrtnutá MD5. Pre tento príklad bola použitá metóda Protected EAP (PEAP). Na výber je niekoľko iných možností, z ktorých si môžeme vybrať. Zaškrtneme možnosť „No CA certificate is required“ a vyplníme potrebné údaje „Username“ a „Password“. Sem zadáme tie údaje, ktoré sme zadali v súbore users na RADIUS servery, teda „peter“ a „cisco“.

3.1    Autentifikácia klienta

Po úspešnej autentifikácii kleinta máme pripojenie klienta. Informuje nás o tom EAP správa „Success“.

Môže sa stať, že pri neúspešnej autentifikácii prejde port prepínača, na ktorom je pripojený klient do stavu err-disabled.

V tomto prípade je nutné zadať na prepínači v konfiguračnom móde daného rozhrania príkaz.

(config-if)# shutdown

A následne príkaz.

(config-if)# no shutdown

4         Odchytená komunikácia

Po úspešnej konfigurácii bol za účelom odchytenia EAPOL správ, použitý program Wireshark. Tento program slúži na odchytenie sieťovej komunikácie medzi zariadeniami.

Na tomto obrázku môžeme vidieť správu Request, ktorou žiada prepínač klienta o preukázanie svojej identity.

Môžeme vidieť na tomto obrázku, že klient odpovedá správou Response, v ktorej uvedie svoju identitu. V tomto prípade peter

Následne pošle prepínač správu Access-Request na RADIUS server, za účelom overenia daného používateľa. V tejto správe si môžeme všimnúť rôzne atribúty ako napríklad meno používateľa, výrobcu prepínača (Cisco) alebo aj číslo rozhrania a mnohé iné.

RADIUS server odpovedá prepínaču správou typu Access-Challenge za účelom doplnenia procesu autentifikácie klienta.

Prepínač pošle klientovi opäť správu typu Request. Je to z dôvodu dohodnutia si typu metódy EAP. V tomto prípade bola dohodnutá metóda EAP-PEAP (Protected EAP)

Klient odpovie správou Response a dohodne sa tak s prepínačom na použitej metóde EAP.

Prepínač posiela doplnené informácie o autentifikácii na RADIUS server. Použije správu Access-Request.

RADIUS server následne vyhodnotí či overenie používateľa bude úspešné alebo nie. V tomto prípade úspešne bolo. Informuje o tom správou Access-Accept.

V závere prepínač informuje klienta správou Success o úspešnom overení sa voči RADIUS serveru a klient tak získava prístup do počítačovej siete.

Rate this post

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.