Co to jest zabezpieczenia sieci kontenera?
Container Network Security to oferta usług Advanced Container Networking Services , która zapewnia rozszerzoną kontrolę nad ruchem sieciowym między kontenerami. Zabezpieczenia sieci kontenerów wykorzystują zasady oparte na cilium, oferując bardziej szczegółowe i przyjazne dla użytkownika podejście do zarządzania zabezpieczeniami sieci w porównaniu z tradycyjnymi metodami opartymi na protokole IP.
Funkcje zabezpieczeń sieci kontenerów
Obecnie pierwszą funkcją dostępną w ramach zabezpieczeń sieci kontenera jest filtrowanie nazw FQDN. Dzięki temu można definiować zasady zabezpieczeń sieci na podstawie nazw domen, zapewniając bardziej szczegółowe i przyjazne dla użytkownika podejście do zarządzania ruchem sieciowym.
Omówienie filtrowania nazw FQDN
Środowiska konteneryzowane stanowią unikatowe wyzwania związane z zabezpieczeniami. Tradycyjne metody zabezpieczeń sieci, często zależne od filtrowania opartego na adresach IP, mogą stać się kłopotliwe i mniej skuteczne, ponieważ często zmieniają się adresy IP. Ponadto zrozumienie wzorców ruchu sieciowego i identyfikowanie potencjalnych zagrożeń może być złożone.
Filtrowanie nazw FQDN oferuje wydajne i przyjazne dla użytkownika podejście do zarządzania zasadami sieciowymi. Definiując te zasady na podstawie nazw domen, a nie adresów IP, organizacje mogą znacznie uprościć proces zarządzania zasadami. Takie podejście eliminuje potrzebę częstych aktualizacji, które są zwykle wymagane w przypadku zmiany adresów IP, w wyniku zmniejszenia obciążenia administracyjnego i zminimalizowania ryzyka błędów konfiguracji.
W klastrze Kubernetes adresy IP zasobników mogą się często zmieniać, co utrudnia zabezpieczenie zasobników przy użyciu zasad zabezpieczeń przy użyciu adresów IP. Filtrowanie nazw FQDN umożliwia tworzenie zasad na poziomie zasobnika przy użyciu nazw domen, a nie adresów IP, co eliminuje konieczność aktualizowania zasad w przypadku zmiany adresu IP.
Uwaga
Usługa Azure CNI obsługiwana przez rozwiązania Cilium i Kubernetes w wersji 1.29 lub nowszej jest wymagana w celu korzystania z funkcji zabezpieczeń sieci kontenerów w usługach Advanced Container Networking Services.
Składniki filtrowania nazw FQDN
Agent Cilium: Agent Cilium jest krytycznym składnikiem sieciowym, który działa jako element DaemonSet w klastrach usługi Azure CNI obsługiwanych przez rozwiązanie Cilium. Obsługuje ona sieci, równoważenie obciążenia i zasady sieci dla zasobników w klastrze. W przypadku zasobników z wymuszonymi zasadami FQDN agent cilium przekierowuje pakiety do agenta zabezpieczeń ACNS na potrzeby rozpoznawania nazw DNS i aktualizuje zasady sieciowe przy użyciu mapowań FQDN-IP uzyskanych z agenta zabezpieczeń ACNS.
Agent zabezpieczeń ACNS: agent zabezpieczeń ACNS działa jako demonset w usłudze Azure CNI obsługiwanej przez klaster Cilium z włączonymi usługami Advanced Container Networking. Obsługuje rozpoznawanie nazw DNS dla zasobników i pomyślne rozpoznawanie nazw DNS, aktualizuje agenta Cilium za pomocą nazwy FQDN do mapowań adresów IP.
Jak działa filtrowanie nazw FQDN
Po włączeniu filtrowania nazw FQDN żądania DNS są najpierw oceniane w celu określenia, czy powinny być dozwolone, po których zasobniki mogą uzyskiwać dostęp tylko do określonych nazw domen na podstawie zasad sieciowych. Agent cilium oznacza pakiety żądań DNS pochodzące z zasobników, przekierowując je do agenta zabezpieczeń USŁUGI ACNS. To przekierowanie odbywa się tylko w przypadku zasobników wymuszających zasady FQDN.
Następnie agent zabezpieczeń ACNS decyduje, czy przesłać żądanie DNS do serwera DNS na podstawie kryteriów zasad. Jeśli jest to dozwolone, żądanie jest wysyłane do serwera DNS, a po otrzymaniu odpowiedzi agent zabezpieczeń USŁUGI ACNS aktualizuje agenta cilium za pomocą mapowań nazw FQDN. Dzięki temu agent Cilium może zaktualizować zasady sieciowe w aucie zasad. Na poniższej ilustracji przedstawiono ogólny przepływ filtrowania nazw FQDN.
Główne korzyści
Skalowalne zarządzanie zasadami zabezpieczeń: administratorzy klastrów i zabezpieczeń nie muszą aktualizować zasad zabezpieczeń za każdym razem, gdy zmiany adresu IP sprawiają, że operacje są wydajniejsze.
Ulepszona zgodność z zabezpieczeniami: filtrowanie nazw FQDN obsługuje model zabezpieczeń Zero Trust. Ruch sieciowy jest ograniczony do zaufanych domen tylko ograniczając ryzyko związane z nieautoryzowanym dostępem.
Wymuszanie zasad odpornych: agent zabezpieczeń USŁUGI ACNS zaimplementowany przy użyciu filtrowania nazw FQDN gwarantuje, że rozpoznawanie nazw DNS będzie kontynuowane bezproblemowo, nawet jeśli agent cilium ulegnie awarii, a zasady będą nadal wymuszane. Ta implementacja ma krytyczne znaczenie dla zapewnienia, że zabezpieczenia i stabilność są utrzymywane w dynamicznych i rozproszonych środowiskach.
Zagadnienia do rozważenia:
- Funkcje zabezpieczeń sieci kontenerów wymagają usługi Azure CNI obsługiwanej przez rozwiązania Cilium i Kubernetes w wersji 1.29 lub nowszej.
Ograniczenia:
- Zasady nazw FQDN symboli wieloznacznych są częściowo obsługiwane. Oznacza to, że można tworzyć zasady pasujące do określonych wzorców z wiodącym symbolem wieloznacznymi (np . .example.com), ale nie można użyć uniwersalnego symbolu wieloznakowego (), aby dopasować wszystkie domeny w polu
spec.egress.toPorts.rules.dns.matchPattern
Obsługiwany wzorzec:
*.example.com
— Umożliwia to ruch do wszystkich poddomen w example.com.Nieobsługiwany wzorzec
*
Próbuje dopasować dowolną nazwę domeny, która nie jest obsługiwana.
- Filtrowanie nazw FQDN nie jest obecnie obsługiwane w przypadku lokalnego systemu DNS węzła.
- Podwójny stos nie jest obsługiwany.
- Nazwy usługi Kubernetes nie są obsługiwane.
- Inne zasady L7 nie są obsługiwane.
- Zasobniki FQDN mogą wykazywać spadek wydajności w przypadku obsługi ponad 1000 żądań na sekundę.
- Obrazy kontenerów oparte na alpine mogą napotkać problemy z rozpoznawaniem nazw DNS w przypadku użycia z zasadami sieci cilium. Jest to spowodowane ograniczoną iteracją domeny wyszukiwania musl libc. Aby obejść ten proces, jawnie zdefiniuj wszystkie domeny wyszukiwania w regułach DNS zasad sieciowych przy użyciu wzorców wieloznacznych, jak w poniższym przykładzie
rules:
dns:
- matchPattern: "*.example.com"
- matchPattern: "*.example.com.*.*"
- matchPattern: "*.example.com.*.*.*"
- matchPattern: "*.example.com.*.*.*.*"
- matchPattern: "*.example.com.*.*.*.*.*"
- toFQDNs:
- matchPattern: "*.example.com"
Cennik
Ważne
Advanced Container Networking Services to płatna oferta. Aby uzyskać więcej informacji na temat cen, zobacz Advanced Container Networking Services — cennik.
Następne kroki
Dowiedz się, jak włączyć zabezpieczenia sieci kontenera w usłudze AKS.
Dowiedz się, jak społeczność open source tworzy zasady sieci cilium.
Aby uzyskać więcej informacji na temat usług Advanced Container Networking Services dla usługi Azure Kubernetes Service (AKS), zobacz Co to jest usługa Advanced Container Networking Services dla usługi Azure Kubernetes Service (AKS)?.
Zapoznaj się z funkcjami obserwacji sieci kontenerów w usłudze Advanced Container Networking Services w temacie Co to jest obserwowanie sieci kontenerów?.
Azure Kubernetes Service