Übersicht über die FQDN-Filterung

Containerisierte Umgebungen bringen besondere Sicherheitsprobleme mit sich. Herkömmliche Netzwerksicherheitsmethoden, die häufig auf IP-basierte Filterung angewiesen sind, können umständlich und weniger effektiv werden, da sich die IP-Adressen häufig ändern. Darüber hinaus können das Verständnis von Netzwerkdatenverkehrsmustern und die Identifizierung potenzieller Bedrohungen komplex sein.

Die FQDN-Filterung bietet einen effizienten und benutzerfreundlichen Ansatz für die Verwaltung von Netzwerkrichtlinien. Durch Definieren dieser Richtlinien, die auf Domänennamen und nicht auf IP-Adressen basieren, können Organisationen den Prozess der Richtlinienverwaltung erheblich vereinfachen. Dieser Ansatz beseitigt die Notwendigkeit häufiger Aktualisierungen, die in der Regel erforderlich sind, wenn IP-Adressen geändert werden. Dadurch wird der Verwaltungsaufwand verringert, und das Risiko von Konfigurationsfehlern wird minimiert.

In einem Kubernetes-Cluster können sich Pod-IP-Adressen häufig ändern, was es schwierig macht, die Pods mit Sicherheitsrichtlinien mithilfe von IP-Adressen zu sichern. Über die FQDN-Filterung können Sie Richtlinien auf Podebene mithilfe von Domänennamen anstelle von IP-Adressen erstellen, sodass die Notwendigkeit beseitigt wird, Richtlinien zu aktualisieren, wenn sich eine IP-Adresse ändert.

Hinweis

Azure CNI Powered by Cilium und die Kubernetes-Version 1.29 oder höher sind erforderlich, um die Features der Containernetzwerksicherheit von Erweiterte Container-Netzwerkdienste wie FQDN-Filterung verwenden zu können.

Komponenten der FQDN-Filterung

Cilium Agent: Der Cilium-Agent ist eine wichtige Netzwerkkomponente, die als DaemonSet in Azure CNI Powered by Cilium-Clustern ausgeführt wird. Er behandelt Netzwerkverkehr, Lastenausgleich und Netzwerkrichtlinien für Pods im Cluster. Für Pods mit erzwungenen FQDN-Richtlinien leitet der Cilium-Agent Pakete an den ACNS-Sicherheitsagent für die DNS-Auflösung um und aktualisiert die Netzwerkrichtlinie mithilfe der FQDN-IP-Zuordnungen, die vom ACNS-Sicherheitsagent abgerufen wurden.

ACNS-Sicherheitsagent: Der ACNS-Sicherheitsagent wird als DaemonSet in Azure CNI Powered by Cilium-Cluster ausgeführt, wobei erweiterte Containernetzwerkdienste aktiviert sind. Er verarbeitet die DNS-Auflösung für Pods und aktualisiert bei erfolgreicher DNS-Auflösung den Cilium-Agent mit FQDN für IP-Zuordnungen.

Funktionsweise der FQDN-Filterung

Wenn die FQDN-Filterung aktiviert ist, werden DNS-Anforderungen zuerst ausgewertet, um festzustellen, ob sie zugelassen werden sollen. Anschließen können Pods nur auf angegebene Domänennamen basierend auf der Netzwerkrichtlinie zugreifen. Der Cilium-Agent kennzeichnet DNS-Anforderungspakete, die von den Pods stammen, und leitet sie an den ACNS-Sicherheitsagent um. Diese Umleitung erfolgt nur für Pods, die FQDN-Richtlinien erzwingen.

Der ACNS-Sicherheitsagent entscheidet dann, ob eine DNS-Anforderung basierend auf den Richtlinienkriterien an den DNS-Server weitergeleitet werden soll. Wenn dies zulässig ist, wird die Anforderung an den DNS-Server gesendet, und beim Empfang der Antwort aktualisiert der ACNS-Sicherheitsagent den Cilium-Agent mit FQDN-Zuordnungen. Dadurch kann der Cilium-Agent die Netzwerkrichtlinie innerhalb der Richtlinien-Engine aktualisieren. Die folgende Abbildung zeigt den allgemeinen Fluss der FQDN-Filterung.

Screenshot der Funktionsweise des ACNS-Sicherheitsagents bei der FQDN-Filterung.

Hauptvorteile

Skalierbare Sicherheitsrichtlinienverwaltung: Cluster- und Sicherheitsadministratoren müssen Sicherheitsrichtlinien nicht jedes Mal aktualisieren, wenn eine IP-Adresse geändert wird, sodass Vorgänge effizienter ablaufen.

Verbesserte Sicherheitscompliance: Die FQDN-Filterung unterstützt ein Zero Trust-Sicherheitsmodell. Der Netzwerkdatenverkehr ist nur auf vertrauenswürdige Domänen beschränkt, sodass Risiken durch nicht autorisierten Zugriff verringert werden.

Robuste Richtlinienerzwingung: Der mit FQDN-Filter implementierte ACNS-Sicherheits-Agent stellt sicher, dass die DNS-Auflösung auch bei einem Ausfall des Cilium-Agents nahtlos fortgesetzt wird und Richtlinien weiterhin umgesetzt werden. Diese Implementierung stellt kritisch sicher, dass Sicherheit und Stabilität in dynamischen und verteilten Umgebungen beibehalten werden.

Betrachtungen:

  • Features der Containernetzwerksicherheit erfordern Azure CNI unterstützt von Cilium und Kubernetes, Version 1.29 und höher.

  • Unterstützt von CiliumClusterwideNetworkPolicy (CCNP). Die FQDN-Filterung kann cluster-weit über CiliumClusterwideNetworkPolicy angewendet werden.

Einschränkungen:

  • Kubernetes-Dienstnamen werden nicht unterstützt.
  • Andere L7-Richtlinien werden nicht unterstützt.
  • FQDN-Pods können Leistungsbeeinträchtigungen aufweisen, wenn mehr als 1.000 Anforderungen pro Sekunde verarbeitet werden.
  • Wenn die Sicherheit von Advanced Container Networking Services (ACNS) deaktiviert ist, werden FQDN- und L7-Richtlinien (HTTP(s), Kafka und gRPC blockiert.
  • Bei Alpine-basierten Containerimages können Probleme mit der DNS-Auflösung auftreten, wenn sie mit Cilium-Netzwerkrichtlinien verwendet werden. Dies ist auf die eingeschränkte Suchdomäneniteration von musl libc zurückzuführen. Um diese Einschränkung zu umgehen, definieren Sie explizit alle Suchdomänen in den DNS-Regeln der Netzwerkrichtlinie mithilfe von Wildcardmustern, wie im folgenden Beispiel.
rules:
  dns:
  - matchPattern: "*.example.com"
  - matchPattern: "*.example.com.*.*"
  - matchPattern: "*.example.com.*.*.*"
  - matchPattern: "*.example.com.*.*.*.*"
  - matchPattern: "*.example.com.*.*.*.*.*"
- toFQDNs:
  - matchPattern: "*.example.com"

Preisgestaltung

Von Bedeutung

Die erweiterten Container-Netzwerkdienste werden in Zukunft ein kostenpflichtiges Angebot sein. Weitere Informationen zu den Preisen finden Sie unter Erweiterte Container-Netzwerkdienste – Preise.

Nächste Schritte