« Duben 2024 »
POÚTSTČTSONE
1234567
891011121314
15161718192021
22232425262728
293012345

Role správy přístupů a identit (IAM) v cloudové bezpečnosti

Čtení na 6 minut (Převzato z https://blog.paloaltonetworks.com/2020/02/cloud-iam-security/)

Je nad slunce jasnější, že pro zabezpečení služeb a prostředků v cloudu je tradiční bezpečnostní přístup nevyhovující a je třeba jej radikálně změnit. Jedna komponenta silného bezpečnostního přístupu hraje obzvlášť důležitou roli, je to identita. Koncept identity v cloudu může odkazovat na mnoho věcí, ale pro naše účely se zaměříme na dvě hlavní entity: uživatele a cloudové prostředky.

Historicky se ochrana do hloubky prováděla většinou na síťové úrovni. Nástroje pro prevenci pokročilých hrozeb dokážou rozpoznat aplikace, které procházejí sítí, a určit, zda by měly být povoleny. Tento typ zabezpečení je v cloudových prostředích pochopitelně stále velmi důležitý, ale sám o sobě již nestačí.

Poskytovatelé veřejného cloudu nabízejí celou řadu služeb a jediným způsobem, jak řídit a zabezpečit mnoho z nich, je správa identit a přístupu (Identity and Access Management = IAM). V tomto článku se podíváme na tři konkrétní úskalí, kterým bezpečnostní týmy v souvislosti s IAM čelí, a jak tato úskalí úspěšně překlenout.

Správa identity a přístupu

IAM je cloudová služba, která řídí oprávnění a přístupy pro uživatele a cloudové prostředky. Politiky IAM jsou sady oprávnění, které se váží buď k uživatelům, nebo ke cloudovým prostředkům, aby autorizovaly, kdo má kam přístup a co tam může dělat.

Koncept „identita je nový perimetr“ sahá až do dávného roku 2012, kdy AWS poprvé oznámil svou službu IAM. Pozornost se v poslední době zaměřuje na IAM jednak kvůli rozmachu cloudových služeb, ale také „díky“ nedávné vlně nezanedbatelných úniků dat.

Služby, které nevystavují žádnou nosnou infrastrukturu, jsou z pohledu zabezpečení silně závislé na IAM. Podívejme se například na jednoduchou aplikaci pro HR, která má zajistit přijetí CV od kandidáta. Uchazeč odešle svůj životopis emailem, tuto zprávu přijme AWS Simple Email Service (SES), předá zprávu do Simple Notification Service (SNS), ta spouští Lambda funkci, která vloží záznam do tabulky DynamoDB a následně odešle poděkování kandidátovi. V tomto typu aplikace neexistuje žádná síťová vrstva, kterou bychom mohli kontrolovat, takže identita a oprávnění se stávají nejdůležitějšími prvky zabezpečení.

Obrázek 1: Část toku požadavků v HR aplikaci

Pojďme se podívat, jaký dopad může mít nadmíru oprávněný IAM profil u Lambda funkce. Tato funkce má pouze vkládat položky do tabulky DynamoDB. Co se ale stane, pokud má funkce plná oprávnění k DynamoDB? Pokud je funkce z jakéhokoli důvodu kompromitována, je okamžitě ohrožena také tabulka DynamoDB, protože útočníkovi nic nebrání ve čtení nebo modifikaci dat. Může tak snadno získat veškeré osobní údaje kandidátů uložené v databázi.

Pokud profil IAM dodržuje zásadu „nejmenších oprávnění“ (což je jeden z principů filozofie Zero Trust), umožní funkci pouze vkládat položky do tabulky, možný dopad tohoto incidentu se tak výrazně sníží. Praktický příklad najdete v tomto webináři CNCF.

Správa velkého počtu privilegovaných uživatelů s přístupem ke stále se rozšiřující sadě služeb je nesmírně náročná. Když nad to přidáme ještě správu samostatných rolí a IAM skupin pro tyto uživatele a prostředky, dostáváme složitost na druhou. Poskytovatelé cloudu, jako jsou AWS a Google Cloud, pomáhají zákazníkům řešit tyto problémy pomocí nástrojů, jako je Google Cloud IAM recommender a AWS IAM access advisor. Tyto nástroje se pokoušejí analyzovat služby, ke kterým naposledy přistupovali uživatelé a prostředky, a pomáhají vám zjistit, která oprávnění mohou být nadměrně privilegovaná.

Tyto nástroje naznačují, že poskytovatelé cloudových služeb chápou potíže s řízením přístupu, což je rozhodně krok správným směrem. Potíží, které musíme zvážit, je ale víc.

Potíže identity a přístupu

IAM a SSO

Většina firem dnes používá ke správě přístupu uživatelů ke cloudovým službám nějakou formu jednotného přihlášení (SSO), například Okta, OneLogin, AzureAD a pod. Jedná se o efektivní způsob centralizace přístupu mezi velký počet uživatelů a služeb. Zatímco používání SSO pro přihlášení k veřejným cloudovým účtům je rozhodně nejlepší praxe, mapování mezi uživateli SSO a rolemi IAM může být náročné, protože uživatelé mohou mít více rolí, které zahrnují několik cloudových účtů.

Efektivní oprávnění

Vzhledem k tomu, že uživatelé a služby mají k sobě připojeno více než jednu sadu oprávnění, je obtížné pochopit, jaké má daná entita skutečná oprávnění.

„K čemu má Marie přístup? Jaké akce může v těchto službách provádět? Pokud přistupuje k virtuálnímu počítači, dědí oprávnění IAM tohoto prostředku? Je součástí skupiny, která jí uděluje další oprávnění?“ Najít v haldě konfigurací a profilů oprávnění tu pověstnou jehlu a odpovědět na tyto otázky je velmi těžké.

Multi-cloud

Podle RightScale používá více než 84% organizací vícero cloudů. Každý poskytovatel má své vlastní zásady, nástroje a terminologii. Neexistuje žádný společný jazyk, který vám pomůže pochopit vztahy a oprávnění mezi poskytovateli cloudu.

Správné zabezpečení IAM

IAM je pouze jedním, i když zásadním, aspektem cloudové bezpečnosti. Firmy musí na IAM pohlížet jako na součást svého bezpečnostního postoje a přidat integrovanou bezpečnostní vrstvu do celého životního cyklu aplikace. Právě zde se hodí cloudová nativní bezpečnostní platforma, jako je Prisma Cloud.

Poskytovatelé cloudu nabízejí skvělý základ pro aplikování přístupu nejmenších oprávnění. Jak se ale ve vaší organizaci rozšiřuje adopce cloudu, budou výše uvedená tvrzení stále zřejmější a možná budete muset hledat řešení pro více cloudů. Jak tedy začít:

  • Nepoužívejte root účty – Vždy vytvářejte jednotlivé uživatele IAM s příslušnými oprávněními a nikomu nedávejte root přístup.
  • Přijměte model role-per-group – Politiky přiřazujte skupinám uživatelů na základě konkrétních věcí, které tito uživatelé musí udělat. „Nevrstvěte“ role IAM na sebe tak, že přiřadíte role jednotlivým uživatelům a ty pak ještě přidáte do skupin. To vám jen zkomplikuje pochopit jejich skutečná oprávnění.
  • Přidělujte nejmenší oprávnění – Vždy přidělujte jen minimální oprávnění, která jsou potřeba pro provedení daného úkolu, tak jak jsme si ukázali na příkladu s Lambda funkcí a DynamoDB. Tím zajistíte, že dojde-li ke kompromitaci uživatele nebo prostředku, dopad se omezí jen na jednu nebo několik věcí, kam měla daná entita přístup. Toto je nikdy nekončící úkol. Aplikace se neustále mění, proto se musíte ujistit, že i oprávnění se odpovídajícím způsobem přizpůsobují.
  • Využívejte nástroje poskytovatelů cloudu – Správa mnoha profilů oprávnění ve velkém měřítku je náročná. Využijte platformy, které již používáte, ke generování sad nejmenších oprávnění a neustále analyzujte vaše stávající služby. Nezapomeňte, že poskytovatel cloudu doporučuje, abyste vždy ručně zkontrolovali vygenerované profily před jejich nasazením.

Prisma Cloud řeší všechny aspekty cloudové bezpečnosti, poznejte jak.