diplomová práce

Nástroj pro bezpečnostní testování webového serveru Apache

Text práce 3.57 MB Příloha 3.55 MB

Autor práce: Bc. Peter Takács

Ak. rok: 2025/2026

Vedoucí: doc. Ing. Zdeněk Martinásek, Ph.D.

Oponent: prof. Ing. Dan Komosný, Ph.D.

Abstrakt:

Táto diplomová práca predstavuje webový server Apache HTTP Server a platformu na penetračné testovanie Penterep a analyzuje vybrané serverové moduly spolu s ich bežnými zraniteľnosťami. Následne opisuje návrh a implementáciu automatizovaného nástroja na penetračné testovanie modulov na Apache HTTP Servere, nazvaného ptmodscan. Nástroj je navrhnutý tak, aby na základe externe pozorovateľného správania testovaného servera detegoval aktívne moduly a overoval základné nesprávne konfigurácie spojené s týmito modulmi. Nakoniec je nástroj otestovaný na lokálne nasadenej inštalácii servera Apache so zámerne vloženými zraniteľnosťami, pričom výsledky potvrdzujú, že implementované riešenie spĺňa ciele stanovené na začiatku práce.

Klíčová slova:

Apache HTTP Server, Penterep, penetračné testovanie, Apache moduly, detekcia modulov, mod_status, mod_ssl, mod_info, mod_auth_basic, mod_auth_digest, mod_deflate, mod_expires, mod_php, mod_headers, mod_dav, mod_autoindex, mod_alias, mod_userdir, mod_dir, mod_proxy, Python, webový server, ptmodscan, ptlibs

Termín obhajoby

09.06.2026

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci a odpověděl na otázky členů komise a oponenta. Otázky členů komise a oponenta: - V čem je praktický přínos detekce aktivních modulů Apache oproti běžnému skenování známých zranitelností webového serveru? - Porovnával jste váš nástroj s jinými nástroji?

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační bezpečnost (MPC-IBE)

Složení komise

Ing. Vlastimil Člupek, Ph.D. (člen)
Ing. Petr Dejdar, Ph.D. (člen)
Ing. Patrik Dobiáš (člen)
doc. JUDr. Matěj Myška, Ph.D. (místopředseda)
prof. Ing. Dan Komosný, Ph.D. (předseda)
Ing. Radomír Svoboda, Ph.D. (člen)
Ing. Martin Rusz (člen)
doc. Ing. Václav Oujezský, Ph.D. (člen)

Student Peter Takács pracoval aktivně na řešení diplomové práce a pravidelně konzultovala dosažené výsledky. Veškeré podněty a návrhy reflektovala v práci. Hlavním přínosem práce je vlastní návrh a implementace nástroje podporující bezpečnostní penetrační webových aplikací. Implementovaný nástroj na základě reakcí webového serveru Apache identifikovat aktivní moduly. Funkčnost nástroje jsem testoval a potvrzuji použitelnost v rámci black-box testování. V práci se vyskytují drobné formální nedostatky typografického rázu např. sirotek (úvod, str. 43). Nástroj splňuje požadavky zadání (licence, využité knihovny atdp.). Student využil celkem 45 zdrojů, které jsou aktuální. Práce je po formální stránce i odborné na velmi vysoké úrovni. Konstatuji, že veškeré definované cíle práce byly splněny a navrhuji práci k obhajobě s hodnocením A. Výsledný počet bodů navržený vedoucím: 90

Známka navržená vedoucím: A

Technická dokumentace ke zhotovenému software je přehledná. Princip činnosti jednotlivých testovacích modulů je podrobně popsán a názorně doplněn vývojovými diagramy. Autor vhodně zařazuje výpisy kódu, na nichž vysvětluje klíčové části implementace. Tyto výpisy jsou v textu dále komentovány a propojeny s navrženými testovacími postupy.

Zdrojový kód je přehledný, vhodně organizovaný a dobře čitelný. Je rozdělen do samostatných souborů podle testovaných modulů Apache serveru, což zvyšuje přehlednost a usnadňuje případné další rozšiřování nástroje. Implementace využívá zejména knihovnu ptlibs pro začlenění do systému PenterepTools.

Zhotovený software byl autorem ověřen v experimentálním prostředí na Apache serveru. Konfigurace serveru byla záměrně upravena tak, aby bylo možné otestovat detekci vybraných modulů. Testovací konfigurace jednotlivých modulů je v práci popsána dostatečně podrobně. Součástí ověření byla také druhá varianta testování s instalací Apache, ve které nebyly zpřístupněny testované moduly. Tato část sloužila k ověření možných falešně pozitivních výsledků. Výsledky provedených testů ukazují, že nástroj v připraveném prostředí pracuje správně. Autor zároveň diskutuje situace, které mohou v reálném testování vést k falešně pozitivním nebo falešně negativním detekcím jednotlivých modulů webového serveru.

Poskytnutou aplikaci jsem také samostatně testoval. Podle přiloženého návodu jsem ji nainstaloval do nově vytvořeného prostředí Python 3.12. Aplikaci jsem bez problémů spustil a provedl náhodné testování vybraných webových serverů. Během mého testování aplikace pracovala správně.

Formální a grafická úprava práce je na dobré úrovni. Autor přiměřeně pracuje s použitou literaturou a online zdroji. Práce má logickou strukturu. Nejprve popisuje principy testování a analyzované Apache moduly, popisuje implementaci a nakonec ověřuje funkčnost nástroje.

Zdrojový kód vytvořeného softwaru je volně dostupný na platformě GitLab a je publikován pod licencí GPL. Drobnou nesrovnalost vidím v licenčním textu a metadatech zveřejněného softwaru. V souboru README.md a v hlavičkách některých zdrojových souborů zůstaly odkazy na projekt pttemplate. Správně by zde asi měl být uveden název vytvořeného nástroje ptmodscan. Otázky k obhajobě:
  1. V čem je praktický přínos detekce aktivních modulů Apache oproti běžnému skenování známých zranitelností webového serveru?
Výsledný počet bodů navržený oponentem: 95

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová