Condividi tramite


Panoramica del filtro del nome di dominio completo (FQDN)

Gli ambienti in contenitori presentano sfide di sicurezza univoche. I metodi di sicurezza di rete tradizionali, spesso basati sul filtro basato su indirizzo IP, possono diventare complessi e meno efficaci man mano che gli indirizzi IP cambiano frequentemente. Inoltre, comprendere i modelli di traffico di rete e identificare potenziali minacce può essere complesso.

Il filtro del nome di dominio completo offre un approccio efficiente e intuitivo per la gestione dei criteri di rete. Definendo questi criteri in base ai nomi di dominio anziché agli indirizzi IP, le organizzazioni possono semplificare notevolmente il processo di gestione dei criteri. Questo approccio elimina la necessità di aggiornamenti frequenti che in genere sono necessari quando gli indirizzi IP cambiano, riducendo così il carico amministrativo e riducendo al minimo il rischio di errori di configurazione.

In un cluster Kubernetes gli indirizzi IP dei pod possono cambiare spesso, cosa che rende difficile proteggere i pod con criteri di sicurezza usando gli indirizzi IP. Il filtro del nome di dominio completo consente di creare criteri a livello di pod usando nomi di dominio anziché indirizzi IP, eliminando così la necessità di aggiornare i criteri quando un indirizzo IP cambia.

Annotazioni

Azure CNI basato su Cilium e Kubernetes, versione 1.29 o successiva, è necessario per usare le funzionalità di sicurezza della rete dei contenitori dei servizi avanzati di rete per contenitori.

Componenti del filtro del nome di dominio completo

Agente Cilium: l'agente Cilium è un componente di rete critico che viene eseguito come DaemonSet all'interno dei cluster CNI di Azure basati su Cilium. Gestisce i criteri di rete, bilanciamento del carico e i criteri di rete per i pod nel cluster. Per i pod con criteri FQDN applicati, l'agente Cilium reindirizza i pacchetti all'agente di sicurezza ACNS per la risoluzione DNS e aggiorna i criteri di rete usando i mapping FQDN-IP ottenuti dall'agente di sicurezza ACNS.

Agente di sicurezza ACNS: l'agente di sicurezza ACNS viene eseguito come DaemonSet in Azure CNI basato sul cluster Cilium con i servizi di rete avanzata dei contenitori abilitati. Gestisce la risoluzione DNS per i pod e, in caso di risoluzione DNS corretta, aggiorna l'agente Cilium con FQDN ai mapping IP.

Funzionamento del filtro FQDN

Quando il filtro FQDN è abilitato, le richieste DNS vengono valutate per la prima volta per determinare se devono essere consentite; dopodiché i pod possono accedere solo ai nomi di dominio specificati in base al critero di rete. L'agente Cilium contrassegna i pacchetti di richiesta DNS provenienti dai pod, reindirizzandoli all'agente di sicurezza ACNS. Questo reindirizzamento si verifica solo per i pod che applicano i criteri FQDN.

L'agente di sicurezza ACNS decide quindi se inoltrare una richiesta DNS al server DNS in base ai criteri. Se consentito, la richiesta viene inviata al server DNS e, dopo aver ricevuto la risposta, l'agente di sicurezza ACNS aggiorna l'agente Cilium con il mapping FQDN. Ciò consente all'agente Cilium di aggiornare i criteri di rete all'interno del motore dei criteri. L'immagine seguente illustra il flusso generale del filtro FQDN.

Screenshot che mostra il funzionamento dell'agente di sicurezza ACNS nel filtro FQDN.

Vantaggi principali

Gestione dei criteri di sicurezza scalabile: gli amministratori del cluster e della sicurezza non devono aggiornare i criteri di sicurezza ogni volta che le modifiche di un indirizzo IP rendono le operazioni più efficienti.

Conformità alla sicurezza avanzata: il filtro FQDN supporta un modello di sicurezza Zero Trust. Il traffico di rete è limitato a domini attendibili e riduce pertanto solo i rischi derivanti dall'accesso non autorizzato.

Applicazione resiliente dei criteri: l'agente di sicurezza ACNS implementato con il filtro FQDN garantisce che la risoluzione DNS continui senza problemi anche se l'agente Cilium diventa inattivo e i criteri continuano a rimanere applicati. Questa implementazione garantisce in modo critico che la sicurezza e la stabilità vengano mantenute in ambienti dinamici e distribuiti.

Considerazioni:

  • Le funzionalità di sicurezza di rete dei contenitori richiedono Azure CNI con tecnologia Cilium e Kubernetes versione 1.29 e successive.

  • Supportato da CiliumClusterwideNetworkPolicy (CCNP): il filtro FQDN può essere applicato a livello di cluster tramite CiliumClusterwideNetworkPolicy.

Limitazioni:

  • I criteri FQDN con caratteri jolly sono parzialmente supportati. Ciò significa che è possibile creare criteri che corrispondano a modelli specifici con un carattere jolly iniziale (ad esempio, .example.com), ma non è possibile usare un carattere jolly universale () per trovare la corrispondenza con tutti i domini nel campo spec.egress.toPorts.rules.dns.matchPattern
  • Criterio supportato:

    *.example.com: consente il traffico verso tutti i sottodomini in example.com.

    app*.example.com: questa regola è più specifica e consente solo il traffico verso sottodomini che iniziano con "app" in example.com

  • Criterio non supportato

    * Questo tentativo di cercare una corrispondenza con qualsiasi nome di dominio non è supportato.

  • Il filtro del nome di dominio completo non è attualmente supportato con DNS locale del nodo.
  • I nomi del servizio Kubernetes non sono supportati.
  • Gli altri criteri L7 non sono supportati.
  • I pod FQDN possono presentare una riduzione delle prestazioni quando si gestiscono più di 1.000 richieste al secondo.
  • Se la sicurezza di Advanced Container Networking Services (ACNS) è disabilitata, i criteri FQDN e L7 (HTTP), Kafka e gRPC verranno bloccati.
  • Le immagini dei contenitori basate su Alpine possono riscontrare problemi di risoluzione DNS quando vengono usati con i criteri di rete Cilium. Ciò è dovuto all'iterazione limitata del dominio di ricerca di musl libc. Per risolvere questo problema, definire in modo esplicito tutti i domini di ricerca nelle regole DNS di Criteri di rete usando modelli con caratteri jolly, come nell'esempio seguente
rules:
  dns:
  - matchPattern: "*.example.com"
  - matchPattern: "*.example.com.*.*"
  - matchPattern: "*.example.com.*.*.*"
  - matchPattern: "*.example.com.*.*.*.*"
  - matchPattern: "*.example.com.*.*.*.*.*"
- toFQDNs:
  - matchPattern: "*.example.com"

Tariffazione

Importante

Servizi avanzati di rete per contenitori è un'offerta a pagamento. Per altre informazioni sui prezzi, vedere Servizi di rete dei contenitori avanzati - Prezzi.

Passaggi successivi