Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Michal Wagner
Ak. rok: 2023/2024
Vedoucí: Ing. Bohuslav Křena, Ph.D.
Oponent: Ing. Martin Perešíni
Tato práce se zaměřuje na bezpečnost webového serveru Nginx a jeho konfigurační možnosti, s důrazem na funkci reverzního proxy serveru. Prozkoumává dostupné Nginx alternativy a bezpečnostní hrozby pro reverzní proxy servery. Dále se práce věnuje způsobu odhalení těchto bezpečnostních hrozeb pomocí metod penetračního testování a je provedena rešerše existujících nástrojů pro detekci bezpečnostních slabin reverzních proxy. V praktické části je vyvinutý nástroj pro demonstraci bezpečnostních útoků a detekci bezpečnostních slabin na server Nginx. V závěru práce je funkčnost nástroje otestována a na základě získaných zkušeností vytvořena technická specifikace pro nastavení reverzního proxy serveru Nginx omezující možnosti jeho napadení.
bezpečnost, hrozba, zranitelnost, nginx, webový server, reverzní proxy
Termín obhajoby
12.06.2024
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
C
Průběh obhajoby
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.
Otázky k obhajobě
Jazyk práce
čeština
Fakulta
Fakulta informačních technologií
Ústav
Ústav inteligentních systémů
Studijní program
Informační technologie (BIT)
Složení komise
doc. Ing. Ondřej Ryšavý, Ph.D. (předseda) Ing. Tomáš Milet, Ph.D. (člen) Ing. Josef Strnadel, Ph.D. (člen) Ing. Matěj Grégr, Ph.D. (člen) Ing. Filip Orság, Ph.D. (člen)
Posudek vedoucíhoIng. Bohuslav Křena, Ph.D.
S přístupem studenta jsem velice spokojen. Tento aspekt bych určitě hodnotil známkou A. Výsledná práce má však podle mého názoru určité rezervy, které mi brání navrhnout známku A pro celkové hodnocení, a to i přes to, že k těmto rezervám přispěly především okolnosti, na které neměl student vliv.
Jedná se o zadání z firmy Kyndryl. Obtížnost zadání považuji za přiměřenou, byť práce nakonec vedla k poněkud rozsáhlejší technické zprávě. Řešení práce určitě ovlivnilo to, že původní odborný vedoucí z firmy Kyndryl odešel. Oceňuji však, že Kyndryl rychle našel novou vedoucí práce. Až v průběhu řešení se ukázalo, že původně zamýšlené experimenty na serveru Kyndrylu nebude možné provést, protože Kyndryl má takové zabezpečení své infrastruktury, že plánované útoky nebyly úspěšné, a nedávalo tak smysl vyhodnocovat, při kterém nastavení jim Nginx server nejlépe odolá. Studentovi se s tím však podařilo vypořádat velice dobře.
Použité prameny považuji za vhodně zvolené. Vzhledem k charakteru práce považuji za správné, že student cituje jednotlivé stránky dokumentace serveru Nginx a ne jeho dokumentaci jako celek, byť to seznam použitých pramenů prodloužilo.
Aktivita studenta byla vzorná. Práci se poctivě věnoval již v průběhu zimního semestru. V letním semestru měl řádně doloženou překážku ve studiu, na jejímž základě a s mým doporučením mu byl povolen týdenní odklad odevzdání práce.
Postup prací i výsledná podoba práce byla se mnou konzultována, byť na výraznější posílení experimentů již dostatek času nebylo.
Doporučení pro nastavení serveru Nginx (příloha B) se plánují využívat pro interní potřeby Kyndrylu.
Známka navržená vedoucím: B
Posudek oponentaIng. Martin Perešíni
Študent splnil všetky povinné body zadania. Práca dosahuje požadovanú kvalitu z hľadiska rozsahu, úpravy textu (s výnimkou drobných chýb) a prevedenia. Potenciál implementácie je určite prítomný. Celkovo hodnotím výsledok ako dobrý a navrhujem študentovi známku medzi B a C.
Stupeň hodnocení: méně obtížné zadání
Práca sa zaoberá návrhom nástroja na detekciu bezpečnostných slabín Nginx serveru. Prácu považujem ako mierne náročnú.
Práca má logickú štruktúru, poradie kapitol je vhodne zvolené a celkovo je práca napísaná pre čitateľa zrozumiteľne.
Jazyková úroveň práce sa zdá byť dobrá, až na niektoré drobné nedostatky alebo štylistické chybičky. Z typografického hľadiska nemám k dielu žiadne väčšie výhrady. Jedine by som odporúčal pridať do teoretickej časti viac obrázkov (diagramov) vysvetľujúcich napríklad fungovanie útoku Syn-Flood a podobne.
Realizačný výstup a implementácia spĺňajú špecifikáciu. Výstupom implementácie je vytvorenie nástroja na otestovanie detekcie útokov na nakonfigurovaný Nginx server. Okrem samotnej implementácie sa študentovi podarilo aj vyhodnotiť dosiahnuté výsledky a efektívnosť jednotlivých útokov a konfigurácií. Samotný kód vyzerá byť v poriadku.
Výsledky tejto práce sa pravdepodobne budú dať využiť v budúcnosti a ďalej rozšíriť.
Stupeň hodnocení: zadání splněno
Zadanie považujem za splnené. Študent zanalyzoval a oboznámil sa s problematikou útokov a detekcie útokov na reverse proxy webové servery. Následne naštudoval dokumentáciu Nginx serveru a implementoval nástroj na otestovanie detekcie útokov, ako napríklad klasický útok preťažením dotazov (denial-of-service). Študent potom pomocou daného nástroja a jeho konfigurácie vyhodnotil dosiahnuté výsledky detekcie útokov.
Stupeň hodnocení: je v obvyklém rozmezí
Rozsah technickej správy je okolo 70 normostrán (až 100 s prílohami). Dĺžka práce je teda v rámci rozsahu bakalárskej práce, výrazne bližšie k hornej hranici.
Študent využíva relevantné zdroje v dostatočnom množstve, pričom informácie čerpal hlavne z webových stránok a príručiek dostupných na internete. Práca s literatúrou je na dobrej úrovni. Väčšiu výhradu mám jedine k počtu citácií, a považujem za redundantné citovať každú funkciu alebo modul konfigurácie serveru Nginx.
Známka navržená oponentem: C
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová