Riešenie bakalárskej práce - Simulačná platforma na generovanie CTF úloh zameraných na zraniteľnosti webových aplikácií
Nainštalujte si kontajnerizačný nástroj Docker. V prípade nedostatku technických zdrojov na používanie samotného Docker nástroja je možné využiť pamäťovo šetrnejšiu alternatívu Rancher.
V prípade použitia nástroja Rancher je po inštalácií nutné vykonať niekoľko krokov:
- Otvorte program Rancher až kým sa zobrazí hlavná stránka aplikácie
- V pravom hornom rohu kliknite na symbol nastavení
- V sekcii „Container Engine” je potrebné zvoliť možnosť dockerd moby.
- Po uložení nastavení je Rancher pripravený na riadenie Docker kontajnerov
Environment variables sa z bezpečnostných dôvodov neukladajú v repozitári. V projekte je potrebné nastaviť nasledovné premenné:
- Do priečinka frontend je potrebné vložiť .env súbor, v ktorom bude definovaná premenná:
VITE_API_HOST=http://localhost:2000/ kde port je potrebné nastaviť podľa hlavného docker-compose.yaml a teda podľa portu služby backend-api
- Rovnaké .env súbory je potrebné pridať aj do frontend priečinkou jednotlivých simulátorov. Avšak sa tam vkladá rovnaká premenná s iným portom a to:
VITE_API_HOST=http://localhost:2001/
- V poslednom kroku je potrebné v hlavnom backend/api/main.py súbore prepísať definovanú environment variable os.environ["USER_PROJECT_PATH"] a nastaviť jej hodnotu na aktuálnu cestu projektu v spúšťanom počítači.
V hlavnom priečinku aplikácie sa nachádza súbor docker-compose.yaml. Pre spustenie vykonajte:
- Hlavný priečinok aplikácie otvorte v konzole/termináli
- Zadajte príkaz na spustenie docker compose up -d
- Počkajte kým sa jednotlivé služby vytvoria a naštartujú.
- Po naštartovaní si otvorte vo webovom prehliadači lokálnu adresu localhost:3000
- V prípade, že všetko zbehlo v poriadku, otvorí sa hlavná časť aplikácie kde je treba zadať používateľské ID. V tomto momente riadi aplikácia ostatné služby automaticky. ! Pri prvom skladaní docker images môže dojsť k zlyhaniu budovania (Načítavací loader sa prestane točiť). V tomto prípade je potrebné spustiť program ešte raz a zapnúť simulátor rovnakým spôsobom znova ! Na riešení tohto problému sa aktuálne pracuje
- Po spustení služieb sa zobrazí tlačidlo "Continue", pričom kliknutím na tlačidlo sa otvorí simulátor v novej karte. (Inicializácia trvá pár sekúnd, v prípade že sa stránka nenačíta hneď, je potrebný refresh stránky)
- Na ukončenie simulátora slúži tlačidlo "Stop simulátor"na stránke hlavného programu. (Vypnutie a vymazanie aktívných kontajnerov simulátora môže tiež chvílu trvať)
Pozn.: Pre otestovanie oboch simulátorov, sa dajú použiť nasledujúce príklady identifikátorov:
• 115116 vyberie SQL Simulátor
• 111111 vyberie XSS Simulátor
Aplikácia je vo vývojovom štádiu. Program aj Docker konfigurácia jednotlivých častí je navrhnutá univerzálne a mala by fungovať rovnako na všetkých bežných operačných systémoch. Testovanie systému a jeho spustenie sme však vykonávali na operačnom systéme OS X. V prípade spúšťania programu na operačnom systéme Windows môžu byť vyžadované špecifické nastavenia systému na spustenie kontajnerov a použitie nástroja Docker, ktoré sme nevedeli predvídať.