Daná situace je logickým důsledkem skutečnosti, kdy na rozdíl od repozitářů distribucí neprocházejí obrazy Dockeru prověřením na obsah. Otázkou je, proč nějaký nástroj jako Prevasio nemá sám Docker, snižují tím bezpečnost vlastního řešení a tím jeho použitelnost.
Nástroj od Prevasia je pěkný, ale chybí mi tam opačný postup k vyhledávání nalezených zranitelností - zadání obrazu (třeba URL na Dockerhub), kdy by mi to vypsalo „v pořádku/škodlivé/netestováno“. Úplně by ze začátku stačilo ověření oficiálních obrazů.
Daná situace je především logickým důsledkem skutečnosti, že se stále většina obrazů vytváří z distribucí, místo aby to byly nahé obrazy (jen aplikace a potřebné knihovny). Logicky je pak v obrazu spousta knihoven a programů, které se sice reálně nepoužívají (a většinou je, doufejme, případný útočník ani nemůže zneužít), ale v tom obrazu prostě zabírají místo a straší tam bezpečáky.
To jsem takhle jednou řešil jeden zapeklitý problém s Dockerem, tedy spíš s docker-compose a orchestrací služeb na localhostu. Takové ty chvíle, kdy člověk navštíví 10+ stránku google výsledků. Problém jsem vyřešil a taky jsem si z toho odnesl. že populární one-man dev blogy jsou zaplaveny návody alá vemte kontejner full distra, instalujte apt apache, mysql, maven támhle to a tam a máte dev kontejner. Tu a tam dokonce občas se stejnými překlepy nebo výroky. Výsledný kontejner 180 - 300MB a více.
4. 12. 2020, 10:40 editováno autorem komentáře
to je pravda, už jen ten šlendriát s "verified" obrazy, kdy vlastně si tam stejně mohu dát jakýkoliv blob z repa nebo podělit jakýkoliv jiný docker image, kde je cokoliv a pořád jsem "verified". Na dockeru je sice vidět Dockerfile, ale již tam nejsou vidět další externí soubory.
Dělal jsem při jedné přednášce ukázku, kdy jsem do Dockerfilu stahovat soubor přes http z vlastního serveru a pro docker build servery jsem vracel jiný obsah než pro uživatele, navenek to vypadá legitimně a prošlo to všemi kontrolami.
Ona i taková maličkost, kdy se přenášené docker image při pullování nijak nekontroluji a je možné je přes MitM modifikovat, podpisy jsou až v enterprise.