Dela via


Vad är Container Network Security?

Container Network Security är ett erbjudande av Advanced Container Networking Services som ger förbättrad kontroll över nätverkstrafik mellan containrar. Container Network Security utnyttjar Cilium-baserade principer och erbjuder en mer detaljerad och användarvänlig metod för att hantera nätverkssäkerhet jämfört med traditionella IP-baserade metoder.

Funktioner i Container Network Security

Från och med idag är den första funktionen som är tillgänglig i Container Network Security FQDN-filtrering. På så sätt kan du definiera nätverkssäkerhetsprinciper baserat på domännamn, vilket ger en mer detaljerad och användarvänlig metod för att hantera nätverkstrafik.

Översikt över FQDN-filtrering

Containerbaserade miljöer medför unika säkerhetsutmaningar. Traditionella nätverkssäkerhetsmetoder, som ofta är beroende av IP-baserad filtrering, kan bli besvärliga och mindre effektiva när IP-adresser ofta ändras. Dessutom kan det vara komplicerat att förstå nätverkstrafikmönster och identifiera potentiella hot.

FQDN-filtrering erbjuder en effektiv och användarvänlig metod för att hantera nätverksprinciper. Genom att definiera dessa principer baserat på domännamn i stället för IP-adresser kan organisationer avsevärt förenkla processen för principhantering. Den här metoden eliminerar behovet av frekventa uppdateringar som vanligtvis krävs när IP-adresser ändras, vilket minskar den administrativa bördan och minimerar risken för konfigurationsfel.

I ett Kubernetes-kluster kan podd-IP-adresser ändras ofta, vilket gör det svårt att skydda poddarna med säkerhetsprinciper med ip-adresser. Med FQDN-filtrering kan du skapa principer på poddnivå med hjälp av domännamn i stället för IP-adresser, vilket eliminerar behovet av att uppdatera principer när en IP-adress ändras.

Kommentar

Azure CNI som drivs av Cilium och Kubernetes version 1.29 eller senare krävs för att kunna använda säkerhetsfunktionerna i Container Network i Advanced Container Networking Services.

Komponenter i FQDN-filtrering

Cilium Agent: Cilium Agent är en viktig nätverkskomponent som körs som en DaemonSet i Azure CNI-kluster som drivs av Cilium. Den hanterar nätverks-, belastningsutjämnings- och nätverksprinciper för poddar i klustret. För poddar med framtvingade FQDN-principer omdirigerar Cilium-agenten paket till ACNS-säkerhetsagenten för DNS-matchning och uppdaterar nätverksprincipen med hjälp av FQDN-IP-mappningar som hämtats från ACNS-säkerhetsagenten.

ACNS-säkerhetsagent: ACNS-säkerhetsagenten körs som DaemonSet i Azure CNI som drivs av Cilium-kluster med avancerade containernätverkstjänster aktiverade. Den hanterar DNS-matchning för poddar och vid lyckad DNS-matchning uppdaterar den Cilium Agent med FQDN till IP-mappningar.

Så här fungerar FQDN-filtrering

När FQDN-filtrering är aktiverat utvärderas FÖRST DNS-begäranden för att avgöra om de ska tillåtas varefter poddar endast kan komma åt angivna domännamn baserat på nätverksprincipen. Cilium-agenten markerar DNS-begärandepaket som kommer från poddarna och omdirigerar dem till ACNS-säkerhetsagenten. Den här omdirigeringen sker endast för poddar som tillämpar FQDN-principer.

ACNS-säkerhetsagenten bestämmer sedan om en DNS-begäran ska vidarebefordras till DNS-servern baserat på principvillkoren. Om det tillåts skickas begäran till DNS-servern, och när svaret tas emot uppdaterar ACNS-säkerhetsagenten Cilium-agenten med FQDN-mappningar. På så sätt kan Cilium-agenten uppdatera nätverksprincipen i principmotorn. Följande bild illustrerar det övergripande flödet av FQDN-filtrering.

Skärmbild som visar hur ACNS-säkerhetsagenten fungerar i FQDN-filtrering.

Viktiga fördelar

Skalbar hantering av säkerhetsprinciper: Kluster- och säkerhetsadministratörer behöver inte uppdatera säkerhetsprinciper varje gång en IP-adress ändras, vilket gör åtgärderna mer effektiva.

Förbättrad säkerhetsefterlevnad: FQDN-filtrering stöder en Nolltillit säkerhetsmodell. Nätverkstrafiken är begränsad till betrodda domäner som endast minskar riskerna med obehörig åtkomst.

Elastisk principtillämpning: ACNS-säkerhetsagenten som implementeras med FQDN-filtrering säkerställer att DNS-matchningen fortsätter sömlöst även om Cilium-agenten slutar fungera och principerna fortsätter att tillämpas. Den här implementeringen säkerställer kritiskt att säkerhet och stabilitet upprätthålls i dynamiska och distribuerade miljöer.

Överväganden:

  • Säkerhetsfunktioner för containernätverk kräver Azure CNI som drivs av Cilium och Kubernetes version 1.29 och senare.

Begränsningar:

  • FQDN-principer för jokertecken stöds delvis. Det innebär att du kan skapa principer som matchar specifika mönster med ett ledande jokertecken (t.ex. .example.com), men du kan inte använda ett universellt jokertecken () för att matcha alla domäner i fältet spec.egress.toPorts.rules.dns.matchPattern
  • Mönster som stöds:

    *.example.com – Detta tillåter trafik till alla underdomäner under example.com.

  • Mönster som inte stöds

    * Detta försöker matcha domännamn som inte stöds.

  • FQDN-filtrering stöds för närvarande inte med nodlokal DNS.
  • Dubbel stack stöds inte.
  • Kubernetes-tjänstnamn stöds inte.
  • Andra L7-principer stöds inte.
  • FQDN-poddar kan uppvisa prestandaförsämring vid hantering av mer än 1 000 begäranden per sekund.
  • Alpine-baserade containeravbildningar kan stöta på DNS-matchningsproblem när de används med Cilium-nätverksprinciper. Detta beror på musl libcs begränsade iteration av sökdomäner. Om du vill kringgå detta definierar du uttryckligen alla sökdomäner i nätverksprincipens DNS-regler med hjälp av jokerteckenmönster, som i exemplet nedan
rules:
  dns:
  - matchPattern: "*.example.com"
  - matchPattern: "*.example.com.*.*"
  - matchPattern: "*.example.com.*.*.*"
  - matchPattern: "*.example.com.*.*.*.*"
  - matchPattern: "*.example.com.*.*.*.*.*"
- toFQDNs:
  - matchPattern: "*.example.com"

Prissättning

Viktigt!

Advanced Container Networking Services är ett betalerbjudande. Mer information om priser finns i Advanced Container Networking Services – Prissättning.

Nästa steg