2.7.

Systém je náležite zabezpečený, pokiaľ ide o známe slabé stránky a zneužitie. Na tento účel spĺňa okrem iného tieto požiadavky: 2.7.1. Systém je zabezpečený voči chybám pri vkladaní (injection flaws), ako sú požiadavky štruktúrovaného dopytovacieho jazyka SQL (Structured Query Language), požiadavky protokolu ľahkého prístupu k zoznamu LDAP (Lightweight Directory Access Protocol), požiadavky XPath (XML Path Language), príkazy operačného systému (OS) alebo argumenty programu. Na tento účel je minimálne potrebné: a) Všetky používateľské vstupy sa overujú. b) Overovanie sa vykonáva prinajmenšom prostredníctvom logiky na strane servera. c) Použitie prekladačov jasne oddeľuje nedôveryhodné údaje od príkazu alebo požiadavky. V prípade spojení SQL to znamená využitie väzobných premenných vo všetkých pripravených vyhláseniach a uložených postupoch a vyhnutie sa dynamickým požiadavkám. 2.7.2. Systém je zabezpečený voči XSS (Cross-Site Scripting). Na tento účel je minimálne potrebné: a) Všetky zadané používateľské vstupy zaslané späť prehliadaču sa overujú, pokiaľ ide o ich bezpečnosť (prostredníctvom kontroly vstupných parametrov). b) Všetky používateľské vstupy sa vrátia do povelovej úrovne pred začlenením do stránky výstupu. c) Náležité výstupné kódovanie zabezpečí, aby sa takéto vstupy v prehliadači vždy spracovali ako text. Nepoužíva sa nijaký aktívny obsah. 2.7.3. Systém má silné riadenie overenia totožnosti a relácií, na čo je minimálne potrebné: a) Prístupové kódy sú pri ukladaní vždy chránené pomocou hašovania alebo šifrovania. Riziko, že sa niekto identifikuje pomocou „pass-the-hash“, je minimalizované. b) Prístupové kódy sa nemôžu dať uhádnuť alebo prepísať v dôsledku slabých funkcií riadenia účtu [napr. vytvorenie účtu, zmena hesla, získanie zabudnutého hesla, slabé identifikátory relácie (ID)]. c) Identifikátory relácie a údaje o relácií sa nezobrazujú v jednotnom vyhľadávači zdrojov URL (Uniform Resource Locator). d) Identifikátory relácie sú odolné voči útokom fixovania relácií (session fixation). e) Časový limit identifikátorov relácie, ktorý zabezpečí odhlásenie používateľov. f) Identifikátory relácie po úspešnom prihlásení nemôžu rotovať. g) Heslá, identifikátory relácie a ďalšie prístupové kódy sa zasielajú len prostredníctvom bezpečnostnej prenosovej vrstvy TLS (Transport Layer Security). h) Administratívna časť systému je zabezpečená. Ak je zabezpečená jednofaktorovým overením totožnosti, heslo obsahuje minimálne 10 znakov, medzi ktorými je najmenej jedno písmeno, jedno číslo a jeden špeciálny znak. Prípadne sa môže použiť dvojfaktorové overenie totožnosti. V prípade, že sa používa len jednofaktorové overenie totožnosti, zahŕňa dvojstupňový mechanizmus overovania pre prístup k administratívnej časti systému cez Internet, v ktorom sa jeden faktor rozšíri o ďalšie prostriedky overenia totožnosti, ako napríklad o jednorazovú kontrolnú vetu/kód cez SMS alebo asymetricky zašifrovaný náhodný reťazec (challenge string), ktorý sa dešifruje prostredníctvom osobného kľúča organizátora/správcu, ktorý je pre systém neznámy. 2.7.4. Systém nemôže mať nezabezpečené odkazy na priame objekty. Na tento účel je minimálne potrebné: a) v prípade priamych odkazov na obmedzené zdroje aplikácia overiť, či má používateľ autorizovaný prístup k presnému požadovanému zdroju; b) ak je odkaz nepriamy, mapovanie k priamemu odkazu je obmedzené na hodnoty autorizované pre aktuálneho používateľa. 2.7.5. Systém musí byť zabezpečený proti falšovaniu oprávnených požiadaviek (cross-site request forgery flaw). 2.7.6. Je zabezpečená primeraná konfigurácia bezpečnosti, na čo je minimálne potrebné: a) Všetky komponenty softvéru sú aktuálne vrátane OS, webového servera/servera aplikácie, databázového systému (DBMS), aplikácií a všetkých kryptografických knižníc. b) Nepotrebné funkcie OS a webového servera/servera aplikácie sú vypnuté, vymazané alebo nie sú nainštalované. c) Prednastavené heslá k účtu sa zmenia alebo znefunkčnia. d) Spracovanie chýb sa nastaví tak, aby zabránilo úniku tzv. stack traces a iných príliš informatívnych chybových hlásení. e) Bezpečnostné nastavenia vo vývojových štruktúrach a knižniciach sú nakonfigurované v súlade s osvedčenými postupmi, napríklad s usmerneniami OWASP. 2.7.7. Systém zabezpečuje takéto šifrovanie údajov: a) Osobné údaje v elektronickom formáte sú šifrované pri ukladaní alebo posielaní príslušným orgánom členských štátov v súlade s článkom 8 ods. 1 nariadenia (EÚ) č. 211/2011, kľúče sa spravujú a zálohujú osobitne. b) Odolné štandardné algoritmy a odolné kľúče sa používajú v súlade s medzinárodnými normami. Zabezpečí sa riadenie kľúčov. c) Heslá sú hašované prostredníctvom odolného štandardného algoritmu a používa sa primeraný náhodný reťazec – falzifikát (salt). d) Všetky kľúče a heslá sú zabezpečené pred neoprávneným prístupom. 2.7.8. Systém obmedzuje prístup URL na základe prístupových úrovní používateľa a jeho oprávnení. Na tento účel je minimálne potrebné: a) Ak sa na zabezpečenie kontrol overenia totožnosti a oprávnenia pre prístup na stránku používajú externé bezpečnostné mechanizmy, musia byť náležite nakonfigurované pre každú stránku. b) Ak sa používa ochrana na základe úrovne kódu, musí fungovať pre každú požadovanú stránku. 2.7.9. Systém využíva dostatočnú ochranu prenosovej vrstvy (Transport Layer Protection). Na tento účel sú zavedené všetky z týchto opatrení alebo minimálne rovnako silné opatrenia: a) Systém vyžaduje najnovšiu verziu zabezpečeného hypertextového prenosového protokolu HTTPS (Hypertext Transfer Protocol Secure) na prístup k všetkým citlivým zdrojom použitím certifikátov, ktoré sú platné, neskončila im platnosť, neboli odvolané a zodpovedajú všetkým doménam, ktoré stránka používa. b) Systém označuje všetky citlivé súbory cookies ako bezpečné. c) Server nakonfiguruje poskytovateľa TLS, aby podporoval len šifrovacie algoritmy, ktoré zodpovedajú osvedčeným postupom. Používatelia sú informovaní o tom, že musia vo svojom prehliadači umožniť podporu TLS. 2.7.10. Systém poskytuje ochranu pred zrušenými presmerovaniami a prevodmi.