Důležité informace o zabezpečení služby Azure Container Instances
Tento článek představuje aspekty zabezpečení pro používání služby Azure Container Instances ke spouštění kontejnerových aplikací. Témata:
- Doporučení zabezpečení pro správu imagí a tajných kódů pro službu Azure Container Instances
- Důležité informace o ekosystému kontejnerů v celém životním cyklu kontejneru pro jakoukoli platformu kontejneru
Komplexní doporučení, která vám pomůžou zlepšit stav zabezpečení nasazení, najdete v standardních hodnotách zabezpečení Azure pro službu Container Instances.
Doporučení zabezpečení pro službu Azure Container Instances
Použití privátního registru
Kontejnery se vytváří z imagí uložených v jednom nebo několika úložištích. Tato úložiště můžou patřit do veřejného registru, jako je Docker Hub, nebo do privátního registru. Příkladem privátního registru je Docker Trusted Registry, který je možné nainstalovat místně nebo ve virtuálním privátním cloudu. Můžete také použít cloudové služby privátního registru kontejnerů, včetně služby Azure Container Registry.
Veřejně dostupná image kontejneru nezaručuje zabezpečení. Image kontejnerů se skládají z několika softwarových vrstev a každá vrstva softwaru může mít ohrožení zabezpečení. Pokud chcete snížit hrozbu útoků, měli byste ukládat a načítat image z privátního registru, jako je Azure Container Registry nebo Docker Trusted Registry. Kromě poskytování spravovaného privátního registru azure Container Registry podporuje ověřování na základě instančního objektu prostřednictvím ID Microsoft Entra pro základní toky ověřování. Toto ověřování zahrnuje přístup na základě role pro čtení (vyžádání), zápis (nabízená oznámení) a další oprávnění.
Monitorování a prohledávání imagí kontejnerů
Využijte řešení ke kontrole imagí kontejnerů v privátním registru a identifikaci potenciálních ohrožení zabezpečení. Je důležité pochopit hloubku detekce hrozeb, kterou poskytují různá řešení.
Azure Container Registry se například volitelně integruje s Programem Microsoft Defender for Cloud , aby automaticky kontroloval všechny image Linuxu nabízené do registru. Skener Qualys integrovaný v programu Microsoft Defender for Cloud detekuje ohrožení zabezpečení obrázků, klasifikuje je a poskytuje pokyny k nápravě.
Řešení pro monitorování zabezpečení a skenování obrázků, jako je Twistlock a Aqua Security , jsou k dispozici také prostřednictvím Azure Marketplace.
Ochrana přihlašovacích údajů
Kontejnery se můžou šířit mezi několik clusterů a oblastí Azure. Proto musíte zabezpečit přihlašovací údaje vyžadované pro přihlášení nebo přístup k rozhraní API, jako jsou hesla nebo tokeny. Zajistěte, aby k těmto kontejnerům při přenosu a v klidovém stavu měli přístup jenom privilegovaní uživatelé. Inventarizace všech tajných kódů přihlašovacích údajů a potom vyžadují, aby vývojáři používali nově vznikající nástroje pro správu tajných kódů, které jsou navržené pro kontejnerové platformy. Ujistěte se, že vaše řešení zahrnuje šifrované databáze, šifrování TLS pro přenášená data tajných kódů a řízení přístupu na základě role v Azure (Azure RBAC) s nejnižšími oprávněními. Azure Key Vault je cloudová služba, která chrání šifrovací klíče a tajné kódy (jako jsou certifikáty, připojovací řetězec a hesla) pro kontejnerizované aplikace. Vzhledem k tomu, že tato data jsou citlivá a důležitá pro firmu, zabezpečte přístup k trezorům klíčů, aby k nim mohli přistupovat jenom autorizované aplikace a uživatelé.
Důležité informace o ekosystému kontejnerů
Následující bezpečnostní opatření, implementovaná dobře a efektivně spravovaná, vám můžou pomoct zabezpečit a chránit ekosystém kontejnerů. Tato opatření se vztahují po celý životní cyklus kontejneru, od vývoje po produkční nasazení a až po celou řadu orchestrátorů kontejnerů, hostitelů a platforem.
Použití správa ohrožení zabezpečení v rámci životního cyklu vývoje kontejnerů
Používáním efektivních správa ohrožení zabezpečení v průběhu životního cyklu vývoje kontejnerů zlepšíte pravděpodobnosti, že identifikujete a vyřešíte bezpečnostní obavy dříve, než se stanou vážnějším problémem.
Kontrola ohrožení zabezpečení
Neustále se zjišťuje nová ohrožení zabezpečení, takže vyhledávání a identifikace ohrožení zabezpečení je nepřetržitý proces. Začleňte kontrolu ohrožení zabezpečení v průběhu životního cyklu kontejneru:
- Jako konečnou kontrolu ve vývojovém kanálu byste měli před nasdílením imagí do veřejného nebo privátního registru provést kontrolu ohrožení zabezpečení kontejnerů.
- Pokračujte ve prohledávání imagí kontejnerů v registru a zjistěte případné chyby, které byly během vývoje nějak vynechány, a řešit případné nově zjištěné chyby zabezpečení, které by mohly existovat v kódu použitém v imagích kontejneru.
Mapování ohrožení zabezpečení obrázků na spuštěné kontejnery
Potřebujete mít způsob mapování ohrožení zabezpečení identifikovaných v imagích kontejnerů na spuštěné kontejnery, aby bylo možné zmírnit nebo vyřešit problémy se zabezpečením.
Ujistěte se, že se ve vašem prostředí používají jenom schválené image.
V ekosystému kontejnerů je dostatek změn a nestálosti, aniž by to umožňovalo i neznámé kontejnery. Povolit pouze schválené image kontejnerů Máte nástroje a procesy, které se mají monitorovat a bránit použití neschválené image kontejnerů.
Efektivní způsob, jak snížit prostor pro útoky a zabránit vývojářům v provádění kritických chyb zabezpečení, je řídit tok imagí kontejnerů do vývojového prostředí. Můžete například schvalovat jednu linuxovou distribuci jako základní image, nejlépe jednu, která je štíhlá (Alpine nebo CoreOS místo Ubuntu), aby se minimalizovala plocha potenciálních útoků.
Podepisování obrázků nebo otisk prstu může poskytnout řetěz opatrovnictví, který vám umožní ověřit integritu kontejnerů. Azure Container Registry například podporuje model důvěryhodnosti obsahu Dockeru, který vydavatelům imagí umožňuje podepisovat image, které se odsílají do registru, a příjemci imagí za účelem vyžádání jenom podepsaných imagí.
Povolit pouze schválené registry
Rozšíření zajišťující, že vaše prostředí používá jenom schválené image, je povolit pouze použití schválených registrů kontejnerů. Vyžadování použití schválených registrů kontejnerů snižuje riziko omezením potenciálu pro zavedení neznámých ohrožení zabezpečení nebo problémů se zabezpečením.
Zajištění integrity obrázků v průběhu životního cyklu
Součástí správy zabezpečení během celého životního cyklu kontejneru je zajištění integrity imagí kontejnerů v registru a jejich změny nebo nasazení do produkčního prostředí.
Obrázky s ohrožením zabezpečení, i menší, by neměly být povolené spouštět v produkčním prostředí. V ideálním případě by se všechny image nasazené v produkčním prostředí měly uložit do privátního registru přístupného několika vybraným. Udržujte malý počet produkčních imagí, abyste měli jistotu, že se dají efektivně spravovat.
Vzhledem k tomu, že je obtížné určit původ softwaru z veřejně dostupné image kontejneru, sestavte image ze zdroje, abyste zajistili znalost původu vrstvy. Když se objeví ohrožení zabezpečení v imagi kontejneru, kterou jste si sami sestavili, můžete rychleji najít řešení. U veřejné image by zákazníci museli najít kořen veřejné image, aby ji opravili nebo získali jinou zabezpečenou image od vydavatele.
Důkladně naskenovaná image nasazená v produkčním prostředí není zaručená, že bude po celou dobu života aplikace aktuální. Chyby zabezpečení můžou být hlášeny pro vrstvy image, které nebyly dříve známé nebo byly zavedeny po produkčním nasazení.
Pravidelně auditujte image nasazené v produkčním prostředí a identifikujte image, které jsou zastaralé nebo se během určité doby neaktualizovaly. K aktualizaci imagí kontejnerů bez výpadků můžete použít metodologie nasazení s modrou zelenou barvou a mechanismy postupného upgradu. Obrázky můžete skenovat pomocí nástrojů popsaných v předchozí části.
Pomocí kanálu kontinuální integrace (CI) s integrovanou kontrolou zabezpečení můžete vytvářet zabezpečené image a odesílat je do privátního registru. Zjišťování ohrožení zabezpečení integrované v řešení průběžné integrace zajišťuje, že se image, které projdou všemi testy, nasdílí do privátního registru, ze kterého se nasazují produkční úlohy.
Selhání kanálu CI zajišťuje, aby se ohrožené image neodesílaly do privátního registru, který se používá pro nasazení produkčních úloh. Automatizuje také kontrolu zabezpečení imagí, pokud existuje velký počet imagí. Jinak může být ruční auditování imagí za účelem zjišťování ohrožení zabezpečení zdlouhavé a náchylné k chybám.
Vynucení nejnižších oprávnění v modulu runtime
Koncept nejnižších oprávnění je základním osvědčeným postupem zabezpečení, který platí také pro kontejnery. Když dojde k zneužití ohrožení zabezpečení, obvykle útočníkovi poskytne přístup a oprávnění rovna oprávněním napadené aplikace nebo procesu. Zajištění, aby kontejnery fungovaly s nejnižšími oprávněními a přístupem potřebnými k provedení úlohy, snižuje riziko.
Zmenšení prostoru pro útoky na kontejner odebráním nepotřebných oprávnění
Potenciální prostor pro útoky můžete také minimalizovat odebráním nepoužívaných nebo nepotřebných procesů nebo oprávnění z modulu runtime kontejneru. Privilegované kontejnery běží jako kořen. Pokud uživatel se zlými úmysly nebo úloha uteče v privilegovaném kontejneru, kontejner se pak spustí jako kořen v daném systému.
Předběžné použití souborů a spustitelných souborů, ke kterým má kontejner povolený přístup nebo spuštění
Snížení počtu proměnných nebo neznámých hodnot pomáhá udržovat stabilní a spolehlivé prostředí. Omezení kontejnerů tak, aby mohly přistupovat k předschválené nebo bezpečnému souboru a spustitelným souborům a spustitelným souborům, je osvědčeným způsobem omezení vystavení riziku.
Je mnohem jednodušší spravovat bezpečný seznam, když je implementovaný od začátku. Bezpečný seznam poskytuje míru kontroly a možnosti správy, když zjistíte, jaké soubory a spustitelné soubory jsou potřeba k tomu, aby aplikace fungovala správně.
Bezpečný seznam nejen snižuje prostor pro útoky, ale může také poskytnout základní hodnoty pro anomálie a zabránit případům použití "hlučného souseda" a scénářů přerušení kontejneru.
Vynucení segmentace sítě u spuštěných kontejnerů
Pokud chcete chránit kontejnery v jedné podsíti před riziky zabezpečení v jiné podsíti, udržujte segmentaci sítě (nebo nano-segmentaci) nebo oddělení mezi spuštěnými kontejnery. Udržování segmentace sítě může být také nezbytné k používání kontejnerů v odvětvích, která jsou nutná ke splnění mandátů dodržování předpisů.
Partnerový nástroj Aqua například poskytuje automatizovaný přístup pro nano segmentaci. Aqua monitoruje aktivity sítě kontejnerů za běhu. Identifikuje všechna příchozí a odchozí síťová připojení k jiným kontejnerům, službám, IP adresám a veřejnému internetu. Segmentace Nano se automaticky vytvoří na základě monitorovaného provozu.
Monitorování aktivity kontejneru a přístupu uživatelů
Stejně jako u jakéhokoli IT prostředí byste měli konzistentně monitorovat aktivitu a přístup uživatelů ke svému ekosystému kontejnerů a rychle identifikovat podezřelé nebo škodlivé aktivity. Azure poskytuje řešení pro monitorování kontejnerů, včetně následujících:
Azure Monitor pro kontejnery monitoruje výkon vašich úloh nasazených v prostředích Kubernetes hostovaných ve službě Azure Kubernetes Service (AKS). Azure Monitor pro kontejnery poskytuje přehled o výkonu shromažďováním metrik paměti a procesoru z kontrolerů, uzlů a kontejnerů dostupných v Kubernetes prostřednictvím rozhraní API metrik.
Řešení Azure Container Monitoring vám pomůže zobrazit a spravovat další hostitele kontejnerů Dockeru a Windows v jednom umístění. Příklad:
- Zobrazte podrobné informace o auditu, které zobrazují příkazy používané s kontejnery.
- Řešení potíží s kontejnery zobrazením a prohledáváním centralizovaných protokolů, aniž byste museli vzdáleně zobrazovat hostitele Dockeru nebo Windows.
- Vyhledejte kontejnery, které můžou být hlučné a spotřebovávají nadbytečné prostředky na hostiteli.
- Zobrazení centralizovaných informací o využití procesoru, paměti, úložišti a síti a výkonu kontejnerů
Řešení podporuje orchestrátory kontejnerů, mezi které patří Docker Swarm, DC/OS, nespravované Kubernetes, Service Fabric a Red Hat OpenShift.
Monitorování aktivity prostředků kontejneru
Monitorujte aktivitu prostředků, jako jsou soubory, síť a další prostředky, ke kterým vaše kontejnery přistupují. Monitorování aktivity a spotřeby prostředků je užitečné jak pro monitorování výkonu, tak jako bezpečnostní opatření.
Azure Monitor umožňuje základní monitorování služeb Azure tím, že umožňuje shromažďování metrik, protokolů aktivit a diagnostických protokolů. Pomocí protokolu aktivit lze například zjistit, kdy se nové prostředky vytvořily nebo změnily.
K dispozici máte metriky, které poskytují statistiky o výkonu různých prostředků a dokonce i operačního systému ve virtuálním počítači. Tato data můžete zobrazit pomocí jednoho z průzkumníků na webu Azure Portal a vytvořit upozornění na základě těchto metrik.
Protokolování veškerého přístupu správce kontejneru pro auditování
Udržujte přesný záznam auditu pro přístup správce k vašemu ekosystému kontejnerů, včetně clusteru Kubernetes, registru kontejnerů a imagí kontejnerů. Tyto protokoly můžou být nezbytné pro účely auditování a budou užitečné jako forenzní důkazy po každém incidentu zabezpečení. Řešení Azure zahrnují:
- Integrace služby Azure Kubernetes Service s Microsoft Defenderem pro cloud za účelem monitorování konfigurace zabezpečení prostředí clusteru a generování doporučení zabezpečení
- Řešení monitorování kontejnerů Azure
- Protokoly prostředků pro Azure Container Instances a Azure Container Registry
Další kroky
Přečtěte si další informace o používání Microsoft Defenderu pro cloud pro detekci hrozeb v reálném čase ve vašich kontejnerizovaných prostředích.
Přečtěte si další informace o správě ohrožení zabezpečení kontejnerů pomocí řešení z Twistlocku a Aqua Security.