4SA313 cvičení Ing. Pavlíčka

Letní semestr 2023/24

druh úkolu počet bodů poznámka
semestrální úloha 30 Více kontrolních bodů, obhajoba nejpozději do konce zkouškového období.
průběžné testy 40 7 testů a 2 domácí úkoly
závěrečná zkouška 30

Budou též nadstandardní úkoly, za jejichž splnění získají studenti body navíc.

týden téma
1. 17. únoraHesla
2. 24. únoraSSH
3. 3. březnaUnix - základní příkazy, adresářová struktura
4. 10. březnaUnix - procesy
5. 17. březnaCertifikáty, certifikát pro server
6. 24. březnaProtokol TLS, konfigurace Apache
7. 31. březnakonfigurace Apache
8. 7. dubnainovační týden
9. 14. dubnaLDAP
10. 21. dubnavelikonoce
11. 28. dubnaZabezpečení HTTPS, útoky na weby
12. 5. květnaOpenPGP - podepisování, šifrování, správa klíčů
13. 12. květnaOsobní certifikáty - podepisování, šifrování
termín zadání testu body komentář
24. 2.; 11:00 až 11:20 test hesla 5 na začátku cvičení
3. 3.; 16:00 až 22:00 test na SSH - tunel 3 mimo cvičení, test v InSIS
10. 3.; 16:00 až 22:00 test na SSH - bastion 2 mimo cvičení, test v InSIS
17. 3.; 16:00 až 22:00 test na práva 5 mimo cvičení, test v InSIS
24. 3.; 16:00 až 22:00 test certifikáty 5 mimo cvičení, test v InSIS
do 31. 3. 12:30 viz sem. úloha - zvolit aplikaci pro semestrální úlohu
31. 3.; 16:00 až 22:00 test TLS 5 mimo cvičení, test v InSIS
do 14. 4. 23:59 přihlášení do VPN 3 domácí úkol
do 5. 5. 12:30 viz sem. úloha - instalace aplikace na server (semestrální úloha)
do 12. 5. 12:30 viz sem. úloha - protokol o auditu (semestrální úloha)
12. 5.; 16:00 až 22:00 test PGP podepisování, klíče 5 mimo cvičení, test v InSIS
do 12. 5. 23:59 security.txt 2 domácí úkol
do 19. 5. 23:59 podepisování dokumentů a el. pošty 5 domácí úkol

Termíny z přednášek

Ještě si dovolím připomenout dva termíny z přednášek

termín zadání testu body komentář
10. března; do 23:59 zakázat přihlašování heslem -2
14. dubna; do 23:59 identifikační prostředky na NIA 2

Doporučený postup:

  1. vytvořte samostatný DocumentRoot pro adm-bisxxx.vse.cz, např. mkdir /var/www/adm-bis081
  2. do tohoto adresáře umístěte ukázkový index.html (např. informací, že se jedná o adm-bis081.vse.cz)
  3. do tohoto adresáře přesuňte adresář s aplikací adminer (mv /var/www/html/adminer /var/www/adm-bis081)
  4. požádejte o certifikát pro doménové jméno adm-bisxxx.vse.cz, tj. příkaz certbot --domains adm-bis081.vse.cz, neupravujte konfigurační soubory,
  5. v /etc/apache2/sites-available zkopírujte 000-default-le-ssl.conf do adm-bisxxx.conf (cp 000-default-le-ssl.conf adm-bis081.conf),
  6. v tomto novém konfiguračním souboru je potřeba změnit ServerName a cesty k certifikátům a i další (např. adresář pro adminer),
  7. v původním 000-default-le-ssl.conf je potřeba zrušit adminer a LAM (a případně i sks)
  8. v 000-default.conf je potřeba nastavit přesměrování na HTTPS pro adm-bisxxx.vse.cz; buď použijete regulární výraz nebo dvakrát RewriteCond s operátorem OR; popis viz https://www.jakpsatweb.cz/server/mod-rewrite.html; na bis.vse.cz je obecnější zápis, kdy nemusím při doplnění jména upravovat 000-default.conf
  9. nastavit použití nové site - a2ensite adm-bis081.conf
  10. a nyní již zkontrolovat úpravy (apachectl configtest), restartovat apache (systemctl restart apache2) a otestovat

Doporučuji následující postup pro vytváření hlavičky Content-Security-Policy:

  • nejdříve potřebujete mít nainstalovaný LDAP server a dokonfigurovat aplikaci,
  • přečtěte si základní informace o hlavičce Content-Security-Policy, např. Content Security Policy (CSP) od Mozilla či článek Bezpečnější web s hlavičkou Content-Security-Policy
  • CSP definuje mnoho pravidel, některé jsou bezpečné (např. upgrade-insecure-requests), některé nahrazují starší direktivy (frame-ancestors),
  • hlavním cílem je ochrana proti Cross-Site Scripting (XSS) - tato pravidla je potřeba odladit. Nejvhodnější je nastavit doporučený bezpečný standard a poté zkoušet, zda něco nepřestalo fungovat. Doporučuji v prohlížeči spustit Nástroje pro vývojáře v nich si zobrazit konzoli (console).
  • některé aplikace generují CSP hlavičku sami, není vhodné je přepisovat (apache, u Header se podívejte na parametr setifempty). Nepřepisujte CSP pravidla pro aplikace jako adminer či LAM,

Zde jsou návrhy rozšiřujících úloh k semestrální práci. Některé návrhy se mohou vzájemně vylučovat, některé návrhy lze realizovat pouze u některých aplikací.

popis rozšíření počet bodů
ModSecurity - web application firewall. Nainstalovat a nakonfigurovat (návod pro Debian, návod v češtině). Ukázat v logách nějaké zachycené útoky (SQL Injection, XSS, …) 3
Fail2ban - aplikace v logách hledá útočníky a poté je může blokovat (návod). 1 bod při instalaci a upozorňování na e-mail, 3 body při blokování přes nftables. Alternativou je nainstalovat aplikaci Crowdsec. Poznámky k instalaci. 1-3
SSH server bude používat dvoufaktorovou autentizaci - použít Time-based One-time Password Algorithm (TOTP), též se používá označní Google Authenticator. Tj. uživatel se přihlásí klíčem a jednorázovým kódem. Pokud dodatečné údaje pro TOTP nemá nastaveny, tak se nepřihlásí. Ze serveru bis.vse.cz (popř. z celé školní sítě) by mělo být možné se přihlásit bez dvoufaktorové autentizace, tj. pouze klíčem. 2
SSH přihlášení uživatele pomocí OpenSSH certifikátu - viz https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Certificate-based_Authentication. Nelze současně s předchozím úkolem (SSH a 2FA). V PuTTY podpora od verze 0.78. 2
SSH přihlášení pomocí privátního klíče umístěného na FIDO2 či čipové kartě/tokenu. Potřebujete HW úložiště privátního klíče. V případě PuTTY se podívejte na https://github.com/NoMoreFood/putty-cac. Pravděpodobně nejde rozumně kombinovat s předchozími úkoly (SSH a 2FA, SSH a certifikáty). Ze tří zadání na SSH si vyberte jen jedno. 2
Přihlášení do aplikace pomocí dvoufaktorové autentizace (TOTP). Část aplikací dvoufaktorovou autentizaci nepodporuje. V případě WordPressu je to součást zadání. 1-3

Různé služby pro testování webů/serverů/domén:

https://webbkoll.dataskydd.net/en/

https://observatory.mozilla.org/

https://internet.nl

https://cryptcheck.fr/

https://www.hardenize.com/

AbuseIPDB is an IP address blacklist for webmasters and sysadmins to report IP addresses engaging in abusive behavior on their networks:

AbuseIPDB Contributor Badge

  • Poslední úprava: 2025/03/31 07:32
  • autor: pavlicek