3.1.3 PHP Framework Nette
Total Page:16
File Type:pdf, Size:1020Kb
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMA ČNÍCH TECHNOLOGIÍ ÚSTAV PO ČÍTA ČOVÝCH SYSTÉM Ů FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS WEBOVÉ ROZHRANÍ PRO SYSTÉM DETEKCE SÍ ŤOVÝCH ANOMÁLIÍ BAKALÁ ŘSKÁ PRÁCE BACHELOR‘S THESIS AUTOR PRÁCE PETR SLÁDEK AUTHOR BRNO 2013 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMA ČNÍCH TECHNOLOGIÍ ÚSTAV PO ČÍTA ČOVÝCH SYSTÉM Ů FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS WEBOVÉ ROZHRANÍ PRO SYSTÉM DETEKCE SÍŤOVÝCH ANOMÁLIÍ WEB INTERFACE FOR NETWORK ANOMALY DETECTION SYSTEM BAKALÁ ŘSKÁ PRÁCE BACHELOR‘S THESIS AUTOR PRÁCE PETR SLÁDEK AUTHOR VEDOUCÍ PRÁCE Ing. VÁCLAV BARTOŠ SUPERVISOR BRNO 2013 Abstrakt Úkolem této bakalá řské práce je vytvo řit webové rozhraní pro systém detekce sí ťových anomálií s názvem HostStats. Jeho úkolem je umožnit uživateli efektivn ě pracovat s daty a statistikami, které systém poskytuje. Webové rozhraní funguje jako plugin do NfSenu i jako zcela nezávislá webová aplikace. Implementace prob ěhla v PHP s využitím Nette Frameworku, HTML5, CSS3 a JavaScriptu s použitím jQuery knihovny. Abstract The goal of this work is to create a web interface for network anomaly detection system called HostStats. Its mission is to enable users to effectively work with data and statistics provided by the system. Web interface works as a plugin to NfSen as a completely independent web applications. Implementation took place in PHP using the Nette Framework, HTML5, CSS3, and JavaScript using the jQuery library. Klí čová slova HostStats, NfSen, NetFlow, timeslot, detekce útok ů, sí ťové anomálie, Nette framework Keywords HostStats, NfSen, NetFlow, timeslot, attack detection, network anomaly, Nette framework Citace Sládek Petr: Webové rozhraní pro systém detekce sí ťových anomálií, bakalá řská práce, Brno, FIT VUT v Brn ě, 2013 Webové rozhraní pro systém detekce sí ťových anomálií Prohlášení Prohlašuji, že jsem tuto bakalá řskou práci vypracoval samostatn ě pod vedením Ing. Václava Bartoše. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal. …………………… Petr Sládek 15.kv ětna 2013 Pod ěkování Děkuji svému vedoucímu práce Ing. Václavu Bartošovi za odborné vedení a všechny podn ěty a podklady, které mi k vypracování práce poskytl. © Petr Sládek, 2013 Tato práce vznikla jako školní dílo na Vysokém u čení technickém v Brn ě, Fakult ě informa čních technologií. Práce je chrán ěna autorským zákonem a její užití bez ud ělení oprávn ění autorem je nezákonné, s výjimkou zákonem definovaných p řípad ů. 4 Obsah Obsah ...................................................................................................................................................... 1 1 Úvod ............................................................................................................................................... 3 2 Analýza .......................................................................................................................................... 4 2.1 Proces získávání dat pro HostStats ......................................................................................... 4 2.1.1 NetFlow .......................................................................................................................... 4 2.1.2 NfSen – Netflow Senzor ................................................................................................. 5 2.1.3 HostStats ......................................................................................................................... 5 2.2 Architektura plugin ů NfSen .................................................................................................... 6 2.3 Komunikace Frontendu s Backendem .................................................................................... 7 2.3.1 NEW_DATA (1) ............................................................................................................ 8 2.3.2 GET_STATUS (10) ........................................................................................................ 8 2.3.3 GET_HOST_CNT_HISTORY (11) ............................................................................... 8 2.3.4 GET_FLOW_CNT_HISTORY(12) ............................................................................... 9 2.3.5 GET_PROFILES(20) ..................................................................................................... 9 2.3.6 GET_FIELD_LIST(30) .................................................................................................. 9 2.3.7 GET_TIMESLOT_DATA(31) ..................................................................................... 10 2.3.8 GET_TIMESLOT_IPMAP (32) ................................................................................... 10 2.3.9 GET_HOST_HISTORY(35) ........................................................................................ 11 2.3.10 GET_DETECTION_LOG_LIST(40) ........................................................................... 11 2.3.11 GET_DETECTION_LOG(41) ..................................................................................... 12 2.4 Potencionální technologie Frontendu ................................................................................... 12 3 Implementace ............................................................................................................................... 13 3.1 Použité technologie ............................................................................................................... 14 3.1.1 HTML5 ......................................................................................................................... 14 3.1.2 CSS3 ............................................................................................................................. 15 3.1.3 PHP Framework Nette .................................................................................................. 15 3.1.4 Konfigurace p řes Neon ................................................................................................. 16 3.1.5 JavaScriptová knihovna jQuery .................................................................................... 16 3.1.6 CSS Framework Bootstrap ........................................................................................... 17 3.1.7 AJAX & Snippety ......................................................................................................... 17 3.2 Objektový návrh aplikace ..................................................................................................... 18 3.2.1 MVP struktura .............................................................................................................. 18 3.2.2 Životní cyklus aplikace ................................................................................................. 20 3.2.3 Třída HSConnection ..................................................................................................... 22 1 3.2.4 Třída Timeslot .............................................................................................................. 22 3.2.5 Třída Timewindow ....................................................................................................... 23 3.2.6 Třída Nettools ............................................................................................................... 23 3.2.7 Zpracování chyb ........................................................................................................... 23 3.3 Sekce Frontendu ................................................................................................................... 24 3.3.1 Sekce Overview ............................................................................................................ 24 3.3.2 Sekce Detail .................................................................................................................. 25 3.3.3 Sekce IP map ................................................................................................................ 25 3.3.4 Sekce History ................................................................................................................ 26 3.3.5 Sekce Detectors ............................................................................................................ 27 4 Testování ...................................................................................................................................... 28 4.1 Oblasti testování ................................................................................................................... 28 4.1.1 Testování funk čnosti ..................................................................................................... 28 4.1.2 Testování použitelnosti ................................................................................................. 29 4.1.3 Testování bezpe čnosti ................................................................................................... 29 4.2 Na čem bylo testováno .......................................................................................................... 29 4.3 Výsledky testování ................................................................................................................ 29 5 Možnosti dalšího rozší ření ........................................................................................................... 30 6 Záv ěr ...........................................................................................................................................