Udostępnij za pośrednictwem


Omówienie filtrowania nazw w pełni kwalifikowanych domen (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 w pełni kwalifikowanych domen (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 domen FQDN umożliwia tworzenie zasad na poziomie podów przy użyciu nazw domen zamiast adresów IP, co eliminuje konieczność aktualizacji zasad w przypadku zmiany adresu IP.

Uwaga / Notatka

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 domen w pełni kwalifikowanych (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 Cilium. Zajmuje się sieciowaniem, równoważeniem obciążenia i politykami sieciowymi dla podów w klastrze. W przypadku zasobników z wymuszonymi zasadami FQDN Agent Cilium przekierowuje pakiety do agenta zabezpieczeń ACNS w celu rozpoznawania nazw DNS i aktualizuje zasady sieciowe, używając mapowań FQDN-IP uzyskanych od Agenta Zabezpieczeń ACNS.

Agent zabezpieczeń ACNS: Agent zabezpieczeń ACNS działa jako DaemonSet w Azure CNI obsługiwanym przez klaster Cilium z włączonymi zaawansowanymi usługami sieciowymi dla kontenerów. Obsługuje rozwiązywanie nazw DNS dla zasobników, a po pomyślnym rozpoznaniu aktualizuje agenta Cilium z mapowaniami FQDN do 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 podów, przekierowując je do agenta zabezpieczeń ACNS. To przekierowanie ma miejsce tylko w przypadku podów stosujących się do zasad 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ń ACNS aktualizuje agenta Cilium za pomocą mapowań FQDN. Dzięki temu agent Cilium może zaktualizować zasady sieciowe w silniku zasad. Na poniższej ilustracji przedstawiono ogólny przepływ filtrowania nazw FQDN.

Zrzut ekranu przedstawiający działanie agenta bezpieczeństwa ACNS przy filtrowaniu FQDN.

Najważniejsze 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.

Zwiększona zgodność z bezpieczeństwem: filtrowanie w pełni kwalifikowanych nazw domen (FQDN) obsługuje model zabezpieczeń Zero Trust. Ruch sieciowy jest ograniczony do zaufanych domen tylko ograniczając ryzyko związane z nieautoryzowanym dostępem.

Odporne wymuszanie zasad: Agent zabezpieczeń ACNS, zaimplementowany przy użyciu filtrowania 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:

  • Polityki FQDN z symbolami wieloznacznymi są częściowo obsługiwane. Oznacza to, że można utworzyć zasady pasujące do określonych wzorców z wiodącym wieloznacznikiem (na przykład .example.com), ale nie można użyć uniwersalnego wieloznacznika (), aby dopasować wszystkie domeny na polu spec.egress.toPorts.rules.dns.matchPattern.
  • Obsługiwany wzorzec:

    *.example.com — Umożliwia to ruch do wszystkich poddomen w example.com.

    app*.example.com — Ta reguła jest bardziej szczegółowa i zezwala tylko na ruch do poddomen rozpoczynających się od "app" w domenie example.com

  • Nieobsługiwany wzorzec

    * Próbuje dopasować dowolną nazwę domeny, która nie jest obsługiwana.

  • Filtrowanie pełnych nazw domen (FQDN) nie jest obecnie obsługiwane w lokalnym systemie DNS węzła.
  • Nazwy usług 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ę.
  • Jeśli zabezpieczenia usług Advanced Container Networking Services (ACNS) są wyłączone, zasady FQDN i L7 (HTTP), Kafka i gRPC) będą blokowane.
  • Obrazy kontenerów oparte na Alpine mogą napotkać problemy z rozpoznawaniem nazw DNS w przypadku użycia z politykami sieci Cilium. Jest to spowodowane ograniczonym procesem przeszukiwania domeny przez 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"

Ceny

Ważne

Zaawansowane usługi sieciowe kontenerów to oferta płatna. Aby uzyskać więcej informacji na temat cen, zobacz Advanced Container Networking Services — cennik.

Dalsze kroki