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řeznaOpenPGP - podepisování, šifrování, správa klíčů
8. 7. dubnainovační týden
9. 14. dubnaLDAP
10. 21. dubnavelikonoce
11. 28. dubnaZabezpečení HTTPS, útoky na weby
12. 5. květnaOsobní certifikáty - podepisování, šifrování
13. 12. květnarezerva
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 14. 4. 23:59 security.txt 2 domácí úkol
14. 4.; 16:00 až 22:00 test PGP podepisování, klíče 5 mimo cvičení, test v InSIS
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)
do 12. 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/02/16 12:16
  • autor: pavlicek