Obsah

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

Zimní semestr 2023/24

Přidělení bodů

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.

Obsah cvičení, průběžné testy

Plán cvičení

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íny testů

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

Aplikace adminer a ldap-account-manager

Admin aplikace přes adm-bisxxx.vse.cz

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

Content-Security-Policy

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

Nadstandardní úkoly pro semestrální práci

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