Pourquoi plusieurs enregistrements PTR dans le DNS ne sont pas recommandés?

36

Je lis souvent que l'utilisation de plusieurs enregistrements PTR dans une configuration DNS n'est pas recommandée.

Cependant, les raisons sont souvent vagues ou moins évidentes:

  • "cela peut causer des problèmes",
  • "peut déclencher des bogues dans les programmes qui n'attendent qu'une seule réponse": c'est le problème du logiciel, n'est-ce pas?!
  • "peut rendre le paquet de réponse DNS trop volumineux": cela n'est-il pas corrigé avec EDNS ?

Sont-ce de bonnes raisons? Connaissez-vous d'autres (bonnes) raisons? Tout cela ressemble un peu à une "peur de l'héritage" ...

Totor
la source
4
Pourquoi voulez-vous avoir plusieurs enregistrements PTR pour une seule adresse IP? Je ne peux pas penser à une raison qui aurait du sens de le faire.
Per von Zweigbergk
3
@PervonZweigbergk Ce n'est pas ce que j'ai demandé, mais par exemple, parce que plusieurs noms pointent vers la même adresse IP et que l'inverse doit correspondre à tous.
Totor
10
@PervonZweigbergk Imaginez un serveur de messagerie qui gère le courrier pour plusieurs domaines. Vous souhaiterez peut-être utiliser un nom dans le domaine pour lequel vous envoyez un courrier dans la EHLOcommande. Certains destinataires exigent que vous ayez un PTRenregistrement correspondant au domaine dans votre EHLOcommande, sinon ils n'accepteront pas le courrier de votre part. Mais si vous avez plusieurs PTRenregistrements, ils peuvent simplement en choisir un au hasard, et si celui-ci ne correspond pas à la EHLOcommande, le courrier est rejeté.
Kasperd
3
Je sais que ce n'est pas ce que vous avez demandé, c'est pourquoi j'ai posé cette question via un commentaire et non comme une réponse. :-) Vous n'avez jamais mentionné de quelle application vous parlez. Vous feriez bien de préciser que vous parlez du contexte du courrier électronique sortant, ce que spécule @kasperd.
Per von Zweigbergk
2
@ kasperd Je suppose que quelqu'un voudra peut-être faire cela, mais le faire est non conventionnel et cause inutilement la situation problématique sur laquelle porte la question. Un serveur de messagerie doit uniquement utiliser un nom unique dans ses EHLOcommandes, quel que soit le nombre de domaines pour lesquels il gère le courrier. Le nom dans HELO/ EHLOest censé identifier le serveur de messagerie lui-même, sans rapport avec les adresses de messagerie MAIL FROMou From.
Håkan Lindqvist

Réponses:

19

L’ PTRenregistrement d’un nom inversé (par exemple 7.2.0.192.in-addr.arpa) doit identifier le nom canonique associé à cette adresse IP.

Les pointeurs de passerelle aux nœuds du réseau et les hôtes normaux aux nœuds d'adresses complètes utilisent le RR PTR pour renvoyer les noms de domaine principaux des hôtes correspondants.

De: http://tools.ietf.org/html/rfc1035#section-3.5

Cette attente se reflète dans les logiciels qui effectuent des recherches inversées. souvent, un tel logiciel attend spécifiquement un nom unique et s'attend à pouvoir utiliser ce nom comme nom canonique pour cet hôte. Si plusieurs noms sont renvoyés, il est courant d’en prendre un au hasard car ils n’ont absolument aucun moyen de savoir lequel vous auriez préféré pour cette occasion particulière.

Comme on s’attend généralement à ce qu’un seul nom canonique soit associé à une adresse IP et que ce nom est ce qu’il PTRconvient de pointer, l’ajout de plusieurs noms n’a généralement aucun effet positif (rien ne s’attend à ce que tout enregistrement A/ AAAAenregistrement ait une correspondance PTR), mais il a un potentiel. L’inconvénient est que cela peut entraîner des résultats étranges car vous n’avez aucun contrôle sur l’utilisation de vos PTRenregistrements si vous en avez ajouté plus d’un.

En substance, si vous avez plusieurs PTRenregistrements, vous ne donnez pas à votre hôte une apparence plus légitime, mais vous faites courir le risque d'échouer à une validation ou de casser quelque chose.

Comme métaphore peut-être un peu extrême, remettre cinq passeports avec votre photo mais avec des noms différents à l'aéroport ne sera probablement pas reçu aussi bien que si vous en remettiez un.

Håkan Lindqvist
la source
Explications sur "un nom canonique": dans les cas où l'adresse IP peut être associée à plusieurs entités, la plus spécifique est préférée. Dans le cas d'un serveur Web avec plusieurs hôtes virtuels basés sur le nom, le nom du serveur Web lui-même est le plus approprié. C'est l'un de ces cas où essayer de suivre les conseils des RFC Informational ( PTRtoujours en accord avec l' Aenregistrement) est complètement super.
Andrew B
« L'enregistrement PTR devrait identifier »: par qui? Cela semble être une règle de fait , car les développeurs de logiciels ont commencé à considérer qu'un seul PTR était la norme. Ai-je raison?
Totor
@Totor Ajout d'une citation et d'un lien pour une source.
Håkan Lindqvist
Comme anecdote, il a été récemment noté qu'Apple avait quelques enregistrements PTR dépassant les 9 000 octets. Sans doute ils ne sont pas les seuls. Ceci est un exemple assez extrême de ce que vous pouvez obtenir lorsque des stratégies d’enregistrement PTR obligatoires ne tiennent pas compte des détails de cette réponse.
Andrew B
16

Tout se résume à un comportement imprévisible puisque la RFC n’impose aucune limite ni aucun moyen de gérer ces enregistrements PTR. La plupart des implémentations choisiront tour à tour et vous n'obtiendrez pas le résultat souhaité (correspondance parfaite entre plusieurs noms et une même adresse IP).

Vous pouvez en savoir plus à ce sujet ici: https://supernoc.rogerstelecom.net/pdfs/multiple-ptrs.pdf

En outre, vérifiez ce bogue à partir de la fonction getnameinfo de la Glibc ( https://sourceware.org/bugzilla/show_bug.cgi?id=5790 ). Comment pouvez-vous garantir que cela ne se produira pas dans un nombre infini de systèmes différents sur Internet (dont certains très anciens et non corrigés)?

Pour renforcer, en règle générale, il est toujours bon d’éviter les comportements indéterminés et imprévisibles. Malheureusement, plusieurs enregistrements PTR pour une adresse IP unique entrent dans cette catégorie (en ce qui concerne les RFC).

Giovanni Tirloni
la source
2
Comment pouvez-vous garantir qu'un problème quelconque ne se produira pas dans le nombre "infini" de systèmes différents sur Internet? Votre réponse est gentille mais cet argument n'a aucune valeur. De plus, les bogues clients ne sont pas pertinents à mon humble avis, sauf si un nombre "significatif" d’entre eux sont affectés.
Totor le
2

Comment garantissez-vous qu'un PTR correspond à un enregistrement de transfert particulier si vous avez plusieurs PTR?

Ceci est particulièrement important dans les interactions entre serveurs de messagerie, où la plupart des serveurs SMTP de réception entrants vérifieront si le transfert correspond au transfert inverse.

Il est assez difficile d’avoir plusieurs PTR et aucun moyen de garantir quel PTR est sélectionné et qu’il correspond à l’avant que vous avez donné lors de la connexion.

Le moyen le plus simple de garantir une correspondance parfaite est d’avoir un PTR correspondant à une entrée en aval.

utilisateur274768
la source