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

Zimní 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. 16. záříHesla
2. 23. záříSSH
3. 30. záříUnix - základní příkazy, adresářová struktura
4. 7. říjnaUnix - procesy
5. 14. říjnaCertifikáty, certifikát pro server
6. 21. říjnaOsobní certifikáty - podepisování, šifrování
7. 28. říjnastátní svátek
8. 4. listopaduinovační týden
9. 11. listopaduProtokol TLS, konfigurace Apache
10. 18. listopaduLDAP
11. 25. listopaduZabezpečení HTTPS, útoky na weby
12. 2. prosinceOpenPGP - podepisování, šifrování, správa klíčů
13. 9. prosincerezerva
termín zadání testu body komentář
23. 9.; 12:45 až 13:00 test hesla 5 na začátku cvičení
30. 9.; 16:00 až 22:00 test na SSH - tunel 3 mimo cvičení, test v InSIS
7. 10.; 16:00 až 22:00 test na SSH - bastion 2 mimo cvičení, test v InSIS
14. 10.; 16:00 až 22:00 test na práva 5 mimo cvičení, test v InSIS
21. 10.; 16:00 až 22:00 test certifikáty 5 mimo cvičení, test v InSIS
do 11. 11. 14:30 viz sem. úloha - zvolit aplikaci pro semestrální úlohu
do 11. 11. 23:59 podepisování dokumentů a el. pošty 5 domácí úkol
do 11. 11. 23:59 přihlášení do VPN 2 domácí úkol
18. 11.; 16:00 až 22:00 test TLS 5 mimo cvičení, test v InSIS
do 2. 12. 16:00 viz sem. úloha - instalace aplikace na server (semestrální úloha)
do 9. 12. 16:00 viz sem. úloha - protokol o auditu (semestrální úloha)
9. 12.; 16:00 až 22:00 test PGP podepisování, klíče 5 mimo cvičení, test v InSIS
do 16. 12. 23:59 security.txt 3 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ář
7. října; do 23:59 zakázat přihlašování heslem -2
11. listopadu; 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. 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: 2024/11/07 09:27
  • autor: pavlicek