Jak bezpečné jsou virtualizační kontejnery?

5. 3. 2017

Sdílet

 Autor: Fotolia © pixeltrap
Jak organizace začínají používat virtualizační kontejnery pro zlepšení dodávek a agility aplikací, zabezpečení této přicházející technologie logicky získává mnohem více pozornosti.

Dodavatelé kontejnerových řešení – Docker, Red Hat a další – se intenzivně snaží uklidnit a přesvědčit trh o bezpečnosti kontejnerů. V srpnu loňského roku představil Docker funkci Docker Content Trust jako součást vydání verze Docker 1.8.

Využívá šifrování k zabezpečení kódu a verzí softwaru běžících v softwarových infrastrukturách uživatelů Dockeru. Záměrem je chránit uživatele Dockeru před nebezpečnými zadními vrátky obsaženými v bitových kopiích sdílených aplikací a dalšími potenciálními bezpečnostními hrozbami.

Docker Content Trust se zaměřuje na integritu dodaného obsahu kontejnerů Docker. V konečném důsledku jde o kryptografické podepisování nasazovaných bitových kopií Dockeru, tedy o přístup využívaný také při vývoji linuxového jádra a mnoha vývojáři a OEM výrobci vestavěných systémů, aby se zajistilo, že může dojít ke spuštění jen podepsaných bitových kopií (například v kódu Samsung Knox na platformě Android).

To je však jen jeden aspekt bezpečnosti kontejnerů. Existuje také výzva, jak zajistit, že je kód tvořící celou bitovou kopii bez zranitelností. Pokud organizace neudržují sady softwaru a portfolio aplikací tak, aby neobsahovaly známé zneužitelné verze kódu open source, jsou taková opatření jen částečným řešením.

Bez hygieny open source totiž tyto nástroje zajistí jen to, že bitové kopie Dockeru obsahují přesně stejné bity, jaké tam původně vložili vývojáři, včetně všech zranitelností přítomných v open source komponentách.

 

Holističtější přístup

Je potřeba, aby k výběru technologií open source docházelo informovaným způsobem. Uživatelé i integrátoři open source kódu by měli být opatrní a měli by se starat o průběžnou údržbu kódu. Je nutné znát svůj kód, protože nelze spravovat něco, co nevidíte.

Přehled o kódu uvnitř kontejnerů je kritickým prvkem bezpečnosti kontejnerů, dokonce hned vedle bezpečnosti samotných kontejnerů. Neustále totiž dochází k objevování nových zranitelností, které ovlivňují starší verze komponent open source.

Z tohoto důvodu je informovanost o nepřítomnosti zranitelností v době úvodního sestavení a nasazení nutná, ale zdaleka nestačí.

Zabezpečení obsahu kontejnerů je srovnatelné s libovolnou jinou záležitostí zabezpečení sady softwaru. Trik ale spočívá v tom, kdy a jak získat viditelnost uvnitř kontejneru během vývoje a po nasazení.

Bezpečnostní riziko, které představuje kontejner, závisí na citlivosti dat dostupných přes něj a na místě jeho nasazení, například za firewallem nebo v místě dostupném z internetu.

Weby dostupné z internetu a cloudové aplikace jsou primárními terči zločinců a samozřejmě představují nejvyšší potenciální expozici. Veřejně dostupný útočný prostor z nich dělá cíl řady útoků včetně skriptování mezi weby (XSS), metody injektáže SQL (SQL injection) a útoku DoS (odepření služby).

Vzhledem k rozšířenosti prostředí open source a dalších komponent cloudových a webových aplikací přitom dochází k významnému přínosu open source hygieny pro řešení zranitelností těchto komponent.

 

Nutná hygiena open source

S nárůstem používání softwaru open source v celém podniku a se současnými ostře sledovanými zranitelnostmi vyvolávajícími alarmy se stala hygiena open source nezbytnou součástí efektivní strategie zabezpečení aplikací.

Stejně jako tělesná hygiena zahrnuje neutralizaci zdrojů infekce, také hygiena open source s sebou nese nutnost udržovat sady softwaru a portfolio aplikací bez známých zneužitelných verzí kódu open source. Je to pro kontejnery stejně důležité jako pro každý jiný prvek softwarových sad.

Zranitelnosti se ve všech typech softwaru nevyhnutelně objevují a open source není výjimkou. Detekce a sanace zranitelností je v open source, jako v případě vysoce závažných zranitelností typu Heartbleed a Freak, se stále více považuje za nezbytnou podmínku bezpečnosti a klíčovou součást silné strategie zabezpečení aplikací.

Pro mnoho organizací je dnes zabezpečení aplikací svázané více než dříve se zabezpečením kontejnerů.  Dobrou zprávou ale je, že pro firmy vyvíjející komplexní bezpečnostní strategie open source jsou dnes k dispozici inovativní nástroje pro získání určitého náskoku.

Tyto nástroje dokážou katalogizovat veškerý kód open source v portfoliích softwaru z celých platforem, jako jsou Linux, Android a Hadoop, jednotlivých komponent kódu a dále detailně až na úroveň částí kódu vložených do interně vyvíjeného kódu aplikací.

Tyto skenovací nástroje použité na vyžádání nebo integrované do pracovních postupů vývoje softwaru poskytují firmám důležité informace, na základě kterých je možné reagovat, aniž dojde ke zpomalení vývoje nebo prodloužení doby uvedení na trh.

Je velmi důležité vyvinout robustní postupy pro zjištění následujících skutečností:

  • Jaký přesně open source software je součástí aplikace nebo jejího nasazení?
  • Kde se tento open source software nachází ve stromech sestavení a architekturách systémů?
  • Má kód nějaké známé zranitelnosti zabezpečení?
  • Vytvoření přesného profilu rizik open source.

 

Zpomalí se přijímání kontejnerů?

Velké podniky dnes kontejnery implementují pro jejich prokázané výhody: vylepšenou škálovatelnost aplikací, méně chyb nasazení, kratší dobu uvedení na trh a zjednodušenou správu aplikací.

Stejně jako organizace během let změnily svůj pohled na open source a už ho nevnímají jako kuriozitu, ale jako podnikatelskou nezbytnost, vypadá to, že kontejnery dosáhly podobného bodu zvratu.

A stejně jako tomu bylo u open source...

 

bitcoin_skoleni

Tento příspěvek vyšel v Security Worldu 2/2016. Oproti této variantě je obsáhlejší a obsahuje řadu dalších rad, které můžete využít u sebe ve firmě.

Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.