Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze | Poslední revizeObě strany příští revize | ||
znalostni_baze:otevreny_zdrojovy_kod [2022/05/06 09:51] – vytvořeno Tomáš Šedivec | znalostni_baze:otevreny_zdrojovy_kod [2022/05/06 10:04] – Tomáš Šedivec | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Otevřený zdrojový kód ====== | ====== Otevřený zdrojový kód ====== | ||
+ | Otevřeným zdrojovým kódem eGovernmentu se rozumí zdrojový kód komponenty informačního systému určený pro další využití jiným orgánem veřejné správy, zkoumání kódu, rozhraní, algoritmů a postupů odbornou veřejností, | ||
===== Doporučení NÚKIB a MVČR ===== | ===== Doporučení NÚKIB a MVČR ===== | ||
Řádek 17: | Řádek 18: | ||
^Katgorie^Opatření^Popis^ | ^Katgorie^Opatření^Popis^ | ||
- | |Organizační opatření | + | |Organizační opatření | | |
- | ||Zdrojový kód je zveřejněn co nejdříve || | + | |::: |Zdrojový kód je zveřejněn co nejdříve | | |
- | ||Součástí repozitáře je soubor SECURITY || | + | |::: |Součástí repozitáře je soubor SECURITY |
- | ||Je určena osoba zodpovědná za nahlášené zranitelnosti || | + | |::: |Je určena osoba zodpovědná za nahlášené zranitelnosti | | |
- | ||Nahlášené zranitelnosti jsou opraveny do 90 dnů || | + | |::: |Nahlášené zranitelnosti jsou opraveny do 90 dnů | | |
- | ||Všechny opravené zranitelnosti jsou uvedeny v souboru se změnami || | + | |::: |Všechny opravené zranitelnosti jsou uvedeny v souboru se změnami | | |
- | ||Účty vývojářů při autentizaci používají vícefaktorovou autentizaci || | + | |::: |Účty vývojářů při autentizaci používají vícefaktorovou autentizaci | | |
- | ||Účty vývojářů jsou svázány s pracovní e-mailovou adresou || | + | |::: |Účty vývojářů jsou svázány s pracovní e-mailovou adresou | | |
- | ||Dokumentace je součástí repozitáře || | + | |::: |Dokumentace je součástí repozitáře | | |
- | ||Pro knihovny: Zranitelné verze knihoven jsou označeny || | + | |::: |Pro knihovny: Zranitelné verze knihoven jsou označeny | | |
- | ||Neudržované aplikace a knihovny jsou označeny || | + | |::: |Neudržované aplikace a knihovny jsou označeny | | |
- | ||Pro aplikace: Výchozí konfigurace je restriktivní || | + | |::: |Pro aplikace: Výchozí konfigurace je restriktivní | | |
- | |Správa a tvorba kódu |Zdrojový kód je verzován (VCS) a zveřejněn v otevřeném repozitáři || | + | |Správa a tvorba kódu |Zdrojový kód je verzován (VCS) a zveřejněn v otevřeném repozitáři | | |
- | ||Pro vývoj se používají oddělené větve, které se následně slučují do hlavní vývojové větve || | + | |::: |Pro vývoj se používají oddělené větve, které se následně slučují do hlavní vývojové větve | | |
- | ||Je prováděna kontrola změn kódu || | + | |::: |Je prováděna kontrola změn kódu | | |
- | ||Repozitář neobsahuje binární spustitelné soubory nebo kompilované kódy || | + | |::: |Repozitář neobsahuje binární spustitelné soubory nebo kompilované kódy | | |
- | ||U dynamicky typovaných jazyků je využíváno striktní typování || | + | |::: |U dynamicky typovaných jazyků je využíváno striktní typování | | |
- | |Použité knihovny |Aplikace a knihovny využívají udržované závislosti || | + | |Použité knihovny |Aplikace a knihovny využívají udržované závislosti | | |
- | ||Preferovány jsou knihovny s bezpečným API || | + | |::: |Preferovány jsou knihovny s bezpečným API | | |
- | ||Preferovány jsou knihovny, jejichž autoři „dbají na bezpečnost” || | + | |::: |Preferovány jsou knihovny, jejichž autoři „dbají na bezpečnost” | | |
- | ||Pro aplikace: Aplikace při definování závislostí používají „lock file” || | + | |::: |Pro aplikace: Aplikace při definování závislostí používají „lock file” | | |
- | ||Závislosti jsou stahovány z důvěryhodných úložišť || | + | |::: |Závislosti jsou stahovány z důvěryhodných úložišť | | |
- | |Kontinuální integrace |Pro aplikace: Jsou kontrolovány verze použitých závislostí || | + | |Kontinuální integrace |Pro aplikace: Jsou kontrolovány verze použitých závislostí | | |
- | ||Nalezené zranitelnosti jsou testovány v rámci CI || | + | |::: |Nalezené zranitelnosti jsou testovány v rámci CI | | |
- | ||Pro aplikace: Sestavení aplikace je plně automatizované || | + | |::: |Pro aplikace: Sestavení aplikace je plně automatizované | | |
- | ||Je definován a vynucován standard pro zdrojový kód || | + | |::: |Je definován a vynucován standard pro zdrojový kód | | |
- | ||Jsou prováděny jednotkové nebo integrační testy v oblastech s vlivem na bezpečnost || | + | |::: |Jsou prováděny jednotkové nebo integrační testy v oblastech s vlivem na bezpečnost | | |
- | ||Jsou prováděny automatizované bezpečnostní testy || | + | |::: |Jsou prováděny automatizované bezpečnostní testy | | |
- | ||Je prováděna kontrola tajných identifikátorů ve zdrojovém kódu || | + | |::: |Je prováděna kontrola tajných identifikátorů ve zdrojovém kódu | | |
- | |||| | + | |::: |Pro aplikace: Vydané verze jsou podepsány |
- | |||| | + | |Kryptografické prostředky |
- | |||| | + | |::: |Jsou využívány odolné kryptografické prostředky |
- | |||| | + | |::: |Při použití protokolu TLS je podporována alespoň verze 1.2 | | |
- | |||| | + | |::: |Je prováděno ověřování použitého certifikátu |
- | |||||||| | + | |::: |Aplikace používá systémové úložiště důvěryhodných certifikátů |
+ | |::: |Porovnání hašů uložených hesel je odolné na časovou analýzu | ||
+ | |::: |Ke generování náhodných tokenů jsou použity kryptograficky bezpečné pseudonáhodné generátory | | | ||
+ | |::: |Tajné identifikátory jsou odstraňovány z paměti | | | ||
+ | |Záznamy o událostech |Pro knihovny: Knihovny využívají standardní rozhraní pro logování | | | ||
+ | |::: |Pro aplikace: Aplikace umožňuje logování důležitých akcí | | | ||
+ | |::: |Pro aplikace: Aplikace podporuje napojení na centrální log management | | | ||
+ | |::: |Nejsou zaznamenávány tajné identifikátory | | | ||
+ | |::: |Výjimky jsou řízeny | | | ||
+ | |Relační databáze |Jsou využívány primární klíče | | | ||
+ | |::: |Jsou používány cizí klíče při vazbě na číselníkové hodnoty anebo na jiné entity | | | ||
+ | |::: |V rámci databáze jsou kontrolovány hodnoty parametrů („constraints”) | | | ||
+ | |::: |Pokud databázový sloupec předpokládá unikátní hodnotu, je využit unikátní index | | | ||
+ | |::: |Při vkládání dat jsou využívány transakce | | | ||
+ | |::: |Databázové schéma je komentováno | | | ||
+ | |||
+ | {{tag> |