Jak zabezpečit cloudová řešení

3. 12. 2019

Sdílet

 Autor: © Andrea Danti - Fotolia.com
Zvyšující se obliba využívání SaaS aplikací, migrace vlastních aplikací do prostředí do cloudu a zvýšená mobilita uživatelů mění způsob, jakým se musejí síťové i bezpečnostní služby poskytovat.

Budoucnost zabezpečení sítě je v ochraně cloudu, a to ve všech jeho podobách. Ve světě řízeném cloudem musí být zabezpečení sjednocené, konzistentní a dodávané z cloudu, který je chráněný stejně dobře.

Přibližně před 25 lety bylo naprosto běžné v sítích používat jako nejvyšší formu zabezpečení bezstavové access control listy (ACL). Stále se zvyšující obliba a rozšiřování internetu ale dalo vzniknout mnoha novým protokolům a aplikacím.

ACL se už nedokázaly vypořádat se vznikem nových stavových aplikací, jakými jsou například streamovací audioslužby, videoaplikace či staré dobré FTP. Reakce ze strany vývojářů na sebe nenechala dlouho čekat – vznikl firewall se stavovou inspekcí, který během krátké doby ovládl trh síťové bezpečnosti.

Asi o deset let později se ukázalo, že obrovské množství nových internetových aplikací je pro stavové firewally podobnou výzvou, jakou byl rozmach stavových aplikací pro bezstavové ACL.

Ochrana síťového provozu za pomoci budování pravidel na bázi IP adres a čísel síťových portů se ukázala jako nedostačující. Na tento stav bylo nutné reagovat a odpovědí na nedostatky stavového firewallu byl příchod tzv. firewallu nové generace (Next Generation Firewall, NGFW) založeného na aplikacích, který je dnes dominujícím produktem v oblasti síťové bezpečnosti.

Dnes jsme svědky další změny v aplikacích, která přináší další změnu v zabezpečení sítě. Tentokrát se aplikace přesouvají z podnikových datových center do cloudu – a to jak v podobě SaaS aplikací, tak přesunu infrastruktury do veřejného cloudu.

A přijetí cloudu je pro vývojáře a architekty stejně náročný úkol, jakým byl před lety příchod stavových či moderních internetových aplikací.

Cloud native firewall pro prostředí Kubernetes od společnosti Twistlock

 

Veřejný cloud/zabezpečení IaaS

Ochrana IaaS (Infrastructure-as-a-Service) se z jednoho úhlu pohledu velmi blíží ochraně tradičních datových center. Nezbytná je důkladná segmentace a řízení provozu mezi těmito segmenty za pomocí firewallů nové generace, stejně jako ochrana před hrozbami procházejícími sítí a hrozbami cílícími na servery samotné.

Prakticky všichni přední výrobci mají k dispozici virtuální verze firewallů nové generace pro většinu providerů veřejných cloudů. Není tedy náročné přenést osvědčené postupy z tradičního datového centra do prostředí cloudu.

Stejně tak se na virtuálních serverech v cloudovém prostředí používají tradiční operační systémy, které je možné chránit za pomoci systémů Advanced Endpoint Protection.

Kromě tradiční ochrany je však v případě veřejného cloudu potřeba využít další vrstvy ochrany. Primárním důvodem je skutečnost, že cloudové prostředí bývá velmi dynamické. Během sekund v něm přibývají nové zdroje, zatímco staré zanikají, a tyto změny se mohou dít napříč několika různými poskytovateli veřejných cloudů.

Je tak nutné mít naprosto přesný přehled o aktuálně používaných aktivech i o potenciálních rizicích v jejich konfiguracích, informace o podezřelém uživatelském chování, stejně jako o únicích dat, či odchylkách od požadovaných standardů.

K získání těchto informací a odstranění případných chyb a hrozeb se používají nástroje využívající API providerů veřejných cloudů. Za pomoci bezpečnostních pravidel a strojového učení tak přinášejí novou vrstvu ochrany specifickou pro příslušný veřejný cloud, který je v tuto chvíli poměrně snadno zranitelný.

 

Bezpečnostní výzvy v SaaS

Tradiční koncept ukládání dat organizace na jednom centralizovaném místě bývá dnes spíše výjimkou. Data jsou distribuovaná napříč několika lokalitami, uvnitř i vně organizace, přičemž mnoho z nich už není pod kontrolou samotného vlastníka.

Důležité je mít ovšem na paměti, že ať jsou data umístěna kdekoliv, zodpovědnost za jejich zabezpečení zůstává stále na jejich správci či vlastníkovi. Tento problém bývá nejzřetelnější u aplikací typu Software-as-a-Service (SaaS), jejichž použití je často obtížně kontrolovatelné, stejně jako jejich zabezpečení pomocí tradičních technologií.

Vzhledem k jednoduchosti nasazení a používání SaaS aplikací jejich obliba a rozšíření ovšem raketově narůstá. Zároveň však stoupají i bezpečnostní rizika.

Nejen organizací neschválené aplikace SaaS totiž mohou snadno vystavit citlivá data a šířit malware, ale i schválené a oficiální přijaté SaaS aplikace mohou zvýšit riziko exfiltrace uživatelských dat, ztráty přehledu o datových tocích, nedostatečného uplatnění korporátních politik, neautorizovaného sdílení citlivých dat, kompromitace uživatelských účtů a dalších hrozeb.

Korporátní cloudové platformy a aplikace je nutné zabezpečit technologií, která je přímo určená pro zprostředkování zabezpečeného přístupu jak k samotným aplikacím, tak ke kontrole komunikace mezi aplikacemi a interní IT infrastrukturou.

Obecně jsou tyto technologie známé jako Cloud Access Security Broker (CASB). Poskytují pokročilé funkce v oblasti zjišťování rizik, prevence ztráty dat, zajištění souladu, správy dat, sledování chování uživatelů, kontrolu zranitelností a pokročilé prevence hrozeb.

Samozřejmostí by měla být podpora všech běžně používaných korporátních cloudových služeb a platforem. Nad všemi těmito službami by se měl nasadit nástroj, který umožní jednotné nastavení bezpečnosti, které bude v souladu s korporátní politikou.

Takový nástroj by měl pokrýt minimálně tyto oblasti:

1. Hloubková analýza rizik – snadno použitelné prostředí pro zajištění viditelnosti do všech činností uživatelů, složek i souborů napříč všemi používanými SaaS aplikacemi. Zjišťování souladu s nastavenou politikou a kontrolu porušení zásad týkajících se rizik či dodržování předpisů.

2. Ochrana dat a prevence úniků – definice zásad, jejich aplikování a kontrola prosazování. Dále práce s karanténou a definice pravidel pro ochranu uživatelů a dat v případě porušení definovaných zásad. Možnost pokročilé klasifikace dat na základě strojového učení a jejich využití nástrojem DPL.

3. Adaptivní řízení přístupu – tvorba a správa jednoduchých zásad je základem pro podrobnou kontrolu nad přístupem ke schváleným aplikacím a chování uvnitř aplikací.

4. Data governance a zajištění souladu – nástroj by měl podporovat procesní řízení datové bezpečnosti a zajistit splnění požadavků na bezpečnost dat spojených s GDPR, PCI, PII či PHI (ochrana osobních údajů, práce s citlivými daty kreditních karet, zdravotních dat, apod.), a to při zachování všech výhod a snadného používání cloudových aplikací.

5. Sledování chování uživatelů – sledování a upozornění na chování uživatelů založené na heuristické analýze umožňuje snadno identifikovat podezřelé chování. Tím může být například přihlášení z neočekávaných oblastí, neobvykle velká aktivita při používání, přenos nezvykle velkého objemu dat nebo více neúspěšných přihlášení, což může znamenat pokus o krádež přihlašovacích údajů.

6. Pokročilá prevence hrozeb – nástroj by měl zajistit blokování nejen známého malwaru, ale také identifikovat a blokovat neznámé hrozby včetně exploitů a zranitelnosti SaaS aplikací.

 

Prisma SaaS, jeden z nástrojů pro komplexní zabezpečení SaaS prostředí, nabízí společnost Palo Alto Networks 

 

Kontejnery, serverless a DevOps

Asi nejrychleji se rozvíjející oblastí z prostředí cloudu je oblast kontejnerových služeb. Stejně jako patří standardizované kontejnery mezi nepostradatelné součásti přepravy fyzického zboží, kontejnerové služby představují významnou technologickou součást světa vývoje aplikací a jejich obliba neustále roste.

V současné době už jedna ze tří organizací používá nativní nebo řízenou orchestraci Kubernetes a čtvrtina podniků používá populární spravované kontejnerové služby v cloudu, jako jsou Amazon Elastic Container Service pro Kubernetes, Google Kubernetes Engine a Azure Kubernetes Service. Takové platformy usnadňují vývojářům nasazení, správu a škálování kontejnerových aplikací.

Se vzrůstajícím trendem a zvyšujícím  používáním kontejnerů musejí organizace zajistit odpovídající úroveň zabezpečení, která bude úspěšně bránit bezpečnostním incidentům. Ve výchozím nastavení mohou moduly v clusteru Kubernetes přijímat provoz z jakéhokoli zdroje. Použitím síťových bezpečnostních pravidel je možné izolovat jednotlivé moduly, řídit komunikaci mezi nimi a vynutit kontrolu přístupu.

Z nedávných  průzkumů bezpečnostní skupiny Unit42 je patrné, že správci kontejnerových služeb často nemění výchozí chování a bezpečnost kontejnerů zdaleka nedosahuje úrovně zabezpečení tradičních vývojových prostředí.

Podle výsledků studie až 46 % organizací neuplatnilo vhodné síťové zásady pro své spravované služby Kubernetes, tudíž jsou jejich moduly snadno zranitelné vůči síťovým útokům. Dále bylo zjištěno, že 15 % organizací vůbec nevyužívá Identity and Access Management (IAM) role k řízení přístupu do clusteru Kubernetes. Používají základní autentizaci, která je však náchylná k útokům hrubou silou.

Nastupujícím evolučním krokem kontejnerových služeb jsou služby serverless computingu, tzv. Function-as-a-Service (FaaS). I v tomto prostředí je však velký prostor pro vznik bezpečnostních incidentů.

Vývojáři například důvěřují funkcím a službám, které jsou distribuované poskytovatelem z prostředí AWS Lambda, Azure či Google Functions, nevidí do kódu jednotlivých mikroslužeb ani do komunikace na pozadí.

Bez serverů nemáme žádnou kontrolu nad infrastrukturou nebo sítí, na které běží naše aplikace. To znamená, že se nemůžeme spolehnout na vlastní zabezpečení serveru nebo pravidla síťového firewallu.

Dosáhnout vyšší úrovně zabezpečení služeb kontejnerů a serverless přitom nemusí být složité a už vůbec ne neřešitelné. Samozřejmostí by mělo být maximální využití nativního zabezpečení ve smyslu řízení přístupů a oprávnění v režimu least-privileged.

Pokud například funkce AWS Lambda potřebuje přístup k tabulce DynamoDB, ujistěte se, že může dělat pouze konkrétní akci, kterou vyžaduje konkrétní operace.

Kromě nativní ochrany je potřeba nasadit i nástroje třetích stran k nepřetržitému sledování prostředí Kubernetes, a to z hlediska automatizace, viditelnosti a preventivních opatření. Tento přístup je označován jako DevSecOps – tedy zabezpečení všech kroků životního cyklu DevOps.

Takový nástroj by měl zajistit minimálně tyto služby:

1. Vulnerability Management – automatický nástroj pro zjišťování známých zranitelností napříč všemi hosty, kontejnery i funkcemi serverless computingu.

2. Cloud Native Firewall – integrovaný L4 a L7 firewall v prostředí Kubernetes, zajišťující vhled do síťové komunikace mezi kontejnery a mikroslužbami na úrovni aplikací, funkci IPS a mikrosegmentaci.

3. Runtime Defense – behaviorální analýza a automatizovaná detekce i prevence incidentů v prostředí kontejnerů.

4. Access Control – centrální monitoring Kubernetes, auditování hostů, inspekce logů a monitoring příkazů docker, sshd a sudo events.

5. CI/CD integrace – skenování vulnerabilit při zavádění nového kódu v CI/CD pipeline, např. prostřednictvím modulu do nástroje Jenkins.

 

Autor je jednatel společnosti H-Square ICT Solutions

 

bitcoin_skoleni

Tento příspěvek vyšel v Security Worldu 4/2019. Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.