Sdílet prostřednictvím


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.

Integrace Microsoft Entra pro clustery AKS

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.