Náměty k referátu
HTTP
- Protokol HTTP (příklad komunikace, metoda GET, metoda POST). Verze protokolu (0.9, 1.0, 1.1, 2.0, 3/QUIC).
- HTTP server Apache nebo jiný. Konfigurace, moduly, virtuální servery.
- Webové aplikace (CGI a daší).
- Autentizace, stavovost (basic auth, cookies, SPNEGO).
- Vyjednávání o obsahu (hlavičky
Accept*
a podobně. - Websockets.
- Proxy servery (dopředné, reverzní) - princip fungování.
PKI
- Co je PKI, certifikáty a certifikační autority.
- Důvěryhodné CA a jejich instalace do systému.
- Nástroje pro práci s certifikáty (OpenSSL).
- DANE jako alternativa PKI.
- Vytvoření self-signed certifikátu, atributy certifikátu.
- Vlastní certifikační autorita. Konfigurace, vystavení certifikátu, revokace certifikátu.
- Protokoly pro zveřejňování informace o revokacích (CRL, OCSP, OCSP stapling).
- Automatizovaná tvorba certifikátů (Let’s Encrypt CA, protokol ACME).
Úkol
PKI
Vytvořte si vlastní certifikační autoritu. Vytvořte žádost o
certifikát pro tuto certifikační autoritu a umístěte ji do souboru
/root/pki/ca.csr
na stroji alpha
. Pro žádost o
certifikát nastavte následující atributy:
- Organization unit:
PV090
- Organization name:
protoXX-ca
- Common name:
protoXX-ca
- e-mail:
ca@protoXX.pv090.fi.muni.cz
- Typ klíče: RSA, alespon 2048 bitů
- Typ podpisu: SHA256 nebo SHA512
- Adresa revokačního seznamu:
http://protoXX.pv090.fi.muni.cz/crl/revoked.crl
Erigona vám v rámci testů vygeneruje certifikát do souboru
/root/pki/ca.crt
. Do souboru
/root/pki/erigona.crt
vám umístí certifikát CA erigony jako
nadřazené certifikační autority.
Certifikační autoritu erigony umístěte do systému na potřebná místa tak, aby certifikáty vydávané touto autoritou i vaší CA byly systémem povážovány za důvěryhodné. POZOR: certifikát vaší vlastní CA do systému neumisťujte.
HTTP
Na počítači alpha
zprovoznit HTTP server, který bude
poskytovat následující dokumenty:
- Na adrese
http://protoXX.pv090.fi.muni.cz/test.html
bude podle preference klienta zobrazen tento český nebo tento anglický dokument. Server bude v HTTP hlavičkách poskytovat korektní informaci o jazyce. - Na adrese
https://protoXX.pv090.fi.muni.cz/secure/
bude při použití basic autentizace s přihlašovacím jménempv090
a heslemtest
dostupný tento dokument (bez autentizace bude server vracet Forbidden). - Server HTTPS by měl mít TLS certifikát znějící na správné jméno, podepsaný vlastní certifikační autoritou. Zároveň by server měl poskytovat řetěz certifikátů až ke kořenové CA erigony.
- Na adrese
http://protoXX-alpha.pv090.fi.muni.cz/test.html
bude tento dokument, zpřístupňěný se správnými HTTP hlavičkami ohledně jazyka a kódování. - Na adrese
http://protoXX.pv090.fi.muni.cz/kolikjehodin
bude dostupný dokument typu text/plain obsahující aktuální čas od epochy jako jedno celé číslo na jednom řádku. - URL tvaru
http://protoXX.pv090.fi.muni.cz/alpha/zbytek_url
trvale přesměrována (permanent redirect) na adresuhttp://protoXX-alpha.pv090.fi.muni.cz/zbytek_url
. - Na adrese
http://protoXX.pv090.fi.muni.cz/crl/revoked.crl
zpřístupněte seznam revokovaných certifikátů své certifikační autority. - Na adrese
https://protoXX-alpha.pv090.fi.muni.cz/test.html
zobrazte stejný obsah jako nahttp://protoXX-alpha.pv090.fi.muni.cz/test.html
s vystavením certifikátu znějícím na správné jméno, podepsaným vaší CA. Tento certifikát následně revokujte.
Hodnocení:
Základní část
- Na daném místě existuje žádost o certifikát CA.
- Žádost má korektní atributy O, OU, CN a e-mail podle zadání.
- Na adrese
http://protoXX.pv090.fi.muni.cz/
(IPv4 i IPv6) poslouchá HTTP server a odpovídá na dotazy. - Na adrese
https://protoXX.pv090.fi.muni.cz/
(IPv4 i IPv6) poslouchá HTTPS server a odpovídá na dotazy
Hodnocená část
- 2 body: žádost má správné technické parametry (typ podpisu, délku a typ klíče)
- 2 body: certifikáty CA jsou umístěny v systému na správných místech.
- 1 bod: výběr jazyka podle preferencí klienta funguje na testovacím dokumentu dle zadání.
- 1 bod: basic autentizace funguje podle zadání.
- 1 bod: HTTPS server má správný certifikát.
- 1 bod: adresa
http://protoXX-alpha.pv090.fi.muni.cz/test.html
funguje podle zadání (funkční virtuální server). - 1 bod: přesměrování je funkční podle zadání.
- 1 bod: dynamická stránka
/kolikjehodin
funguje podle zadání. - 1 bod: konfigurace CA a HTTP serverů v Ansible (nebo jiném systému pro správu konfigurace)
Bonusová část
- 1 bod: certifikát CA obsahuje korektní záznam o umístění CRL.
- 1 bod: na uvedené adrese je korektně podepsaný CRL.
- 1 bod: na adrese
https://protoXX-alpha.pv090.fi.muni.cz/
běží HTTPS server s obsahem podle zadání a revokovaným certifikátem.