J'ai passé un peu de temps à chercher ce sujet et je n'arrive pas à trouver une réponse exacte. Je suis donc assez confiant que ce n'est pas un doublon. Bien que ma question soit basée sur un besoin de sécurité, je pense que c'est toujours sans danger. demandez ici, mais laissez-moi savoir si je dois le déplacer la communauté de la sécurité.
Essentiellement, les requêtes DNS utilisent-elles déjà le protocole TCP (le cas échéant, quel scénario pourrait-il se produire)? Encore une fois, je ne parle que de requêtes. Est-il possible pour eux de voyager sur TCP? Si les domaines ne peuvent avoir qu'une longueur maximale de 253 octets et que les paquets UDP peuvent atteindre 512 octets, les requêtes ne seront-elles pas toujours envoyées en tant que UDP? Je ne pensais pas qu'une requête résolvable pouvait être assez grosse pour nécessiter l'utilisation de TCP. Si un serveur DNS reçoit une demande pour un domaine de plus de 253 octets, le serveur le laissera-t-il tomber / ne tentera-t-il pas de le résoudre? Je suis certain que j'ai fait de fausses hypothèses ici.
Dans certains cas, je collabore avec le groupe de sécurité pour intégrer des requêtes DNS à leur outil de surveillance de la sécurité. Pour diverses raisons, nous avons décidé de capturer ce trafic via une capture de paquets standard sur des serveurs DNS et des contrôleurs de domaine. La principale exigence est de capturer toutes les requêtes DNS afin qu'elles puissent identifier quel client a tenté de résoudre un domaine donné. Sur la base de cette exigence, nous ne sommes pas concernés par la capture des réponses DNS ou d’autres types de trafic, tels que les transferts de zone, car nous devons également limiter le plus possible le volume des journaux. En tant que tel, nous prévoyons de ne capturer que les requêtes DNS destinées au serveur DNS et envoyées via UDP. Pour plus de contexte (genre de champ de question rampant ici), il a maintenant été évoqué que nous pourrions avoir besoin d'étendre la sécurité ' ■ visibilité afin qu'ils puissent surveiller les activités telles que les canaux cachés fonctionnant sur DNS (ce qui présenterait également le besoin de capturer les réponses DNS, puis le trafic TCP). Mais même dans ce type de scénario, je pensais que tout trafic DNS sortant serait sous forme de recherches / requêtes, et que celles-ci seraient toujours via UDP, même si elles provenaient d'une source malveillante (en raison de mon raisonnement dans le premier paragraphe). Cela soulève donc quelques questions supplémentaires:
Ne pourrions-nous pas au moins capturer la moitié de la conversation avec l'approche que j'ai décrite? Ou un client pourrait-il jamais envoyer du trafic DNS qui ne soit pas sous la forme d'une requête? (peut-être comme une sorte de réponse à la réponse d'un serveur DNS, et finit peut-être par TCP)
Les requêtes DNS peuvent-elles être modifiées pour utiliser TCP? Un serveur DNS accepterait-il et répondrait-il à une requête DNS via TCP?
Nous ne savons pas si cela est pertinent, mais nous limitons les requêtes DNS aux serveurs DNS autorisés et bloquons tout autre trafic sortant sur le port 53. Je suis définitivement un débutant. Je suis donc désolé si ma question n'est pas conforme et informez-moi. comment je devrais modifier.
la source
Réponses:
Les requêtes DNS normales utilisent le port UDP 53, mais les requêtes plus longues (> 512 octets) recevront une réponse "tronquée", ce qui entraînera une conversation TCP 53 facilitant l'envoi / la réception de l'intégralité de la requête. En outre, le serveur DNS se connecte au port 53, mais la requête elle-même provient d'un port aléatoire portant le numéro élevé (49152 ou supérieur) envoyé au port 53. La réponse sera renvoyée à ce même port à partir du port 53.
Ports réseau utilisés par DNS | Microsoft Docs
Par conséquent, si vous envisagez de surveiller de manière sécurisée les requêtes DNS de votre réseau, vous devez tenir compte de ce qui précède.
En ce qui concerne le trafic autre que de recherche, considérons que DNS utilise également les transferts de zone (type de requête AXFR) pour mettre à jour d'autres serveurs DNS avec de nouveaux enregistrements. Un homme au milieu de l'attaque peut commencer par un tel transfert, en DDOS sur un serveur de noms principal afin qu'il soit trop occupé pour répondre à une demande secondaire demandant des enregistrements mis à jour. Le pirate informatique usurpe ensuite ce même primaire pour alimenter les enregistrements «empoisonnés» vers le secondaire, qui redirige les domaines DNS courants vers des hôtes compromis.
Votre audit de sécurité doit donc porter une attention particulière au type de requête AXFR et vos systèmes DNS ne doivent accepter que les échanges AXFR d'adresses IP spécifiques.
SANS Institute Salle de lecture InfoSec | sans.org
la source
Cela a commencé comme un commentaire sur la réponse de George, mais cela a pris du temps. La situation dans son ensemble est quelque peu compliquée, car elle nécessite une compréhension de l’histoire.
La RFC 1035 appelait à l'origine à une limite de 512 octets afin d'éviter la fragmentation UDP. Les datagrammes UDP fragmentés et le protocole TCP ont été choisis en dernier recours afin de minimiser le temps système des transactions DNS. Les transferts de zone utilisent toujours TCP, du fait que les transferts de zone prennent> 512 octets par leur nature même. (commencer par UDP serait un gaspillage de bande passante)
Les nouvelles tentatives TCP sur la troncature sont largement prises en charge car elles sont spécifiées dans la RFC 1123 depuis 1989.
EDNS (0) est défini par la RFC 6891 (2013) et existait auparavant sous la forme d’une proposition de norme datant de 1999 . Il définit un mécanisme permettant aux clients et aux serveurs de négocier des tailles UDP supérieures à 512. En raison de la nouveauté de EDNS (0), de nombreuses appliances matérielles émettent des hypothèses sur la structure des paquets DNS qui entraînent leur élimination. La raison la plus fréquente est l'hypothèse selon laquelle les messages DNS de plus de 512 octets sont invalides, mais il s'agit d'un message parmi plusieurs.
Si nous divisons cela dans les comportements observés:
Vous devez également garder à l'esprit que la norme RFC 7766 permet la réutilisation de connexion sur TCP et qu'il est possible de rencontrer le traitement en différé des requêtes sur TCP dans la nature. Certains outils ne détectent pas les requêtes DNS au-delà de la première constatée dans une session TCP, dnscap en étant un exemple.
la source
Il existe RFC 7766, Transport DNS sur TCP - Exigences d'implémentation .
la source
INTERNET STANDARD
RFC est tools.ietf.org/html/rfc1034 . Vous citez unPROPOSED STANDARD
pour requérir TCP.Vous ne devez pas filtrer TCP / 53 dans aucune direction. Par exemple, les
nsupdate
requêtes peuvent utiliser TCP dès que la requête est trop grosse (ce qui peut arriver rapidement). Vous devez donc laisser UDP et TCP pour le port 53 (dans IPv4 et V6!) S’écouler dans toutes les directions.De plus, le travail sur DNS sur TLS est de plus en plus important, de sorte que TCP sera nécessaire dans les deux sens. Voir RFC7858.
la source