Jsou využity technologie standardizované organizacemi jako např. W3C, Ecma International, IEEE atp., které podporují přístupnost a kompatibilitu s různými výstupními zařízeními, tedy typicky validní HTML, CSS, JavaScript atd. HTTP metody jsou používány korektně s ohledem na jejich idempotence / safety. Web se zobrazuje korektně i se zapnutými nejběžnějšími adblockery.
Řešení plnohodnotně podporuje Referenční platformy, které jsou:
- prohlížeče Google Chrome a Safari v posledních dvou hlavních verzích, nainstalované na počítači s operačním systémem macOS verze 10.13 a vyšší
- prohlížeče Microsoft Edge, Google Chrome a Mozilla Firefox v posledních dvou hlavních verzích, nainstalované na počítači s operačním systémem Microsoft Windows verze 10 a vyšší
- prohlížeč Safari, instalovaný na mobilním zařízení s operačním systémem Apple iOS v předposlední hlavní verzi a novější
- prohlížeč Google Chrome v posledních dvou hlavních verzích, instalovaný na mobilním zařízení s operačním systémem Android a Apple iOS.
Všechny zdroje vkládané z jiných serverů, včetně iframes, jsou vloženy výhradně za použití protokolu HTTPS. Je použit protokol HTTP/2 na přístup ke všem zdrojům
Zakázané technologie
Není používána klientská technologie Adobe Flash, Microsoft Silverlight, Oracle Java ani podobná, vyžadující binární pluginy v prohlížeči uživatele.
Chybové stránky
Požadavek na neexistující obsah vrací stavový kód HTTP 404. Chyba backend serveru vrací stavový kód HTTP 50x, údržba stavový kód HTTP 503 a při aplikaci rate limitingu je klientovi vrácen stavový kód HTTP 429. Existují lokalizované error pages (400, 401, 403, 404, 503 /maintenance/, ostatní 4xx, 5xx); všechny tyto stránky jsou “custom”, jejich obsah se liší od standardních výchozích stránek webserveru.
Naše řešení netrpí zranitelnostmi podle OWASP Top 10 (např. XXE, XSS, SQLi), které je možno detekovat běžnými automatizovanými nástroji. Nejsou veřejně přístupné interní a vývojové soubory a adresáře jako např. .git repozitář, konfigurační soubory pro vývoj, sestavení nebo provoz atp. Jako zdroj aktuálních best practices je považován https://cheatsheetseries.owasp.org Neexistují společné přístupové účty, každý pracovník Zhotovitele má samostatný přístup vedený na jeho jméno.
Práce s hesly (požadavky na složitost, autentizace) respektuje požadavky NIST Special Publication 800-63B. Externí odkazy otevírané v novém okně či záložce prohlížeče obsahují rel=”noopener”. Externí zdroje se nenačítají z protocol-relative URL.
WEB / HTTP
- Všechny HTTPS URL obsahují Strict Transport Security hlavičku
- Všechny cookie mají nastavený příznak Secure
- Session cookie mají nastavené příznaky HttpOnly a SameSite
- Významné akce obsahují CSRF tokeny
- Používají se bezpečnostní hlavičky X-Frame-Options, X-Content-Type-Options
- Referrer-Policy a Feature-Policy
SSL / TLS
Stránky při přístupu přes protokol HTTP korektně (tj. se zachováním FQDN) přesměrovávají na stejné URL s protokolem HTTPS. Obsah a funkce jsou dostupné pouze pomocí protokolu HTTPS, přístup pomocí HTTP protokolu je umožněn pouze pro přesměrování na zabezpečenou variantu přísl. zdroje. Je použit serverový certifikát schválený objednatelem. Jeho nasazování je automatizováno a platnost automaticky monitorována. Není použit certifikát s platností delší než 12 měsíců, klíč certifikátu se rotuje minimálně jednou ročně. Není použit Public Key Pinning.
Osobní údaje
V URL není nikdy osobní údaj. Na stránkách obsahujících osobní údaje je minimalizováno použití JavaScriptu načítaného od třetích stran. V těchto případech je vždy použito SRI (Subresource Integrity) pokud je podporované vendorem příslušného JS.