50 votes

Est-ce que quelqu'un qui utilise le même serveur DNS que moi peut détourner mes domaines ?

Lorsque j'enregistre un nouveau domaine, je l'envoie à mon hébergeur en lui attribuant ses serveurs de noms de domaine dans les paramètres de l'enregistreur. Par exemple, avec Digital Ocean, j'entre ce qui suit :

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

J'ajoute ensuite les paramètres du domaine dans l'enregistrement A de mon serveur. Je viens de me rendre compte que n'importe qui d'autre chez le même fournisseur d'hébergement peut ajouter un enregistrement A avec un domaine que je possède.

Si deux serveurs différents utilisant le même serveur de noms de domaine tentent de s'attribuer un domaine par le biais des enregistrements A, où le domaine sera-t-il résolu lorsque vous le saisirez dans le navigateur ? Qu'est-ce qui empêche les collisions de noms de domaine sur le même serveur DNS ?

65voto

Wesley Points 32020

Ne vous préoccupez pas de la section des commentaires ci-dessous, ni des réponses précédentes dans l'historique des modifications. Après environ une heure de conversation avec des amis (merci @joeQwerty, @Iain, et @JourneymanGeek), et quelques piratages joviaux, nous avons trouvé le fond de votre question et de la situation dans son ensemble. Désolé pour la brusquerie et l'incompréhension totale de la situation au début.

Passons à l'étape suivante :

  1. Vous achetez wesleyisaderp.com sur, disons, NameCheap.com.
  2. Namecheap, en tant que registrar, sera l'endroit où vous remplirez vos enregistrements NS. Disons que vous voulez héberger la zone DNS sur Digital Ocean.
  3. Vous dirigez les enregistrements NS de votre nouveau domaine vers ns1.digitalocean.com y ns2.digitalocean.com .
  4. Supposons toutefois que je sois en mesure de déterminer que vous avez enregistré ce domaine, et que vous aviez changé vos enregistrements NS pour ceux de Digital Ocean. . Ensuite, je vous ai devancé sur un compte Digital Ocean et j'ai ajouté la zone wesleyisaderp.com à la mienne.
  5. Vous essayez d'ajouter la zone dans *votre* mais Digital Ocean dit que la zone existe déjà dans leur système ! Oh non !
  6. I CNAME wesleyisaderp.com à wesleyisbetterthanyou.com .
  7. L'hilarité s'ensuit.

Des amis et moi-même venons de jouer ce scénario exact, et oui, il fonctionne. Si @JoeQwerty achète un domaine et le pointe vers les serveurs de noms de Digital Ocean, mais que j'ai déjà ajouté cette zone à mon compte, alors je suis le maître de la zone et je peux en faire ce que je veux.

Cependant, il faut tenir compte du fait que quelqu'un doit d'abord ajouter la zone à son compte DNS, et que vous devez ensuite faire pointer vos enregistrements NS vers les serveurs de noms de ce même hôte pour que quelque chose d'infâme se produise. En outre, en tant que propriétaire du domaine, vous pouvez changer d'enregistrement NS à tout moment et éloigner la résolution de l'hôte de la mauvaise zone.

La probabilité que cela se produise est pour le moins faible. On dit que, statistiquement, vous pouvez mélanger un jeu de 52 cartes et obtenir un ordre qu'aucun autre humain n'a jamais obtenu, et qu'aucun autre humain n'obtiendra jamais. Je pense que le même raisonnement s'applique ici. La probabilité que quelqu'un exploite cette possibilité est tellement faible, et il existe de meilleurs raccourcis, que cela ne se produira probablement pas dans la nature par accident.

En outre, si vous possédez un domaine auprès d'un bureau d'enregistrement et que quelqu'un a créé une zone sur un fournisseur comme Digital Ocean avec lequel vous entrez en conflit, je suis sûr que si vous fournissez une preuve de propriété, ils demanderont à la personne qui a créé la zone sur leur compte de la supprimer car elle n'a aucune raison d'exister puisqu'elle n'est pas le propriétaire du nom de domaine.

Mais qu'en est-il des enregistrements A

La première personne à disposer d'une zone, par exemple Digital Ocean, sera celle qui la contrôlera. Vous ne pouvez pas avoir plusieurs zones identiques sur la même infrastructure DNS. Par exemple, en utilisant les noms idiots ci-dessus, si j'ai wesleyisaderp.com comme zone sur Digital Ocean, personne d'autre sur l'infrastructure DNS de Digital Ocean ne peut l'ajouter à son compte.

Voici la partie la plus amusante : J'ai réellement ajouté wesleyisaderp.com à mon compte Digital Ocean ! Allez-y, essayez de l'ajouter au vôtre. Cela ne fera pas de mal.

Par conséquent, vous ne pouvez pas ajouter un enregistrement A à wesleyisaderp.com. Tout est à moi.

Mais qu'en est-il...

Comme @Iain l'a fait remarquer ci-dessous, mon point 4 ci-dessus est en fait trop verbeux. Je n'ai pas du tout besoin d'attendre, de comploter ou de planifier. Je peux simplement faire milliers de zones sur un compte et attendre. Techniquement. Si je crée des milliers de domaines, que j'attends qu'ils soient enregistrés et que j'espère qu'ils utiliseront les hôtes DNS sur lesquels j'ai configuré mes zones... je peux peut-être faire quelque chose d'assez mauvais ? Peut-être ? Mais probablement pas ?

Toutes nos excuses à Digital Ocean et NameCheap

Notez que Digital Ocean et NameCheap ne sont pas uniques et n'ont rien à voir avec ce scénario. Il s'agit d'un comportement normal. Ils sont irréprochables sur tous les fronts. Je les ai juste utilisés car c'était l'exemple donné, et ce sont des marques très connues.

32voto

Jenny D Points 26978

En plus de l'excellente réponse de Wesley, j'aimerais ajouter qu'il existe déjà une solution pour éviter cela. Il s'agit de DNSSEC.

Les principes de base sont les suivants :

  • Vous enregistrez votre domaine (je choisirai le nom éminent wesleyisaderp.com ici, juste parce que ).
  • Vous enregistrez vos serveurs de noms auprès de votre bureau d'enregistrement, généralement via une interface web à laquelle vous vous authentifiez à l'aide d'un couple nom d'utilisateur/mot de passe.
  • Vous créez également une paire de clés publique/privée et vous téléchargez votre clé publique auprès de votre bureau d'enregistrement sous la forme d'un enregistrement DNSKEY. (C'est ainsi que le bureau d'enregistrement peut établir la chaîne de confiance avec les serveurs racine du domaine de premier niveau - dans ce cas, les serveurs racine de .com .) Encore une fois, vous téléchargez ceci lorsque vous êtes connecté avec votre propre combinaison nom d'utilisateur/mot de passe, de sorte qu'il est connecté à votre (vos) domaine(s) et non à celui de quelqu'un d'autre.
  • Vous vous rendez sur le serveur de noms, vous saisissez vos enregistrements et vous signez le fichier de zone qui en résulte avec votre clé privée. Ou, si vous disposez d'une interface web avec votre service d'hébergement DNS, vous téléchargez la clé privée pour qu'il puisse signer le fichier de zone.
  • Lorsque Wesley tente si impoliment de détourner votre domaine et de lui attribuer un nom de domaine (CNAME), il s'agit de wesleyisbetterthanyou.com ses enregistrements ne seront pas acceptés par les serveurs du domaine racine .com parce qu'ils ne sont pas signés avec la bonne clé. Si votre hébergeur DNS est malin, il vérifiera cela dès le départ et ne l'autorisera même pas à essayer d'ajouter des enregistrements à ce domaine s'il n'a pas la bonne clé privée.
  • Lorsque vous saisissez vos propres enregistrements, ils sont signés par la bonne clé, de sorte qu'ils fonctionnent.
  • Vous pouvez maintenant vous asseoir et rire de Wesley.

(Dans le cas original, celui décrit par Wesley, l'erreur principale serait que Digital Ocean n'a pas vérifié la propriété d'un domaine avant d'autoriser quelqu'un à configurer des enregistrements DNS pour celui-ci. Malheureusement, ils ne sont pas les seuls dans ce cas ; je connais au moins un bureau d'enregistrement suédois qui a les mêmes problèmes).

7voto

mc0e Points 5736

Tout ira bien si vous revendiquez la propriété du domaine chez DigitalOcean (c'est-à-dire si vous l'associez à votre compte) avant de demander au bureau d'enregistrement d'utiliser ses serveurs de noms.

Si quelqu'un a déjà associé votre domaine à son compte, vous le découvrirez avant que les serveurs de noms de DigitalOcean ne fassent autorité. Dans ce cas, demandez à DigitalOcean d'expulser cette personne de son compte.

Conformément aux meilleures pratiques, {ns1,ns2,ns3}.DigitalOcean.com n'agissent pas comme des résolveurs récursifs pour les domaines hébergés ailleurs. Si c'était le cas, et si les serveurs hébergés par DigitalOcean utilisaient ces serveurs comme résolveurs généraux, le problème serait bien plus grave. Même si l'on sait que c'est une mauvaise pratique, il n'est probablement pas très difficile de trouver des hébergeurs qui se trompent, ce qui ouvre des possibilités d'abus.

0voto

Huzaifa Points 123

Je pense que ce problème signifie que personne ne devrait utiliser de tels serveurs de noms (tels que ceux de Digital Ocean) comme résolveurs, puisque n'importe qui peut créer un serveur de noms pour un domaine existant sur ces serveurs. La bataille pour le contrôle du domaine n'est pas pertinente car la propriété du domaine peut être facilement prouvée, mais le fait que quelqu'un peut par exemple diriger n'importe quel domaine existant qui n'est PAS déjà hébergé sur Digital Ocean, vers n'importe quel endroit qu'il souhaite.

En résumé : ne faites pas confiance aux serveurs DNS d'un service d'hébergement qui n'exige pas une preuve de la propriété du domaine (ce qui peut être facilement et rapidement fait par la méthode suggérée ci-dessus : en ajoutant un enregistrement TXT avec une certaine valeur sur le domaine en premier lieu, c'est ce que font Microsoft O365 et Google, par exemple).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X