Důležité informace o zabezpečení pro Azure Container Instances

Tento článek představuje aspekty zabezpečení pro používání Azure Container Instances ke spouštění aplikací kontejnerů. Témata:

  • Doporučení zabezpečení pro správu imagí a tajných kódů pro Azure Container Instances
  • Důležité informace o ekosystému kontejnerů v průběhu životního 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 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, například do 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žívat cloudové služby registru privátních kontejnerů, včetně 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, například z Azure Container Registry nebo důvěryhodného registru Dockeru. Kromě poskytování spravovaného privátního registru podporuje Azure Container Registry ověřování založené na instančním objektu prostřednictvím Azure Active Directory pro základní toky ověřování. Toto ověřování zahrnuje přístup na základě role pro přístup jen 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, která poskytují různá řešení.

Například Azure Container Registry volitelně integruje s Microsoft Defender for Cloud, aby se automaticky skenovaly všechny image Linuxu nabízené do registru. Microsoft Defender for Cloud integrovaný skener Qualys 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 rozprostřít 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. Ujistěte se, že k těmto kontejnerům při přenosu a v klidovém stavu mají 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). Azure Key Vault je cloudová služba, která chrání šifrovací klíče a tajné kódy (jako jsou certifikáty, připojovací řetězce 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 spravovaná efektivně, vám můžou pomoct zabezpečit a chránit ekosystém kontejnerů. Tato opatření se použijí v průběhu životního cyklu 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í jako součást ž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 obavy týkající se zabezpečení, než se stanou vážnějším problémem.

Kontrola ohrožení zabezpečení

Nové chyby zabezpečení jsou zjištěny po celou dobu, takže vyhledávání a identifikace ohrožení zabezpečení je nepřetržitý proces. Začlente 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 provést kontrolu ohrožení zabezpečení kontejnerů před odesláním imagí do veřejného nebo privátního registru.
  • Pokračujte v prohledávání imagí kontejnerů v registru a zjistěte případné chyby, které byly nějak vynechány během vývoje, 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 prostředek k mapování ohrožení zabezpečení identifikovaných v imagích kontejneru 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 bez povolení neznámých kontejnerů. Povolit pouze schválené image kontejnerů. Používejte nástroje a procesy pro monitorování a zabránění používání neschválené image kontejneru.

Efektivní způsob, jak snížit prostor útoku 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 ten, který je štíhlý (Alpine nebo CoreOS místo Ubuntu), abyste minimalizovali povrch potenciálních útoků.

Podepisování obrázků nebo otisk prstu může poskytnout řetěz opatrovnictví, který umožňuje ověřit integritu kontejnerů. Například Azure Container Registry podporuje model důvěryhodnosti obsahu Dockeru, který umožňuje vydavatelům imagí podepsat image, které se nasdílí do registru, a příjemci imagí vyžádat jenom podepsané image.

Povolení pouze schválených registrů

Rozšíření, které zajišťuje, že vaše prostředí používá jenom schválené image, je povolit pouze používání schválených registrů kontejnerů. Vyžadování použití schválených registrů kontejnerů snižuje riziko tím, že omezí potenciál pro zavedení neznámých ohrožení zabezpečení nebo problémů se zabezpečením.

Zajištění integrity imagí v průběhu životního cyklu

Součástí správy zabezpečení v průběhu ž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í, a to i podverze, by neměly být povolené 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 počet produkčních imagí malý, abyste zajistili efektivní správu.

  • Vzhledem k tomu, že je obtížné určit původ softwaru z veřejně dostupné image kontejneru, vytvořte 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 další zabezpečenou image od vydavatele.

  • Důkladně naskenovaná image nasazená v produkčním prostředí není zaručená aktuálně aktuální po 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í, abyste identifikovali image, které jsou zastaralé nebo nebyly během chvilky aktualizovány. 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 integrovaným prohledáváním zabezpečení můžete vytvářet zabezpečené image a odesílat je do vašeho 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í za běhu

Koncept nejnižších oprávnění je základním osvědčeným postupem zabezpečení, který se vztahuje také na kontejnery. Když dojde k zneužití ohrožení zabezpečení, obvykle útočníkovi poskytne přístup a oprávnění rovna ohroženým aplikacím nebo procesům. Zajištění, aby kontejnery fungovaly s nejnižšími oprávněními a přístupem potřebným 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 nebo úloha se zlými úmysly uniknou v privilegovaném kontejneru, kontejner se pak spustí jako kořen v daném systému.

Předschválené soubory a spustitelné soubory, 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 nebo spouštět pouze předschválené nebo bezpečné soubory a spustitelné soubory, je osvědčeným způsobem omezení rizika.

Při implementaci seznamu od začátku je mnohem jednodušší spravovat bezpečný seznam. Bezpečný seznam poskytuje míru kontroly a možnosti správy, když zjistíte, jaké soubory a spustitelné soubory se vyžadují pro správné fungování aplikace.

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ů

Chcete-li 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é pro použití kontejnerů v odvětvích, která jsou nutná k splnění mandátů dodržování předpisů.

Například partnerový nástroj Aqua 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. Nano segmentace 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ů k vašemu 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 v Azure Kubernetes Service (AKS). Azure Monitor pro kontejnery poskytuje přehled o výkonu tím, že shromažďuje metriky paměti a procesoru z řadičů, 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 vyhledá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.
    • Zobrazit centralizované informace o využití procesoru, paměti, úložiště 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 mají kontejnery přístup. 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.

Jsou dostupné 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 webu 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 jakémkoli incidentu zabezpečení. Mezi řešení Azure patří:

Další kroky