Nastavení webserveru a HTTPS
Certifikát pro TLS lze získat zdarma několika způsoby:
- od CESNETu přes službu TCS (jeho vydání pak musí schválit vedoucí CVT),
- od Let's Encrypt s vystavováním a sledováním od unix@fi (skripty a návod),
- od Let's Encrypt (případně i jiné bezplatné certifikační autority) čistě ve své režii.
Pokud byste chtěli poradit s jeho získáním, obraťte se na unixgznH6fj4U@fidL2_43r_R.muniVlskYtOo1.cz
.
Kromě samotného zavedení HTTPS je důležité ověřit, zda je konfigurace rozumně bezpečná. Pro otestování konfigurace lze použít například
Qualys (pouze https
) nebo
testssl.sh (bash skript nad OpenSSL).
Parametry TLS
Doporučujeme použít generátor konfigurace od Mozilly, který zohledňuje aktuální bezpečnostní doporučení.
Aplikovanou konfiguraci doporučujeme ještě otestovat například přes Qualys (viz výše). Měli byste cílit na Qualys Score A- nebo A. U skóre počínaje A je však třeba zvážit riziko, že někteří starší klienti nemusí podporovat dostatečně nové a bezpečné šifry.
HTTP Strict Transport Security – HSTS
Především pokud vytváříte nový web, doporučujeme rovnou nastavit přesměrování HTTP na HTTPS a použít HTTP hlavičku HSTS, která zabezpečí, že prohlížeč bude (po určitou dobu, kterou si toto má pamatovat) přistupovat k tomuto webu vždy jenom přes HTTPS.
V případě použití webserveru Apache by byla konfigurace následující:
<VirtualHost fqdn.fi.muni.cz:80>
...
Redirect permanent / https://fqdn.fi.muni.cz/
</VirtualHost>
<VirtualHost fqdn.fi.muni.cz:443>
...
# set lower max-age and then, over time, increase it up to max-age=15552000
Header always set Strict-Transport-Security "max-age=3600;"
</VirtualHost>
Dobu, po kterou si prohlížeč pamatuje nutnost použití HTTPS, určuje parametr max-age
. U existujících webů je kvůli případným problémům dobré začít s nízkou hodnotu a postupně ji zvyšovat, například hodina (3600), den (86400), týden (604800), měsíc (2592000) a skončit na půlroku (15552000).
Další bezpečnostní hlavičky
Kromě HSTS lze nastavit i další bezpečnostní hlavičky (například Content-Security-Policy
, X-Frame-Options
, ...).
Jejich výčet je delší a nebudeme je zde popisovat.
Pro jejich přehled a otestování nasazení však můžete použít nástroj na Security Headers.