Cisco France Blog

DNS-AS – mieux gérer les applications grâce au DNS

3 min read



La reconnaissance applicative est un sport! Les applications évoluent toujours plus rapidement, sont quasiment systématiquement chiffrées, et reconnaître une application n’a jamais été aussi complexe.

NBAR2 permet via une approfondie des flux (DPI – Deep Packet Inspection) de reconnaître environ 1500 applications. On va analyser les flux dans le détail, regarder les certificats échangés, extraire des url spécifiques etc… le tout pouvant être bien sûr customisé en fonction des besoin de chacun. Malheureusement le chiffrement quasi systématique des flux nécessite toujours plus de ressources. Comment concilier le besoin de chiffrement avec la capacité de faire la distinction entre les applications? Comment donner le traitement adapté de bout en bout(QoS, routage intelligent…) à chaque application quand ces dernières sont toutes chiffrées? Et si on utilisait simplement le DNS pour cela? C’est bien l’objectif de DNS-AS: tirer profit du DNS pour mieux gérer les applications sur le réseau.

Comment ça marche?

Le concept est très simple. L’équipement réseau va effectuer un snooping des requêtes DNS puis demander au serveur DNS des informations quant à la nature de l’application et la classification désirée. Cette demande se fait simplement via une requête DNS vers le hostname  en question. Il suffit de configurer le DNS avec des records spécifiques (AVC – ou TXT) qui donneront des détails sur l’application correspondant au hostname interrogé. Le routeur garde en mémoire les informations retournées par le serveur DNS et sait comment gérer l’application concernée par la requête.

dns-as-client

Metadata

Un record spécifique AVC ou TXT permet de décrire une application dans le DNS (le champ TXT a été initialement utilisé pour cela mais le record dédié “AVC” est maintenant adopté pour la suite). Ce record doit suivre une syntaxe précise en listant des séquentiellement pour décrire l’application en question. On suit ici la nomenclature documentée dans le RFC6759 “Metadata Components for Application Visibility”.

Je pourrais par exemple pour www.reseauxblog.fr rajouter le record

AVC   "app-name:jeromedurand|app-class:BE|business=yes"

ou avec le record TXT

TXT   "CISCO-CLS=app-name:jeromedurand|app-class:BE|business=yes"

Ainsi le trafic vers le blog pourra être considéré par l’équipement traversé comme associé à l’application “jeromedurand”. Ce flux sera associé à la classe “Best Effort”, et il sera considéré comme étant un usage professionnel. Ces metadata viendront décrire le flux dans la table de flux du routeur. Ces metadata seront bien sûr ensuite exportées par le routeur vers la NMS via Netflow ou IPFIX pour afficher des statistiques détaillées sur les flux en question. Ci-dessous un exemple simple de rapport dans Prime qui affiche des infos pour des flux reconnus avec DNS-AS.

prime-dns-as

Si créer vos Metadata vous semble trop compliqué vous pouvez utilisé un generateur disponible ici.

Un premier test pour être sur de bien comprendre…

Vous pouvez faire ce petit test sur le hostname www.dns-as.org, site référence pour DNS-AS que je recommande:

dig -t TXT +short www.dns-as.org
"CISCO-CLS=app-name:dns-as-www|app-class:TD|business:YES|app-id:CU/28202"

Ici le le trafic vers le site sera reconnu comme application professionelle “dns-as-www”, associé à un identifiant 28202, et placé dans la classe de service TD (Transactional Data)

Pourquoi DNS-AS?

L’avantage de DNS-AS est que c’est une méthode simple qui n’analyse pas le contenu des paquets: elle nécessite donc peu de ressources. On a ainsi pu implémenter DNS-AS non seulement sur nos routeurs ASR1000, ISR 4000 et CSR, mais aussi sur les commutateurs catalyst 4500 (et d’ici peu sur les catalyst 3650/3850). Si l’on ne va pas aussi loin dans le détail qu’avec NBAR2 et l’analyse complète des paquets, on dispose d’un premier niveau d’analyse directement contrôlable par un serveur centralisé. Ce contrôle centralisé, très en vogue avec la mouvance SDN, permet de très simplement modifier les caractéristique d’une application sur l’ensemble du réseau via un simple changement sur le DNS. NBAR2 continue bien sûr de travailler en parallèle pour les applications non gérées par DNS-AS.

Envie d’essayer?

Configurez simplement votre équipement, avec vos serveurs DNS, activez DNS-AS, et listez les domaines pour lesquels vous souhaitez obtenir des metadata. Par exemple:

ip name-server 10.100.10.100
!
avc dns-as client enable
!
avc dns-as client trusted-domains
domain *.reseauxblog.fr
domain *.dns-as.org

Les bindings entre hosts, IP et metadata peuvent être vus ensuite sur l’équipement:

stealth-odd#show avc dns-as client binding-table

dns-as-binding
Plus d’infos:

@JeromeDurand

 

Authors

Jerome Durand

Technical Solutions Architect

Laisser un commentaire