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 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 aktuální po celou dobu životnosti aplikace. Může docházet k hlášení ohrožení zabezpečení pro vrstvy image, která dříve nebyla známa nebo se objevila až po nasazení do produkčního prostředí.

    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, že se ohrožené image neodesílají 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 na portálu Azure Portal zobrazit pomocí některého z průzkumníků a na základě těchto metrik můžete vytvářet upozornění. Azure Monitor nabízí nejrychlejší kanál metrik (zkrácení z 5 minut na 1 minutu), takže byste ho měli používat pro upozornění a oznámení, která jsou náročná na rychlou odezvu.

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í:

Další kroky