VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra technických studií Obor Aplikovaná informatika Rozvoj sítě Eduroam bakalářská práce Autor: Jakub Vlasák Vedoucí práce: Ing. Petr Pavlinec Jihlava 2018
Abstrakt Bakalářská práce se zaměřuje na rozvoj mezinárodní, akademické, wi-fi sítě eduroam. Cílem práce je navrhnout řešení výstavby dalších hotspotů v organizacích zřizovaných Krajským úřadem v Jihlavě, především pak na středních školách. Další cíl je navrhnout a zrealizovat monitoring sítě, který jednou za dvě hodiny zjistí, zda wi-fi vysílá nebo ne a provést testy linky mezi organizací a Krajským úřadem v Jihlavě. Na závěr autor navrhne další možnosti rozšíření eduroamu, popíše testování a zhodnotí dosažení cílů bakalářské práce. Klíčová slova eduroam, 802.1X, RADIUS, monitoring, roaming, wi-fi, federalizace Abstract Bachelor thesis is concetrated to development of international, academic, wi-fi net eduroam. Goal of this thesis is design solution of construction others hotspots in organizations, that are established by Krajský úřad in Jihlava, primarily at secondary school. Next goal is design and implement monitoring of net, that find out once in two hours, if wi-fi broadcasts or not and make tests of route between organization and Krajský úřad in Jihlava. At the end of this work, author designs next options of expansion of eduroam, describe testing and evaluate goals of bachelor thesis. Key words eduroam, 802.1X, RADIUS, monitoring, roaming, wi-fi, federalisation
Prohlašuji, že předložená bakalářská práce je původní a zpracoval/a jsem ji samostatně. Prohlašuji, že citace použitých pramenů je úplná, že jsem v práci neporušil/a autorská práva (ve smyslu zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů, v platném znění, dále též AZ ). Souhlasím s umístěním bakalářské práce v knihovně VŠPJ a s jejím užitím k výuce nebo k vlastní vnitřní potřebě VŠPJ. Byl/a jsem seznámen s tím, že na mou bakalářskou práci se plně vztahuje AZ, zejména 60 (školní dílo). Beru na vědomí, že VŠPJ má právo na uzavření licenční smlouvy o užití mé bakalářské práce a prohlašuji, že s o u h l a s í m s případným užitím mé bakalářské práce (prodej, zapůjčení apod.). Jsem si vědom/a toho, že užít své bakalářské práce či poskytnout licenci k jejímu využití mohu jen se souhlasem VŠPJ, která má právo ode mne požadovat přiměřený příspěvek na úhradu nákladů, vynaložených vysokou školou na vytvoření díla (až do jejich skutečné výše), z výdělku dosaženého v souvislosti s užitím díla či poskytnutí licence. V Jihlavě dne 2.1.2018... Podpis
Poděkování Na tomto místě bych rád poděkoval svému vedoucímu práce Ing. Petru Pavlincovi za poskytnutí tématu a možnost vytvářet bakalářskou práci pod jeho vedením. Dále bych rád poděkoval Radku Brychtovi za odborné rady, které mi pomohly zpracovat bakalářskou práci.
Obsah 1 Úvod... 8 2 Protokoly... 10 2.1 Roaming... 10 2.2 Eduroam... 10 2.2.1 Co je eduroam?... 10 2.2.2 Vznik... 10 2.2.3 Princip... 10 2.2.4 Technická stránka eduroamu... 11 2.3 Protokol 802.1X... 11 2.3.1 Klient:... 11 2.3.2 Autentizátor:... 12 2.3.3 Autentizační server:... 12 2.4 EAP... 13 2.4.1 Typy ověřování... 13 2.5 Autentizace uživatelů v síti eduroam... 15 2.6 Protokol RADIUS... 16 2.6.1 Struktura paketu... 16 2.6.2 Autentizace... 17 2.6.3 Autorizace... 17 2.6.4 Účtování... 18 2.6.5 Struktura RADIUS serverů v eduroamu... 18 3 Rozvoj sítě eduroam... 19 3.1 FreeRADIUS... 19 3.2 Radiator... 19 3.3 Microsoft NPS... 20 3.4 Návrh řešení... 21 3.5 Možnosti připojení... 22 4 Návrh monitoringu... 23 4.1 Testování připojení... 23 4.2 Komunikace... 23 4.3 Iperf... 24 4.4 Výběr databáze... 24 5 Nastavení serveru... 25 5.1 Základní nastavení serveru... 25 5.2 Instalace OpenVPN... 25
5.2.1 Konfigurace OpenVPN serveru... 25 5.2.2 Konfigurace OpenVPN klienta... 27 5.3 MySQL databáze... 28 5.4 Iperf... 29 5.5 Webové stránky... 29 5.5.1 Připojení k databázi... 31 5.5.2 Grafy... 31 5.5.3 Výpis dat za určité období... 33 5.6 Přístup k serveru pomocí ssh... 33 6 Monitorovací sonda... 34 6.1 Základní nastavení... 34 6.2 Vývoj skriptu... 34 6.2.1 Otestování připojení k eduroamu... 34 6.2.2 Otestování pingu... 35 6.2.3 Zapnutí VPN a kontrola navázání tunelu... 35 6.2.4 Iperf testy... 35 6.2.5 Ukládání dat... 36 6.3 Připojení k sondě přes ssh... 36 6.4 Přidání sondy... 36 7 Závěr... 39 7.1 Možnosti dalšího rozvoje eduroamu... 39 7.2 Testování... 39 7.3 Splnění cílů... 39 8 Seznam použité literatury... 41 Seznam obrázků... 42 Seznam tabulek... 43 Seznam použitých zkratek... 44 Přílohy... 46 1 Obsah přiloženého CD... 46
1 Úvod Téma bakalářské práce Rozvoj sítě eduroam bylo navrhnuto na povinné letní praxi na Krajském úřadě v Jihlavě za účelem rozšíření mezinárodní roamingové sítě eduroam na střední školy a vyšší odborné školy v Kraji Vysočina. Krajský úřad ve spolupráci se sdružením CESNET připravují pro školy rozšíření Wi-Fi (Wireless Fidelity) sítě eduroam. Tyto školy se účastní programu IROP (Integrovaný regionální operační program), který organizuje Ministerstvo pro místní rozvoj. Školy musí splnit určité aktivity popsané na stránkách www.eduroam.cz, v sekci IROP, aby dostaly finanční dotace z EU, z nichž jedna je zajištění vnitřní konektivity školy a bezpečné připojení k internetu. Tím se školy zavazují i k vytvoření vnitřní wi-fi sítě napojené na infrastrukturu eduroam. V teoretické části práce popisuje protokoly a technologie, které jsou použity v roamingových sítích. Funkčnost roamingu, protokol 802.1X, protokol EAP (Extensible Authentication Protocol) a jeho typy ověřování a protokol RADIUS (Remote Authentication Dial In User Service). Praktická část bakalářské práce je rozdělena na 4 hlavní části. První část se zabývá rozvojem sítě eduroam, kde porovnám nejznámější RADIUS servery a je navrženo řešení pro možný rozvoj. Druhá část se zaměřuje na návrh monitoringu, kde se práce zabývá popisem technologií, které jsem vybral. Monitoring bude realizován na minipočítačích Raspberry Pi 3 a linuxovém serveru Debian. Pro komunikaci mezi serverem a minipočítači prostřednictvím veřejného internetu jsem zvolil OpenVPN, databázový stroj MySQL a pro testování linky program Iperf. Třetí část je zaměřena na implementaci serverové části monitoringu, kde je nastavena OpenVPNka, MySQL server a program Iperf. Dále v této kapitole práce popisuje naprogramování webových stránek. Stránky jsou napsané v php (Hypertext Preprocessor) jazyce, což je nejpoužívanější jazyk pro webové stránky a jsou dostupné i pro příslušnou školu na stránkách edumon.kr-vysocina.cz. 8
Poslední část se zabývá nastavením Raspberry Pi a naprogramováním skriptu. Skript je napsán celý v bashi, protože dříve zmiňované technologie lze v tomto jazyce použít. Skript je pravidelně spouštěn crontabem, každou sudou hodinu a nastavenou minutu. Nakonec se naměřené hodnoty pošlou do databáze na server. Dalším krokem této kapitoly je popis, jakým způsobem lze přidat novou sondu. V závěru je zhodnoceno, zda byly všechny cíle splněny a budou navrženy další možnosti rozšíření eduroamu. 9
2 Protokoly 2.1 Roaming Roaming je služba, která je nejvíce používána mobilními operátory při poskytování telekomunikačních služeb. Znamená to, že když se mobilní telefon nachází mimo signál domovského operátora, zařízení začne automaticky vyhledávat signál místních operátorů a automaticky se připojí k místní síti. Roaming lze rozdělit na dvě skupiny podle způsobu autentizace. První typ je založený na autentizaci pomocí telefonního čísla na SIM kartách a druhý typ založený na autentizaci pomocí uživatelského jména a hesla. Roaming ale není jen doménou mobilních telefonů, ale existuje i v počítačových sítích. Typickým příkladem použití roamingu v kombinaci s autentizací jménem a heslem v sítích je globální akademická wi-fi síť eduroam. 2.2 Eduroam 2.2.1 Co je eduroam? Eduroam (Education roaming) je bezpečná a celosvětová roamingová WiFi infrastuktura vyvíjená a provozovaná mezinárodní výzkumnou a vzdělávácí komunitou, která se nadále rozvíjí do dalších institucí. Připojit se k eduroamu lze v 67 zemích na všech kontinentech kromě Antarktidy. (www.eduroam.cz) 2.2.2 Vznik Eduroam vznikl v Nizozemsku v roce 2002 a do České republiky se dostal o 2 roky později. Společnost Terena iniciovala vznik sítě, která by zajistila mobilitu připojení k wifi síti. 2.2.3 Princip Uživatel má u své domácí instituce, například na vysoké škole, jedinečnou identitu, která je zapojena do eduroam federace. Když se chce uživatel připojit k eduroamu, musí se poskytovatel (vysílající Wi-Fi) zeptat uživatelovy domovské organizace, zda-li mu může 10
povolit přístup. Tento dotaz je realizován pomocí eduroam infrastruktury a protokolu RADIUS takovým způsobem, že nikdo nemůže zkopírovat tento účet resp. jeho jméno a heslo. Identita uživatele má tvar: user@realm. User znamená uživatelské jméno, pod kterým uživatel vystupuje v eduroamu (např: vlasak01) uložené v autentizační službě domovské organizace, kterou může být například AD (Active Directory), SQL (Structured Query Language) databáze či LDAP (Lightweight Directory Access Protocol). Realm většinou znamená název nebo zkratku organizace (např: kr-vysocina.cz pro Krajský úřad Kraje Vysočina). Dále realm obsahuje doménu prvního řádu, což značí, ve které zemi se daná organizace nachází. 2.2.4 Technická stránka eduroamu Autentizace v eduroamu je řešena pomocí protokolu 802.1X. Dříve se autentizace řešila ještě přes VPN (Virtual Private Network) nebo captive portálů, ale od roku 2007 je použití captive portálů zakázáno a využití VPN se neosvědčilo. Protokol 802.1X je poměrně náročné provozovat a ještě náročnější jej provozovat správně. Další protokol, který se pro provoz služby eduroam používá, je RADIUS, který je popsán v další části bakalářské práce. (www.root.cz) 2.3 Protokol 802.1X Standard IEEE 802.1X definuje protokol pro řízení přístupu do počítačové sítě. Když se uživatel chce připojit do sítě, buď UTP (Unshielded Twisted Pair) kabelem do portu switche, či bezdrátově k přístupovému bodu u Wi-Fi, je po něm požadováno ověření nejčastěji pomocí uživatelského jména a hesla. Dokud není klient ověřen, 802.1X povoluje pouze protokol EAP. Standard 802.1X je založen na třech komponentech: Klient, Autentizátor, Autentizační server.(www.cisco.com) 2.3.1 Klient: Je to zařízení (např: notebook), které žádá o přístup do sítě. Zařízení musí obsahovat 802.1X klientský software, který je dnes běžně implementovaný v operačním systému. 11
2.3.2 Autentizátor: Jedná se o síťové zařízení (například switch, router nebo AP (Access point)) mezi klientem a autentizačním serverem, které kontroluje fyzický přístup k síti na základě stavu ověření klienta. Zařízení obsahuje RADIUS klienta, který je zodpovědný za zabalení a rozbalení EAP rámců a komunikaci s RADIUS serverem. (www.cisco.com) 2.3.3 Autentizační server: Je zařízení, které provádí skutečné ověření klientů. Server ověřuje identitu klienta a upozorní autentizátor, zda je klient oprávněn vstoupit do sítě a využívat služby. Nejčastěji se využívá bezpečnostní protokol RADIUS a musí podporovat také EAP protokol. RADIUS protokol pracuje na bázi klient/server. V některých případech může autentizační server běžet na autentizátoru. (www.cisco.com) Obrázek 1 Model protokolu 802.1X (zdroj: https://en.wikipedia.org/wiki/ieee_802.1x) 12
Při komunikování mezi klientem a autentizátorem jsou EAP data zapouzdřena a odesílána pomocí takzvaných EAPOL (Extensible Authentication Protocol over LAN) rámců. Mezi autentizátorem a autentizačním serverem jsou EAP data znovu zapouzdřena a odesílána pomocí protokolu RADIUS nebo Diameter. 2.4 EAP Protokol EAP je velice podobný protokolu CHAP (Challenge-Handshake Authentication Protocol), avšak přichází se zcela odlišnou filozofií. U protokolu CHAP docházelo k vyjednání autentizačního protokolu během navazování spojení, ale u protokolu EAP dojde pouze k dohodě, že se použije protokol EAP. Protokol EAP je specifikován v RFC-2284. Tento protokol tak umožňuje použít libovolný autentizační algoritmus, který pak implementujete na obou stranách spojení. Autentizace se pak skládá z dohody na konkrétním algoritmu a následně z vlastní autentizace. (https://en.wikipedia.org) 2.4.1 Typy ověřování EAP-MD5 Nabízí pouze minimální zabezpečení, protože využívá hashovací funkci MD5, která je náchylná na slovníkové útoky. Nepodporuje generování klíčů, proto ji nelze použít s dynamickým WEP (Wired Equivalent Privacy) či WPA/WPA2 (Wi-Fi Protected Access). Dále neumí vzájemnou autentizaci a je snadno napadnutelná útokem man-inthe-middle. Podstata útoku spočívá v tom, že mezi dvěma komunikujícími uzly se nachází třetí uzel, přes který prochází veškerý provoz. Žádný z uživatelů komunikujících uzlů o existenci třetího uzlu neví. (https://en.wikipedia.org) EAP-TLS EAP-TLS (EAP-Transport Layer Security) je považován za jeden z bezpečných dostupných standardů, který je široce podporován výrobci. Klient i autentizační server se identifikují vzájemně za použití digitálních certifikátů, které jsou podepsány certifikační autoritou. Vyžaduje certifikační server PKI (Public Key Infrastructure) nebo zakoupené certifikáty pro všechny uživatele v síti. Výhodou standardu je, že prozrazené uživatelské heslo nemá pro útočníka význam, protože potřebuje 13
uživatelský privátní klíč, který se často umisťuje na čipové karty. (https://en.wikipedia.org) EAP-TTLS EAP TTLS (EAP-Tunneled Transport Layer Security) je EAP protokol, který rozšiřuje TLS. Byl vyvinutý firmou Funk Software and Certicom. Zjednodušuje metodu EAP-TLS tak, že odstraňuje potřebu certifikátu na straně klienta. Certifikát je potřeba pouze na straně serveru, který klient využije pro vytvoření šifrovaného TLS. Podporován až od Windows 8. (https://en.wikipedia.org) EAP-PSK Je standard pro vzájemnou autentizaci pomocí PSK (Pre-Shared Key). Pokud je autentizace úspěšná, vytvoří zabezpečený komunikační kanál. Používá se pro ověření v nezabezpečených sítích jako je IEEE 802.11. ( https://en.wikipedia.org) LEAP LEAP (Light Extensible Authentication Protocol) byl vyvinut firmou Cisco Systems před schválením bezpečnostního standardu 802.11i. Neexistuje nativní podpora pro operační systém Windows. Mezi jeho vlastnosti patří dynamické WEP klíče a vzájemné ověření. Používá upravenou verzi ověřovacího protokolu MS-CHAP. Není bezpečný, protože existuje nástroj na prolomení hesla. Cisco doporučuje přejít na novější EAP protokoly například PEAP (Protected Extensible Authentication Protocol) nebo EAP-TLS. (https://en.wikipedia.org) PEAP PEAP je protokol, který zapouzdřuje EAP s šifrovaným autentizovaným TLS tunelem. Cílem bylo napravit nedostatky v EAP. PEAP byl vyvinut společnostmi Cisco Systems, Microsoft a RSA security. Vyžaduje PKI certifikát na straně serveru k vytvoření bezpečného TLS tunelu mezi klientem a serverem. Verze protokolu PEAP PEAPv0 / EAP-MSCHAPv2 o vyvinut Microsoftem o velká podpora 14
PEAPv1 / EAP-GTC o vyvinut firmou Cisco Systems o nepodporován MS Windows PEAPv2 o podpora více EAP metod najednou (https://en.wikipedia.org) 2.5 Autentizace uživatelů v síti eduroam Autentizace uživatelů v síti eduroam probíhá pomocí protokolu 802.1X, kde se klient připojí na port zařízení (u switche fyzický, u AP virtuální). Tento port je ve stavu zavřeno a je povolen pouze protokol EAP. Suplikant, který běží na straně klienta, zahájí ověření přes EAP protokol. Suplikant vyšle na AP žádost o autentizaci, AP naváže spojení na RADIUS server a zprostředkuje ověření suplikantu vůči RADIUSu. Pokud je uživatel lokální, proběhne ověření přímo na RADIUS serveru. Pokud jde o návštěvníka, bude autentizační požadavek transportován přes strukturu RADIUS serverů až do domácí sítě uživatele. Obrázek 2 Ověření uživatele v síti EDUROAM (zdroj: https://www.eduroam.cz/cs/spravce/uvod) 15
O výsledku autentizace informuje RADIUS server AP a ten buď povolí, nebo zakáže provoz na daném portu. Tento mechanismus, kromě otevření/zavření portu, také umí přiřadit daný port do určité VLANy (Virtual Local Area Network). 2.6 Protokol RADIUS RADIUS je síťový AAA (Authentication, Authorization and Accounting) protokol, který se používá pro přístup k síti nebo IP (Internet Protocol) mobilitu. Byl vyvinut v roce 1991 společností Livingston Enterprises, Inc. Provádí centralizovanou autentizaci uživatelů, kteří se připojují na přístupový bod. Mezi nejdůležitější vlastnosti patří jeho vysoká síťová bezpečnost, protože transakce mezi klientem a RADIUS serverem je autentizována pomocí sdíleného tajemství, které se nikdy neposílá přes síť. Pouze uživatelská hesla jsou přes síť zasílána šifrovaně. Uživatelská jména mohou být odposlechnuta třetí osobou, protože tato data nejsou přenášena šifrovaně. RADIUS server poskytuje služby autorizace a autentizace na portu UDP 1812 (User Datagram Protocol), accouting je provozován na portu UDP 1813. Samotný protokol RADIUS uživatele neověřuje, ale pouze obstarává komunikaci mezi serverem RADIUS a RADIUS klientem. 2.6.1 Struktura paketu Obrázek 3 Struktura RADIUS paketu (Zdroj: autor) 16
Code Identifikuje typ RADIUS paketu. Pakety s neplatným kódem jsou zahozeny. Celkem existuje 9 typů zpráv. Identifier Porovnává dotazy a odpovědi Length Určuje délku paketu. Minimální velikost paketu je 20B, maximální pak 4096B. Authenticator Používá se k ověření odpovědi z RADIUS serveru. Jeho délka je 16B. Attributes Nesou specifické informace o autentizaci, autorizaci a konfigurační údaje. Code Typ zprávy Význam 1 Access-Request Žádost o autentizaci 2 Access-Accept Autentizace úspěšná 3 Access-Reject Autentizace neúspěšná 4 Accounting-Request Žádost o accounting 5 Accounting-Response Potvrzení accountingu 11 Access-Challenge Žádost o další informace Tabulka 1 RADIUS Typy zpráv Zdroj: https://en.wikipedia.org/wiki/radius 2.6.2 Autentizace Autentizace je proces, který slouží k jednoznačnému určení uživatele, který přistupuje k systému. Cílem je, že systém přesně ví, s jakým uživatelem komunikuje. Administrátor systému by měl mít právo přístup k systému přidělit, ale i odebrat, či nějakým způsobem omezit jeho platnost. Systém by měl také umožňovat zvolit akce, které se vykonají při nesplnění podmínek autentizace. Například odeslat e-mail administrátorovi nebo sms. Po autentizaci obvykle následuje autorizace. (www.trisul.cz) 2.6.3 Autorizace Autorizace je proces ověření přístupových práv a oprávnění uživatelů, která mohou v systému mít. Například vložit záznam do databáze. (Sosinsky B., 2014, str. 802) 17
2.6.4 Účtování RADIUS servery uchovávají podrobné protokoly událostí. Klient RADIUS během relací pravidelně posílá data o využití serveru. (Sosinsky B., 2014, str. 802) 2.6.5 Struktura RADIUS serverů v eduroamu Každá organizace provozuje vlastní server RADIUS a databázi oprávněných uživatelů. Pokud se klient hlásí do své domovské sítě, proběhne dotaz na server v místní síti a přístupový bod pak uživatele vpustí. Pokud ale uživatel odcestuje a pokusí se připojit k jiné síti ve federaci, autentizační server zjistí, že uživatel k němu nepatří a dotaz odešle na národní RADIUS server. Pokud tento server také nezná odpověď, pošle dotaz ještě výše na root server, který má záznamy o všech národních serverech, cesta pak končí v domácí organizaci uživatele. Tamní server uživatele ověří a stejnou cestou odpoví, že je možné ho vpustit do sítě. Obrázek 4 Struktura RADIUS serverů (zdroj: http://www.eduroam.cz/cs/spravce/uvod) 18
3 Rozvoj sítě eduroam Krajský úřad ve spolupráci se sdružením CESNET připravují rozšíření eduroamu na střední školy. Úkolem bakalářské práce bylo prostudování jednotlivých možností RADIUS serverů a vytvořit návrh pro rozšíření sítě. 3.1 FreeRADIUS Tento RADIUS je velmi populární po celém světě z důvodů, že je zdarma publikován pod GNU (General Public Licence) licencí, je rychlý a flexibilní. Autentizuje jednu třetinu uživatelů v celém internetu. Výhody: Podporuje širokou škálu uživatelských uložišť jako je AD, SQL, LDAP či Kerberos. Podporuje všemožné metody ověřování protokolu EAP, tedy PEAP, EAP-TLS či EAP-TTLS. Umožňuje vytvářet vlastní zásady pomocí jazyků PERL či Pythonu. Rozšířitelný o pluginy Nativní podpora RadSec od verze 3.x Nevýhody: Obtížnější konfigurace Horší podpora od výrobce než u ostatních RADIUS serverů 3.2 Radiator Tento RADIUS je placený a máte 30-denní možnost na vyzkoušení. Zdrojový kód je napsán v jazyce Perl. Je použitelný na platformách Linux, Windows a ostatních. Používá se na národních RADIUS serverech i na root serverech. 19
Výhody: Podporuje širokou škálu uživatelských uložišť jako je AD, SQL, LDAP či Kerberos. Podpora více než 60 autentizačních metod Podpora RadSec Zahrnuje protokol Diameter Podporuje NFV (Network Functions Virtualisation) Podpora od výrobce Nevýhody: Placený Pomalejší pokud je konfigurace pravidel složitější 3.3 Microsoft NPS Tenhle RADIUS server z dílny Microsoftu lze nainstalovat pouze na systémech Microsoft server. Konfigurace pravidel se provádí přes grafické rozhraní, a to také znamená žádné skriptovací možnosti. Výhody: Velmi dobrá spolupráce s AD GUI (Graphical User Interface) Nevýhody: Nepodporuje skriptování Výhradně součástí licencovaného OS 20
3.4 Návrh řešení Je navrženo vytvořit krajský RADIUS, který bude spojen s národním RADIUS serverem. Komunikace mezi RADIUS servery bude probíhat přes RadSec protokol na portu TCP 2083 (Transmission Control Protocol). Na krajský RADIUS bude navrženo RADIUS Radiator z důvodu dobré podpory jak od výrobce, tak od sdružení CESNET. Na školní RADIUS bude navrženo FreeRADIUS3, který bude napojen na krajský RADIUS. Komunikace bude probíhat opět přes protokol RadSec na portu TCP 2083. Hlavní důvody výběru jsou, že je zadarmo a od verze 3.x podporuje RadSec protokol. Na eduroam se bude připojovat minipočítač Raspberry Pi 3, na kterém je autorem vytvořený monitoring, který testuje dostupnost eduroamu. Monitoring je popsán v další části této bakalářské práce. Celý model, jak by řešení mohlo vypadat včetně komunikace, je na obrázku číslo 5. Obrázek 5 Návrh řešení (zdroj:autor) 21
3.5 Možnosti připojení Existují dvě možnosti připojení k eduroamu. První možnost je, že organizace je poskytovatelem identit. Znamená to, že svým uživatelům, buď všem nebo jen části, poskytne údaje pro připojení do eduroamu. Druhá možnost znamená, že organizace pouze vysílá eduroam pro uživatele, kteří mají účet v jiné organizaci. Pro školy je doporučena první možnost, aby se staly poskytovatelem identit. Jediný rozdíl je v komunikaci mezi národním či krajským RADIUS serverem a školním serverem. Obrázek 6 Aktivní zapojení (zdroj:autor) Obrázek 7 Pasivní zapojení (zdroj:autor) 22
4 Návrh monitoringu Zadání znělo vytvořit monitoring typu klient-server pro wi-fi eduroam. Monitoring pravidelně otestuje, jestli se lze připojit k eduroamu prostřednictvím federalizované identity (mimo organizaci spravující wi-fi síť), rychlost připojení k internetu, linku mezi Krajským úřadem v Jihlavě a danou organizací a nakonec odešle data na centrální monitorovací server. Monitoring bude realizován na malých počítačí Raspberry Pi 3 Model B s Linuxovou distribucí Ubuntu, na kterém je naprogramován bash skript a Linuxového serveru s distribucí Debian, který je nainstalován na virtualizační platformě Vmware v Technologickém centru Kraje Vysočina. Aby monitoring správně fungoval, musí být název tabulky v databázi, název certifikátu a hostname raspberry stejný. Je to z důvodu, že ve skriptu je hojně využívána proměnná $HOSTNAME, jinak by se při každém přidání sondy musel upravovat skript. Hostname se nastavuje při úvodní konfiguraci sondy. 4.1 Testování připojení Pro připojení k eduroamu je použit Network Manager, který umožňuje jednoduchou konfiguraci sítě a automatické připojení při každém výpadku. K otestování připojení k internetu je nejlepší příkaz ping. Z výstupu je hned vidět, zda-li se podařilo navázat spojení nebo ne. 4.2 Komunikace Komunikace mezi serverem a sondami je řešena pomocí VPN. Zbývalo vybrat jaký protokol použít. PPTP (Point-to-Point Tunneling Protocol) Široce podporovaný protokol, jednoduchý na konfiguraci, ale nejméně bezpečný. Byl prolomen v roce 2012. Ipsec (IP security) Bezpečnostní rozšíření protokolu IP. Založeno na šifrování a autentizaci každého IP datagramu. Avšak na Raspberry se balíček nepodařil nainstalovat. 23
OpenVPN Využívá knihovnu OpenSSL (Open Secure Sockets Layer), která zahrnuje kryptografické funkce například pro vydání autentizačního certifikátu. Publikován pod licencí GNU a je nejvhodnější pro řešení problému. 4.3 Iperf Iperf je program, který otestuje parametry linky, nejenom rychlost ale i jiter, ztrátovost, počet přenesených datagramů, či kolik bylo přeneseno dat. Tento program běží v serverovém nebo v klientském režimu a obsahuje mnoho parametrů, které lze nastavit. 4.4 Výběr databáze Nejznámější databázové stroje v linuxu jsou MySQL a PostgreSQL. PostgreSQL Asi nejpropracovanější databázový stroj mezi databázovými systémy s otevřeným zdrojovým kódem. Umožňuje definovat vlastní funkce a triggery. MySQL Asi nejznámější databázový stroj také s otevřeným zdrojovým kódem. Výhoda oproti PostgreSQL je rychlost, avšak neumí triggery. V tomto případě je rozhodující parametr rychlost. Triggery ani složitější funkce nebudou potřeba. Vhodnější databázový stroj je MySQL. 24
5 Nastavení serveru 5.1 Základní nastavení serveru Na serveru je nainstalovaná nejnovější verze Debianu 9, tedy verze 9.2, bez grafického rozhraní. Při instalaci proběhlo základní nastavení serveru jako je nastavení časového pásma, země, uživatelských účtů, hesel apod. Dále je nutné ve firewallu povolit port UDP 1194 pro OpenVPN. 5.2 Instalace OpenVPN Instalace OpenVPNky byla inspirována na stránkách http://readwrite.com/2014/04/10/ra spberry-pi-vpn-tutorial-server-secure-web-browsing/, kde je instalace a konfigurace velice dobře popsána, avšak návod není nejnovější a je určený pro Raspbian, takže při instalaci se vyskytly komplikace. 5.2.1 Konfigurace OpenVPN serveru 1) Pod root právy nainstalovat balíčky OpenVPN pro VPN tunel a Easy RSA pro certifikační autoritu. apt-get install openvpn apt-get install easy-rsa 2) Zkopírovat složku s certifikačními skripty /usr/share/easy-rsa do /etc/openvpn/. cp R /usr/share/easy-rsa /etc/openvpn/ 3) Upravit soubor /etc/openvpn/easy-rsa/vars. Řádek 15: export EASY_RSA= /etc/openvpn/easy-rsa Řádek 29: export KEY_CONFIG= $EASY_RSA/openssl-1.0.0.cnf 4) Provést posloupnost příkazů: source./vars spustí upravený soubor vars./clean-all kompletně vymaže složku keys od předešlých certifikátů../build-ca vytvoří certifikační autoritu. 25
5) Po posledním příkazu se zobrazí volitelné informace, které můžete vyplnit, nebo nechat původní hodnoty. Tyto informace jsou začleněny do certifikátu. Obrázek 8 OpenVPN - volitelné informace (zdroj:autor) 6) Vytvořit pár klíč certifikát pro server a server pojmenujeme (například server)../build-key-server server Opět se zobrazí volitelné informace, která lze přeskočit, avšak pozor na tyto dvě pole: Common Name: Musí být název serveru. Většinou bývá výchoze nastaveno. A challenge password: Tato položka musí být prázdná. Pak už zbývá dvakrát potvrdit vytvoření certifikátu. 7) Vytvoření Diffie-Hellmanovu výměnu klíčů. Umožňuje vytvořit zabezpečené spojení přes nezabezpečený kanál../build-dh 8) Implementace HMAC klíče. Tento klíč chrání před útoky typu DOS. openvpn genkey secret keys/ta.key 9) Vytvoření konfigurace serveru. Konfigurace je volně dostupná na githubu na tomto odkazu https://gist.github.com/laurenorsini/9925434. Stačí změnit pár položek, jako IP adresa, či cesty k certifikátu a klíči. 10) V souboru /etc/sysctl povolit přesměrování paketů. net.ipv4.ip_forward=1 11) Ve firewallu povolit NAT. Vytvoříme jednoduchý skript v /etc/firewall-openvpnrules.sh Obrázek 9 OpenVPN NAT (zdroj:autor) 26
12) Nastavit skriptu práva a vlastníka: chmod 700 /etc/firewall-openvpn-rules.sh chown root /etc/firewall-openvpn-rules.sh 13) Upravit soubor, kde jsou nakonfigurována síťová rozhraní, tedy v /etc/network/interfaces a přidat řádek pre-up /etc/firewall-openvpn-rules.sh. A nakonec restartovat systém. 5.2.2 Konfigurace OpenVPN klienta 1) Provedeme dva příkazy, kterými vygenerujeme dvojici klíč certifikát pro daného klienta. source./vars./build-key-pass Kraj_Vysocina Opět se nám zobrazí volitelné položky. Pozor na položku Enter PEM pass phrase, kde se zadává heslo k certifikátu. 2) Vytvořit konfigurační soubor pro klienty. Data jsou dostupná na stránkách https://readwrite.com/2014/04/11/building-a-raspberry-pi-vpn-part-two-creatingan-encrypted-client-side/#awesm=~ob89wbfwrt21bv, kde stačí akorát zadat veřejnou IP adresu. 3) Vytvořit skript, který dá všechny potřebné soubory dohromady a vytvoří soubor s příponou ovpn. Skript je volně dostupný na githubu https://gist.github.com/laurenorsini/10013430. Skript byl nepatrně upraven, aby bylo možno načítat parametry již při spouštění skriptu z terminálu. Obrázek 10 Úprava kódu (zdroj:autor) 27
5.3 MySQL databáze Po instalaci databáze je nutné provést základní nastavení systému a povolit vzdálený přístup pro sondy. Jelikož v Debianu 9.2 již je MariaDB, tak při instalaci nenabízí nastavení hesla pro nejvyššího uživatele root. Pro povolení vzdáleného přístupu se upraví soubor 50-server.conf v adresáři /etc/mysql/mariadb.conf.d a zakomentuje se skip-external-locking a změní se IP adresa Obrázek 11 Databáze - vzdálený přístup (zdroj:autor) Je třeba vytvořit ještě jednoho uživatele s omezenými právy select a insert, kterého budou využívat pouze sondy a webové rozhraní. Uživatel byl nazván raspberry. Byla vytvořena databáze monitoring, kde každá sonda má, nebo bude mít, svoji vlastní tabulku. Tabulky nejsou mezi sebou nijak svázané, takže se v databázi nevyskytují žádné cizí klíče. Dále existuje tabulka sondy, kde jsou uložené všechny sondy s popisem, kde se vyskytují. Tato tabulka je využívána pro výpis dat na webovém rozhraní. Na ukázku jsou přiloženy informace o tabulce. Obrázek 12 Struktura tabulek (zdroj:autor) 28
5.4 Iperf Tento program se musí spustit v serverovém režimu a také nastavit několik parametrů. Program se spustí příkazem: iperf s u D, kde jednotlivé parametry znamenají: -s program se spustí v serverovém módu -u UDP mód -D spustí program jako deamona 5.5 Webové stránky Webové rozhraní slouží pro zobrazení naměřených dat z databáze. Pro zkvalitnění zobrazení detailů naměřených dat je použita knihovna JpGraph, která generuje grafy pro každou sondu. Nejdříve se však musí nainstalovat a nakonfigurovat http (Hypertext Transfer Protocol) server Apache a PHP 7. U Apache se nemusí nic konfigurovat, ale do PHP se musí doinstalovat knihovny gd, mysqli a PDO (PHP Data Object). Úvodní stránka zobrazuje veškerá monitorovací zařízení, která jsou zavedená v tabulce sondy, která již byla zmíněna dříve a zobrazuje jejich poslední přidaný řádek do databáze. Obrázek 13 Index.php (zdroj:autor) Při vyčítání dat je využíváno dvou dotazů na databázi. První dotaz vyčte všechny názvy sond a druhý dotaz se stará o vyčtení konkrétních dat z tabulek. 29
Obrázek 14 Vyčítání dat (zdroj:autor) Pro kontrolu aktuálnosti dat je použita naprogramovaná funkce pro porovnání dvou datumů. Pokud sonda neodešle z nějakého důvodu data, funkce podbarví daný řádek červeně. Obrázek 15 Porovnání datumů (zdroj:autor) 30
5.5.1 Připojení k databázi Pro připojení k databázi je použit samostatný soubor, který byl nazván connect.php. Výhodou souboru je, že ho lze propojit s jakýmkoliv php souborem, kde je vyžadováno připojení k databázi. K připojení souboru slouží funkce include(), či require(). Obrázek 16 Připojení k databázi (zdroj:autor) 5.5.2 Grafy Knihovna JpGraph dokáže generovat mnoho různých typů grafů. S touto knihovnou se pracuje velmi jednoduše, protože pro každý typ grafu je připraven php soubor, který stačí jednoduše naimportovat a pak už jen zadávat příkazy pro vykreslení grafu. Pro tyto účely je použit sloupcový typ grafu. 31
Obrázek 17 JpGraph kód (zdroj:autor) Obrázek 18 JpGraph graf (zdroj:autor) 32
5.5.3 Výpis dat za určité období Další z požadavků bylo vypsat data z databáze za určité časové období. K tomu byl použit HTML (HyperText Markup Language) formulář, kde select boxem uživatel vybere možné sondy, zadá se požadované počáteční a koncové datum a nakonec vše odešle. 5.6 Přístup k serveru pomocí ssh Pro přístup k serveru je použito SSH (Secure Shell) spojení přes program putty. Avšak nebyl použit klasický přístup přes uživatelské jméno a heslo, ale každý uživatel má vygenerovanou dvojici klíčů. Veřejný klíč je umístěn na serveru, a jak už z názvu vyplývá, tak ho lze umístit na jakýkoliv jiný server, kam má mít uživatel přístup. Privátní klíč se používá při přihlášení v programu putty a je to soukromý klíč uživatele, který má na svém počítači. 33
6 Monitorovací sonda 6.1 Základní nastavení Stejně jako u serveru, tak i sonda potřebuje po nahrátí image, nastavit. Opět se nastavují uživatelské účty, hesla, časové pásmo, jazyk, rozložení klávesnice apod. V dalším kroku je potřeba nakonfigurovat připojení k eduroamu. Připojení bylo provedeno přes NetworkManager. Na Krajském úřadě byly připraveny testovací účty do eduroamu, pro každou sondu jeden účet. Do NetworkManageru nastavíme tento účet, heslo k účtu, metodu ověřování v síti PEAP a metodu pro ověřování hesel MSCHAPv2. Následně nastavit raspberry tak, aby nepřecházela do režimu spánku, nainstalovat balíčky pro OpenVPN klienta, aby se dala i VPNka nakonfigurovat přes NetworkManager, měřící nástroj iperf a mysql klienta, aby se data dala ukládat přímo na server do databáze. 6.2 Vývoj skriptu Skript je napsán celý v bashi. Vývoj skriptu probíhal ve fázích, kdy každá nově napsaná část kódu byla nejdříve otestována zda dělá to co má a teprve pak byla přidána do skriptu. Ve skriptu prozatím nebylo potřeba vytvářet funkce, ale skript se neustále vyvíjí. Prvním řádkem kódu je informován shell, jaký interpretr má spustit, v tomto případě /bin/bash. V dalším kroku vypnu a zapnu NetworkManager a program počká patnáct sekund, aby se znovu stihlo navázat spojení. Dále jsou vyčteny informace o MAC (Media Access Control) adrese a aktuálním datu. 6.2.1 Otestování připojení k eduroamu Ještě než skript bude pokračovat dále, je zapotřebí otestovat, jestli se sonda vůbec připojila k eduroamu. Je předpokládáno, že pokud se připojí, dostane od DHCP (Dynamic Host Configuration Protocol) serveru IP adresu na rozhraní wlan0. Takže ve skriptu je ve forcyklu pomocí příkazu ip a funkce cut vyfiltrována pouze IP adresa. Původně byl použit příkaz ifconfig a funkce grep a awk, ale tohle řešení nefungovalo v crontabu. Do proměnné uložím vyfiltrovanou IP adresu, která je testována v podmínce 34
na regulární výraz IP adresy. Pokud je proměnná prázdná, skript počká deset sekund a opakuje cyklus. Pokud ani na podesáté se zařízení nepřipojí, skript se ukončí a zapíše do dvou souborů, že se testování nezdařilo. Pokud je v proměnné IP adresa, skript pokračuje dále k otestování pingu. Proč zrovna dvakrát? Protože první soubor s názvem eduroam.csv slouží pro celkový výpis všech měření sondy a druhý soubor nepripojeno.csv, slouží pouze k účelům, kdy se sonda nepřipojí, takže nemůže odeslat data na server. Po tuto dobu sonda ukládá data i do tohoto souboru. Po následném připojení k internetu pak odešle veškerá data na server a soubor je vymazán. 6.2.2 Otestování pingu K ověření připojení k internetu je testován ping na DNS (Domain Name System) servery Google. Ping má buď klasický výstup, kde vidíme počet přenesených bajtů, odezvu a hodnotu TTL (Time to Live) nebo může vracet čísla, kde nula znamená, že host je dostupný a dvojka znamená host nedostupný. V podmínce je testováno, jestli je host dostupný, tedy na nulu a hodnota se uloží do proměnné. 6.2.3 Zapnutí VPN a kontrola navázání tunelu Z důvodu ztráty spojení na počátku skriptu, je potřeba znovu zapnout VPNku. Je zapnuta pomocí příkazu nmcli. Tímto příkazem se dá ovládat celý NetworkManager pomocí terminálu, což lze využít i ve skriptech. Kontrola je opět provedena tak, že je uložena do proměnné IP adresa virtuálního rozhraní tun0 a poté otestována v podmínce na regulární výraz. Pokud podmínka neprojde, skript se zastaví a dvakrát uloží aktuálně naměřené hodnoty, pokud projde, skript pokračuje dále k testování linky. 6.2.4 Iperf testy Program se musí na sondě spustit v klientském režimu a nastavit další parametry. Je spouštěn příkazem: iperf c 10.8.0.1 u b 5M R y C, kde jednotlivé parametry znamenají: 35
-c 10.8.0.1 klientský mód a virtuální adresa serveru -u UDP mód -b testovací rychlost 5Mbit/s -R znamená, že server posílá data sondě, tedy testuje se downstream -y C znamená, výpis dat do jednoho řádku, oddělené čárkou Z výstupu jsou vyčtena data do proměnných. Jsou to datum testu, rychlost, jitter, kolik bylo přijato datagramů, ztraceno datagramů a procento ztrátovosti. Celý test trvá po dobu deseti sekund. Poté je ještě otestován upstream stejným příkazem, akorát je vynechán parametr R. 6.2.5 Ukládání dat Data se ukládají pomocí mysql klienta, který se připojí na server a veškerá naměřená data uloží do tabulky. Zároveň je uloží i lokálně do souboru eduroam.csv. 6.3 Připojení k sondě přes ssh Pokud se chce administrátor připojit k sondě, musí nejdříve připojit na server pomocí vygenerovaných ssh klíčů, zadat heslo k root účtu a teprve potom se může k sondě připojit přes ssh. Pro ssh je změněn port ze standardní 22 na 10122. 6.4 Přidání sondy Sondu lze přidat pomocí předpřipravené image a naprogramovaných pomocných skriptů. Nejdříve se musí na SD kartu nahrát image a připojit sondu do elektřiny. Sonda se automaticky připojí k eduroamu a díky pomocnému certifikátu i k VPNce. Skriptu na serveru správce předá hostname a poznámku, kde bude sonda umístěna. Skript vytvoří certifikát pro danou sondu a v databázi tabulku se stejným názvem. Skript také zobrazí IP adresu, kam se připojit a zkopírovat nový certifikát, pomocí příkazu SCP (Secure Copy). 36
Skriptu na sondě předá správce hostname, heslo k certifikátu VPNky a kterou minutu se skript bude spouštět v cronu. Skript pak nakonfiguruje sondu tak, aby byla použitelná v dané lokalitě. Změní hostname raspberry, nakonfiguruje VPNku úpravou souborů, které používá NetworkManager pro ukládání informací o připojení k wi-fi, či konfiguraci VPNky a vytvoří příkazy pro cron. Na další stránce lze vidět obrázek, který vysvětluje postupné nastavení sondy včetně rolí, kdo co dělá. 37
Obrázek 19 Přidání a funkce sondy (zdroj:autor) 38
7 Závěr 7.1 Možnosti dalšího rozvoje eduroamu Možnosti dalšího rozvoje sítě eduroam jsou široké. Eduroam by měl být rozšířen do knihoven, protože zde studenti tráví hodně času a potřebují připojení k internetu. Avšak by knihovně nemělo být umožněno poskytovat identity. To samé řešení by mohlo být praktikováno i do muzeí, nebo nemocnic. Další fáze rozšíření eduroamu by mohlo být na základní školy z důvodů pokročilosti doby a moderním technologiím, které by mohly zatraktivnit výuku. Školám umožnit poskytování identit, ale měl by být omezen ročník, od kterého by se studenti mohli připojit do sítě eduroam (např: od druhého stupně základní školy). 7.2 Testování Testování skriptu probíhalo ve fázích kde, každý naprogramovaný řádek kódu byl nejdříve otestován v terminálu a po ověření funkčnosti přidán do výsledného skriptu. Problém nastal při spouštění skriptu cronem. Chyba byla způsobena příkazem ifconfig, který vyčítal IP adresu do proměnné. Příkaz ifconfig byl nahrazen příkazem ip. Na serveru byly k otestování webové stránky. Když se objevila nějaká chyba, většinou to bylo v syntaxi kódu. Chyba byla vždy rychle opravena. 7.3 Splnění cílů Hlavní cíle projektu bylo vytvořit návrh možného rozšíření pro síť eduroam a vytvoření monitoringu, který bude testovat tuto síť. Monitoring byl nasazen na minipočítačích Raspberry pi 3 a skript byl naprogramován v bashi. Databáze pro ukládání dat byla použita MySQL. Přidávání sondy je řešeno pomocí dvou skriptů, první vytvoří certifikát a připraví tabulku pro sondu, vloží záznam do tabulky s názvem sondy a zkopíruje certifikát do Raspberry. Druhý je připravený na Raspberry a stará se o nakonfigurování sondy. Změní hostname, provede konfigurace VPNky a nastaví crontab, aby se skript pravidelně spouštěl. Aktuálně je nasazeno pět sond, z toho jedna slouží jako testovací. 39
K zobrazení dat z databáze slouží webserver, na kterém jsou naprogramovány webové stránky. Úvodní strana je tabulka, ve které jsou všechny dostupné sondy. Další požadavek bylo grafické znázornění dat z měření. K tomuto účelu je použita knihovna JpGraph, se kterou se dobře pracuje. Všechny cíle byly splněny a vznikl plnohodnotný monitoring, který lze nasadit všude, kde je eduroam. Monitoring bude dále rozvíjen. Autor se chystá přidat testování přes IPv6, či přidat mapování určitých portů. 40
8 Seznam použité literatury Jak eduroam funguje [online]. CESNET, z. s. p. o., 2017 [cit. 2017-12-05]. Dostupné z: https://www.eduroam.cz/cs/uzivatel/uvod Roamingová síť eduroam: připojení po celém světě: Jak to nedělat [online]. Copyright 1998 2017, 2016 [cit. 2017-12-05]. Dostupné z: https://www.root.cz/clanky/roamingova-sit-eduroam-pripojeni-po-celem-svete/ Configuring IEEE 802.1X Port-Based Authentication: Understanding 802.1X Port-Based Authentication [online]. Cisco Systems, Inc., 2016 [cit. 2017-12-05]. Dostupné z: https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/12-2sx/configuration/guide/book/dot1x.pdf Extensible Authentication Protocol [online]. San Francisco: Wikipedia: the free encyclopedia, 2017 [cit. 2017-12-05]. Dostupné z: https://en.wikipedia.org/wiki/extensible_authentication_protocol Autentizace a autorizace - bezpečnost: Autentizace [online]. Trisul.cz 2005-2017 [cit. 2017-12-15]. Dostupné z: http://www.trisul.cz/bezpecnost-autentizace-autorizace/ SOSINSKY, Barrie A. Mistrovství - počítačové sítě: [vše, co potřebujete vědět o správě sítí]. Brno: Computer Press, 2010. ISBN 978-80-251-3363-7 41
Seznam obrázků Obrázek 1 Model protokolu 802.1X (zdroj: https://en.wikipedia.org/wiki/ieee_802.1x)... 12 Obrázek 2 Ověření uživatele v síti EDUROAM (zdroj: https://www.eduroam.cz/cs/spravce/uvod)... 15 Obrázek 3 Struktura RADIUS paketu (Zdroj: autor)... 16 Obrázek 4 Struktura RADIUS serverů (zdroj: http://www.eduroam.cz/cs/spravce/uvod)... 18 Obrázek 5 Návrh řešení (zdroj:autor)... 21 Obrázek 6 Aktivní zapojení (zdroj:autor)... 22 Obrázek 7 Pasivní zapojení (zdroj:autor)... 22 Obrázek 8 OpenVPN - volitelné informace (zdroj:autor)... 26 Obrázek 9 OpenVPN NAT (zdroj:autor)... 26 Obrázek 10 Úprava kódu (zdroj:autor)... 27 Obrázek 11 Databáze - vzdálený přístup (zdroj:autor)... 28 Obrázek 12 Struktura tabulek (zdroj:autor)... 28 Obrázek 13 Index.php (zdroj:autor)... 29 Obrázek 14 Vyčítání dat (zdroj:autor)... 30 Obrázek 15 Porovnání datumů (zdroj:autor)... 30 Obrázek 16 Připojení k databázi (zdroj:autor)... 31 Obrázek 17 JpGraph kód (zdroj:autor)... 32 Obrázek 18 JpGraph graf (zdroj:autor)... 32 Obrázek 19 Přidání a funkce sondy (zdroj:autor)... 38 42
Seznam tabulek Tabulka 1 RADIUS Typy zpráv Zdroj: https://en.wikipedia.org/wiki/radius... 17 43
Seznam použitých zkratek Eduroam - Education Roaming IROP - Integrovaný Regionální Operační Program) LDAP - Lightweight Directory Access Protocol AD - Active Directory AAA - Authentication, Authorization and Accounting RADIUS - Remote Authentication Dial In User Service CHAP - Challenge Handshake Authentication Protocol MSCHAP - Microsoft Challenge Handshake Authentication Protocol EAP - Extensible Authentication Protocol EAPOL - EAP over LAN EAP-TLS - EAP-Transport Layer Security EAP-TTLS - EAP-Tunneled Transport Layer Security EAP-PSK - EAP-Pre Shared Key LEAP - Light Extensible Authentication Protocol PEAP - Protected EAP UTP - Unshielded Twisted Pair AP - Access Point VLAN - Virtual Local Area Network WEP - Wired Equivalent Privacy WPA - Wi-Fi Protected Access IP - Internet Protocol VPN - Virtual Private Network 44
PPTP - Point-to-Point Tunneling Protocol IPsec - Internet Protocol Security OpenSSL - Open Secure Sockets Layer HMAC - Keyed-hash Message Authentication Code DOS - Denial of Service NAT - Network Address Translation HTTP - Hypertext Transfer Protocol PHP - Hypertext Preprocessor PDO - PHP Data Object SQL - Structured Query Language SCP - Secure Copy DNS - Domain Name Systém SSH - Secure Shell TTL - Time to Live DHCP - Dynamic Host Configuration Protocol MAC - Media Access Control 45
Přílohy 1 Obsah přiloženého CD Na přiloženém CD se v kořenovém adresáři nachází tato bakalářská práce ve formátu bakalarska_prace.pdf se složkou skripty, ve které se nachází testovací skript test.sh a pomocné skripty make_probe.sh na serveru a configure_probe.sh na sondě. Dále se v kořenovém adresáři nachází složka monitoring, ve které se nachází webové stránky. 46