upb-zadanie-7

Zadanie 7: TLS (HTTPS) komunikácia s web serverom

Cieľom tohto zadania je vytvorenie bezpečnej komunikácie medzi užívateľom (browserom) a serverom a testovanie možností zneužitia nezabezpečeného, alebo nedostatočne zabezpečeného spojenia.

Úlohy zadania:

  1. Vytvorte vlastný server a nainštalujte web server (apache, ngnix atd.)
  2. Vytvorte jednoduchú web aplikáciu na testovacie účely (jednoduchú stránku, popr. Formulár na prihlasovanie ) – 0.5b
  3. Nakonfigurujte web server aby počúval cez http protokol na štandardnom porte. – 0.5b
  4. Pomocou nástroja na sniffovanie komunikácie overte možnosť sledovania komunikácie medzi browserom a vašim serverom. Zistenia popíšte a zdôvodnite vo vašej dokumentácii k zadaniu. – 1b
  5. Nakonfigurujte web server na komunikáciu pomocou https protokolu. Pri konfigurácii sa riaďte odporúčaniami pre vytvorenie správnych bezpečnostných nastavení (odporúčané verzie TLS, odporúčané veľkosti kľúčov a použitie šifrovacích algoritmov, atď) – 2b
  6. Vykonajte základne testovanie bezpečnosti https konfigurácie a odhalené nedostatky odstránte) – 1 bod
  7. Na základe vlastného štúdia a poznatkov z prednášky skúste nájsť zraniteľnosti pre nejaké chybné konfigurácie HTTPS nastavení. Pre danú zraniteľnosť demonštrujte možný útok.

(daná 7 podúloha je bonusová na zaklade kvality riešenia sa pridelí počet bodov max 3b)

Pre správnu konfiguráciu https je potrebne registrovat domenu. Pre zjednodusenie odporucame pouzit sluzbuako  http://xip.io/ , alebo nip.io.   popr. (sslip.io).

Viac info o tychto sluzbach najdete na https://moss.sh/free-wildcard-dns-services/.  Potom je mozne vytvorit si vlastny certifikat poziadanim certifikacnej autority ktora poskytuje free certifikaty napr. https://letsencrypt.org/  (viac služieb najdete na https://sourceforge.net/software/product/Lets-Encrypt/alternatives).  Na overenie spravnej konfiguracie vašho https spojenia využite službu ako https://www.ssllabs.com/ssltest/   kde viete skontrolovať aj bezpečnostne nastavenia (alebo ine nástroje pre overenie bezpečnosti nastavenia ssl certifikatu napr. https://www.venafi.com/education-center/ssl/how-to-check-ssl-certificate, https://geekflare.com/ssl-test-certificate/ ) .
V pripade, že sa vám nepodari ziskat verejný certifikát, možete využiť self-signed certificate.

Zadanie sa bude hodnotiť hlavne podľa odovzdanej správy (obsahové aj formálne spracovanie), preto by mala mať vhodnú formu a mala by obsahovať všetky podstatné informácie potrebné k ohodnoteniu  časti zadania.

Správu je nutné odovzdať vo formáte .pdf . Spolu so zdrojovými kódmi Vášho riešenia ju skomprimujte to jedného archívu <priezvisko_meno>.zip. Tento následne odovzdajte do AIS miesto odovzdania “zadanie 7” do terminu uzatvorenia v AIS.

ZIp súbor vkladante zároveň aj do app na hodnotenie zadania:

https://www.uvoddopocitacovejbezpecnosti.space/

Nedodržanie pokynov môže viesť k tomu, že zadanie nebude hodnotené. V prípade neodovzdania, zistení plagiatorstva, alebo neskorého odovzdania bude za zadanie pridelene 0 bodov.