Osvědčené postupy pro zabezpečení a upgrady clusteru ve službě Azure Kubernetes Service (AKS)
Při správě clusterů ve službě Azure Kubernetes Service (AKS) je klíčovým aspektem zabezpečení úloh a dat. Když spouštíte clustery s více tenanty pomocí logické izolace, potřebujete zejména zabezpečit přístup k prostředkům a úlohám. Minimalizujte riziko útoku použitím nejnovějších aktualizací zabezpečení operačního systému Kubernetes a uzlu.
Tento článek se zaměřuje na zabezpečení clusteru AKS. Získáte informace pro:
- K zabezpečení přístupu k serveru API použijte Microsoft Entra ID a Kubernetes řízení přístupu na základě role (Kubernetes RBAC).
- Zabezpečte přístup ke kontejnerům k prostředkům uzlu.
- Upgradujte cluster AKS na nejnovější verzi Kubernetes.
- Udržujte uzly aktuální a automaticky aplikujte opravy zabezpečení.
Můžete si také přečíst osvědčené postupy pro správu imagí kontejnerů a zabezpečení podů.
Povolení ochrany před hrozbami
Pokyny k osvědčeným postupům
Můžete povolit Defender for Containers , který vám pomůže zabezpečit kontejnery. Defender for Containers může vyhodnotit konfigurace clusteru a poskytovat doporučení zabezpečení, spouštět kontroly ohrožení zabezpečení a poskytovat ochranu a upozorňování pro uzly a clustery Kubernetes v reálném čase.
Zabezpečený přístup k serveru rozhraní API a uzlům clusteru
Pokyny k osvědčeným postupům
Jedním z nejdůležitějších způsobů zabezpečení clusteru je zabezpečení přístupu k serveru rozhraní API Kubernetes. Pokud chcete řídit přístup k serveru rozhraní API, integrujte Kubernetes RBAC s Id Microsoft Entra. Pomocí těchto ovládacích prvků zabezpečíte AKS stejným způsobem, jakým zabezpečujete přístup k předplatným Azure.
Server rozhraní API Kubernetes poskytuje jeden spojovací bod pro žádosti o provedení akcí v rámci clusteru. Pokud chcete zabezpečit a auditovat přístup k serveru rozhraní API, omezte přístup a poskytněte nejnižší možné úrovně oprávnění. i když tento přístup není pro Kubernetes jedinečný, je zvlášť důležité, když jste logicky izolovali cluster AKS pro použití s více tenanty.
Microsoft Entra ID poskytuje řešení pro správu identit připravené pro podniky, které se integruje s clustery AKS. Vzhledem k tomu, že Kubernetes neposkytuje řešení pro správu identit, může být obtížné omezit přístup k serveru rozhraní API. S integrovanými clustery Microsoft Entra v AKS použijete stávající uživatelské a skupinové účty k ověřování uživatelů na serveru rozhraní API.
Pomocí RBAC Kubernetes a integrace ID Microsoft Entra můžete zabezpečit server rozhraní API a poskytnout minimální oprávnění požadovaná pro vymezenou sadu prostředků, jako je jeden obor názvů. Různým uživatelům nebo skupinám Microsoft Entra můžete udělit různé role Kubernetes. Pomocí podrobných oprávnění můžete omezit přístup k serveru rozhraní API a poskytnout jasný záznam auditu provedených akcí.
Doporučeným postupem je použití skupin k poskytování přístupu k souborům a složkám místo jednotlivých identit. Můžete například použít členství ve skupině Microsoft Entra ID k vytvoření vazby uživatelů k rolím Kubernetes, nikoli k jednotlivým uživatelům. Když se členství ve skupině uživatele změní, jejich přístupová oprávnění ke clusteru AKS se odpovídajícím způsobem změní.
Řekněme, že mezitím svážete jednotlivé uživatele přímo s rolí a jejich funkce práce se změní. I když se členství ve skupinách Microsoft Entra aktualizuje, jejich oprávnění v clusteru AKS by nešla. V tomto scénáři uživatel skončí s více oprávněními, než vyžaduje.
Další informace o integraci Microsoft Entra, Kubernetes RBAC a Azure RBAC najdete v tématu Osvědčené postupy pro ověřování a autorizaci v AKS.
Omezení přístupu k rozhraní API metadat instance
Pokyny k osvědčeným postupům
Přidejte do všech oborů názvů uživatelů zásady sítě, které zablokují výchozí přenos dat podu do koncového bodu metadat.
Poznámka:
Pokud chcete implementovat zásady sítě, při vytváření clusteru AKS zahrňte atribut --network-policy azure
. Pomocí následujícího příkazu vytvořte cluster: az aks create -g myResourceGroup -n myManagedCluster --network-plugin azure --network-policy azure --generate-ssh-keys
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: restrict-instance-metadata
spec:
podSelector:
matchLabels: {}
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 10.10.0.0/0#example
except:
- 169.254.169.254/32
Zabezpečení přístupu ke kontejnerům k prostředkům
Pokyny k osvědčeným postupům
Omezte přístup k akcím, které mohou kontejnery provádět. Zadejte nejmenší počet oprávnění a vyhněte se použití kořenového přístupu nebo privilegovaného eskalace.
Stejně jako byste uživatelům nebo skupinám měli udělit minimální požadovaná oprávnění, měli byste také omezit kontejnery jenom na nezbytné akce a procesy. Abyste minimalizovali riziko útoku, vyhněte se konfiguraci aplikací a kontejnerů, které vyžadují eskalovaná oprávnění nebo kořenový přístup.
Pro ještě podrobnější kontrolu nad akcemi kontejnerů můžete také použít integrované funkce zabezpečení Linuxu, jako je AppArmor a seccomp. Další informace najdete v tématu Zabezpečení přístupu ke kontejnerům k prostředkům.
Pravidelné aktualizace na nejnovější verzi Kubernetes
Pokyny k osvědčeným postupům
Pokud chcete mít přehled o nových funkcích a opravách chyb, pravidelně upgradujte verzi Kubernetes v clusteru AKS.
Kubernetes vydává nové funkce rychleji než tradiční platformy infrastruktury. Mezi aktualizace Kubernetes patří:
- Nové funkce
- Opravy chyb nebo zabezpečení
Nové funkce se obvykle pohybují v alfa a beta stavu, než se stanou stabilními. Jakmile je stabilní, jsou obecně dostupné a doporučené pro použití v produkčním prostředí. Nový cyklus vydávání funkcí Kubernetes umožňuje aktualizovat Kubernetes, aniž byste pravidelně narazili na zásadní změny nebo upravili nasazení a šablony.
AKS podporuje tři podverze Kubernetes. Po zavedení nové podverze oprav se vyřadí nejstarší podverze a podporované verze oprav. K dílčím aktualizacím Kubernetes dochází pravidelně. Pokud chcete zůstat v rámci podpory, ujistěte se, že máte proces zásad správného řízení, abyste zkontrolovali potřebné upgrady. Další informace najdete v tématu Podporované verze Kubernetes AKS.
Pokud chcete zkontrolovat verze dostupné pro váš cluster, použijte příkaz az aks get-upgrades , jak je znázorněno v následujícím příkladu:
az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --output table
Cluster AKS pak můžete upgradovat pomocí příkazu az aks upgrade . Proces upgradu bezpečně:
- Kabelony a vyprázdní jeden uzel najednou.
- Naplánuje pody na zbývajících uzlech.
- Nasadí nový uzel s nejnovějšími verzemi operačního systému a Kubernetes.
Důležité
Otestujte nové podverze v vývojovém testovacím prostředí a ověřte, že vaše úloha zůstane v pořádku s novou verzí Kubernetes.
Kubernetes může zastaralá rozhraní API (například ve verzi 1.16), na které vaše úlohy spoléhají. Při zavádění nových verzí do produkčního prostředí zvažte použití více fondů uzlů v samostatných verzích a postupně upgradujte jednotlivé fondy, aby se aktualizace postupně v rámci clusteru postupně shrnula. Pokud používáte více clusterů, upgradujte postupně jeden cluster, abyste postupně monitorovali dopad nebo změny.
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version KUBERNETES_VERSION
Další informace o upgradech v AKS najdete v tématu Podporované verze Kubernetes v AKS a upgrade clusteru AKS.
Zpracování aktualizací uzlů Linuxu
Každý večer můžou uzly Linuxu v AKS získávat opravy zabezpečení prostřednictvím kanálu aktualizace distribuce. Toto chování se automaticky konfiguruje při nasazení uzlů v clusteru AKS. Kvůli minimalizaci přerušení a potenciálního dopadu na spuštěné úlohy se uzly automaticky nerestartují, pokud to vyžaduje oprava zabezpečení nebo aktualizace jádra. Další informace o tom, jak zpracovávat restartování uzlů, najdete v tématu Použití aktualizací zabezpečení a jádra na uzly v AKS.
Upgrady imagí uzlů
Bezobslužné upgrady použijí aktualizace operačního systému linuxového uzlu, ale image používaná k vytváření uzlů pro váš cluster zůstane beze změny. Pokud do clusteru přidáte nový linuxový uzel, použije se k vytvoření uzlu původní image. Tento nový uzel obdrží všechny aktualizace zabezpečení a jádra dostupné během automatické kontroly každou noc, ale zůstane bez opravy, dokud nebudou dokončeny všechny kontroly a restartování. Upgrade image uzlu můžete použít ke kontrole a aktualizaci imagí uzlů používaných clusterem. Další informace o upgradu image uzlu najdete v tématu Upgrade image uzlu Azure Kubernetes Service (AKS).
Zpracování aktualizací uzlu Windows Serveru
U uzlů Windows Serveru pravidelně provádí operaci upgradu bitové kopie uzlu, která bezpečně vyprázdní pody a nasadí aktualizované uzly.
Azure Kubernetes Service