Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vzhledem k tomu, že organizace stále více spoléhají na službu Azure Kubernetes Service (AKS) ke spouštění kontejnerizovaných úloh, zajištění zabezpečení síťového provozu mezi aplikacemi a službami je nezbytné zejména v regulovaných nebo bezpečnostních prostředích. Šifrování během přenosu pomocí WireGuardu chrání data při přesouvání mezi pody a uzly, zmírnění rizik zachycení nebo manipulace. WireGuard je známý pro jednoduchost a robustní kryptografii, nabízí výkonné řešení pro zabezpečení komunikace v clusterech AKS.
Šifrování WireGuard pro AKS je součástí sady funkcí ACNS (Advanced Container Networking Services) a její implementace je založená na Cilium.
Důležité
Funkce AKS ve verzi Preview jsou k dispozici na bázi samoobsluhy a dobrovolného přihlášení. Ukázky jsou poskytovány "jak jsou" a "podle aktuální dostupnosti" a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou podle možností. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:
Rozsah šifrování WireGuard
Šifrování přenosu WireGuard v AKS je navržené tak, aby zabezpečil konkrétní toky provozu v rámci clusteru Kubernetes. Tato část popisuje, které typy provozu se šifrují a které nejsou aktuálně podporovány prostřednictvím Advanced Container Networking Services (ACNS).
Podporované/šifrované toky provozu:
- Síťový provoz mezi podsítěmi uzlů: Provoz, který opouští pod na jednom uzlu a míří k podu na jiném uzlu.
Nepodporované/ Nešifrované toky provozu
- Provoz podů se stejným uzlem: Provoz mezi pody na stejném uzlu
- Síťový provoz uzlů: provoz vygenerovaný samotným uzlem určeným k jinému uzlu
Přehled architektury
Šifrování WireGuard spoléhá na Azure CNI využívající cilium k zabezpečení komunikace mezi uzly v rámci distribuovaného systému. Architektura používá vyhrazeného agenta WireGuard, který orchestruje správu klíčů, konfiguraci rozhraní a dynamické aktualizace partnerských vztahů. Tato část se pokouší poskytnout podrobné vysvětlení.
WireGuard Agent
Při spuštění agent Cilium vyhodnotí jeho konfiguraci a určí, jestli je povolené šifrování. Pokud je jako režim šifrování vybrán WireGuard, agent inicializuje vyhrazený subsystém WireGuard. Agent wireguard zodpovídá za konfiguraci a inicializaci komponent potřebných k vynucení šifrování WireGuard.
Generování klíčů
Základním požadavkem na zabezpečení komunikace je generování párů kryptografických klíčů. Každý uzel v clusteru Kubernetes automaticky vygeneruje jedinečný pár klíčů WireGuard během fáze inicializace a distribuuje svůj veřejný klíč prostřednictvím poznámky "network.cilium.io/wg-pub-key" v objektu vlastního prostředku Kubernetes CiliumNode. Páry klíčů se ukládají do paměti a obměňují se každých 120 sekund. Privátní klíč slouží jako důvěrná identita uzlu. Veřejný klíč se sdílí s partnerskými uzly v clusteru pro dešifrování a šifrování provozu k a od koncových bodů na tomto uzlu spravovaných Cilium. Tyto klíče spravuje výhradně Azure, nikoli zákazník, a zajišťuje zabezpečené a automatizované zpracování bez nutnosti ručního zásahu. Tento mechanismus zajišťuje, že se šifrované sítě můžou účastnit jenom uzly s ověřenými přihlašovacími údaji.
Vytvoření rozhraní
Jakmile proces generování klíčů skončí, agent WireGuard nakonfiguruje vyhrazené síťové rozhraní (cilium_wg0). Tento proces zahrnuje vytvoření a konfiguraci rozhraní s dříve vygenerovaným privátním klíčem.
Porovnání s šifrováním virtuální sítě
Azure nabízí několik možností zabezpečení přenášeného provozu v AKS, včetně šifrování na úrovni virtuální sítě a šifrování založeného na WireGuardu. I když oba přístupy zvyšují důvěrnost a integritu síťového provozu, liší se v rozsahu, flexibilitě a požadavcích na nasazení. Tato část vám pomůže pochopit, kdy použít jednotlivá řešení.
Použití šifrování virtuální sítě v případech, kdy
Vyžadujete úplné šifrování vrstvy sítě pro veškerý provoz ve virtuální síti: Šifrování virtuální sítě zajišťuje, aby se veškerý provoz bez ohledu na zatížení nebo vrstvu orchestrace automaticky šifroval při procházení službou Azure Virtual Network.
Potřebujete minimální režii na výkon: Šifrování virtuální sítě využívá hardwarovou akceleraci v podporovaných SKU virtuálních počítačů, přenáší šifrování z operačního systému na základní hardware. Tento návrh poskytuje vysokou propustnost s nízkým využitím procesoru.
Všechny virtuální počítače podporují šifrování virtuální sítě: Šifrování virtuální sítě závisí na SKU virtuálních počítačů, které mají podporu potřebné hardwarové akcelerace. Pokud se vaše infrastruktura skládá výhradně z podporovaných skladových položek, můžete bez problémů povolit šifrování virtuální sítě.
Konfigurace sítě AKS podporují šifrování virtuální sítě: Šifrování virtuální sítě má však určitá omezení, pokud se jedná o síťování podů AKS. Další informace najdete v tématu Podporované scénáře šifrování virtuální sítě.
Použijte šifrování WireGuard, když
Chcete zajistit, aby provoz vaší aplikace byl šifrován napříč všemi uzly, protože šifrování virtuální sítě nešifruje provoz mezi uzly na stejném fyzickém hostiteli.
Chcete sjednotit šifrování napříč více cloudovými nebo hybridními prostředími: WireGuard nabízí cloudové řešení, které umožňuje konzistentní šifrování napříč clustery běžícími v různých poskytovatelích cloudu nebo v místním prostředí.
Nepotřebujete ani nechcete šifrovat veškerý provoz ve virtuální síti: WireGuard umožňuje cílenější strategii šifrování ideální pro zabezpečení citlivých úloh bez nutnosti šifrovat veškerý provoz.
Některé skladové položky virtuálních počítačů nepodporují šifrování virtuální sítě: WireGuard je implementovaný v softwaru a funguje bez ohledu na podporu hardwaru virtuálního počítače, takže je praktickou možností pro heterogenní prostředí.
Úvahy a omezení
• WireGuard není kompatibilní se standardem FIPS . • Šifrování WireGuard se nevztahuje na pody, které používají hostitelskou síť (spec.hostNetwork: true), protože tyto pody používají identitu hostitele namísto toho, aby měly vlastní identity.
Důležité
Šifrování WireGuard funguje na úrovni softwaru, což může představovat latenci a vliv na výkon propustnosti. Rozsah tohoto dopadu závisí na různých faktorech, včetně velikosti virtuálního počítače (SKU uzlu), konfigurace sítě a vzorců provozu aplikací. Naše srovnávací testy značí, že propustnost je omezená na 1,5 Gb/s s MTU 1500; Výsledky se však mohou lišit v závislosti na vlastnostech úloh a konfiguraci clusteru. Použití skladové položky, která podporuje MTU 3900, způsobilo přibližně 2,5x vyšší propustnost. Šifrování WireGuard je sice možné použít spolu se zásadami sítě, ale může to vést k dalšímu snížení výkonu, s nižší propustností a zvýšenou latencí. Pro aplikace citlivé na latenci nebo propustnost důrazně doporučujeme nejprve vyhodnotit WireGuard v neprodukčním prostředí. Stejně jako vždy se výsledky můžou lišit v závislosti na vlastnostech úloh a konfiguraci clusteru.
Pricing
Důležité
Pokročilé služby kontejnerové sítě jsou placená nabídka. Další informace o cenách naleznete v tématu Advanced Container Networking Services – Ceny.
Další kroky
Zjistěte, jak použít šifrování WireGuardu v AKS.
Další informace o Advanced Container Networking Services pro Azure Kubernetes Service (AKS) najdete v tématu Co je Advanced Container Networking Services pro Azure Kubernetes Service (AKS)?.
Prozkoumejte funkce pozorovatelnosti v rámci kontejnerové sítě v pokročilých službách kontejnerového síťování v dokumentu Co je pozorovatelnost sítě kontejnerů?.
Azure Kubernetes Service