web-dev-qa-db-fra.com

Est-ce que quelqu'un utilisant 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 affectant ses serveurs de noms de domaine dans les paramètres du registraire. Par exemple, avec Digital Ocean, j'entre les informations suivantes:

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

J'ajoute ensuite les paramètres du domaine dans l'enregistrement A de mon serveur. Il m'est venu à l'esprit que n'importe qui d'autre sur le même fournisseur d'hébergement peut ajouter un enregistrement A avec un domaine que je possède.

Y a-t-il quelque chose qui empêche cela de se produire? si 2 serveurs différents qui utilisent le même serveur de noms de domaine essaient de s’attribuer un domaine à eux-mêmes via les enregistrements A, où le domaine résoudrait-il réellement lorsque vous l’entreriez dans le navigateur? qu'est-ce qui empêche les collisions de noms de domaine sur le même serveur DNS?

48
Eran Galperin

Ne vous occupez jamais de la section des commentaires ci-dessous, et ne vous occupez pas 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 sommes arrivés au 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 en revue le processus:

  1. Tu achètes wesleyisaderp.com sur, disons, NameCheap.com.
  2. Namecheap en tant que bureau d'enregistrement sera l'endroit où vous remplissez vos enregistrements NS. Disons que vous voulez réellement héberger la zone DNS sur Digital Ocean.
  3. Vous pointez les brillants NS enregistrements de votre nouveau domaine vers ns1.digitalocean.com et ns2.digitalocean.com.
  4. Cependant, disons que j'ai pu déterminer que vous aviez enregistré ce domaine, et en plus que vous aviez changé vos NS en Digital Ocean's. Ensuite, je vous ai battu pour un compte Digital Ocean et ajouté la zone wesleyisaderp.com au mien.
  5. Vous essayez d'ajouter la zone dans * votre * compte mais Digital Ocean dit que la zone existe déjà dans leur système! Oh non!
  6. JE CNAME wesleyisaderp.com à wesleyisbetterthanyou.com.
  7. L'hilarité s'ensuit.

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

Cependant, considérez que quelqu'un devra d'abord ajouter la zone à son compte DNS, puis vous devrez pointer vos enregistrements NS vers les serveurs de noms de ce même hôte pour que quelque chose de néfaste se produise. De plus, en tant que propriétaire du domaine, vous pouvez basculer NS enregistre à tout moment et éloignez la résolution de l'hôte de la zone défectueuse.

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

De plus, si vous possédez un domaine chez un registraire et que quelqu'un se trouve avoir créé une zone sur un fournisseur comme Digital Ocean avec lequel vous entrez en collision, je suis sûr que si vous fournissez une preuve de propriété, il demandera à la personne qui a fait le zone dans leur compte pour le supprimer, car il n'existe aucune raison pour qu'il existe car ils ne sont pas le propriétaire du nom de domaine.

Mais qu'en est-il des enregistrements A

La première personne à avoir 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. Ainsi, par exemple, en utilisant les noms stupides 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 amusante: j'ai vraiment ajouté wesleyisaderp.com à mon compte Digital Ocean! Allez-y et essayez de l'ajouter au vôtre. Ça ne fera rien de mal.

Par conséquent, vous ne pouvez pas ajouter un enregistrement A à wesleyisaderp.com. C'est tout a moi.

Mais qu'en est-il ...

Comme l'a souligné @Iain ci-dessous, mon point n ° 4 ci-dessus est en fait trop verbeux. Je n'ai pas du tout à attendre, ni comploter, ni comploter. Je peux simplement créer milliers de zones dans un compte, puis m'asseoir et attendre. Techniquement. Si je crée des milliers de domaines, puis j'attends qu'ils soient enregistrés, puis j'espère qu'ils utilisent les hôtes DNS sur lesquels j'ai défini mes zones ... peut-être que je peux faire quelque chose de mal? Peut être? Mais probablement pas?

Excuses à Digital Ocean & NameCheap

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

60
Wesley

En plus de l'excellente réponse de Wesley, je voudrais ajouter qu'il existe déjà une solution pour éviter cela. Cela s'appelle DNSSEC.

Les bases sont les suivantes:

  • Vous enregistrez votre domaine (j'irai avec le nom éminent wesleyisaderp.com ici, juste parce que.)
  • Vous enregistrez vos serveurs de noms auprès de votre registraire, généralement via une interface Web à laquelle vous vous authentifiez avec un combo 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 sur votre bureau d'enregistrement sous la forme d'un enregistrement DNSKEY. (C'est ainsi que le registraire peut configurer la chaîne de confiance vers les serveurs racine pour le domaine de niveau supérieur - dans ce cas, les serveurs racine pour .com.) Encore une fois, vous téléchargez ceci lorsque vous êtes connecté avec votre propre combo nom d'utilisateur/mot de passe, donc il est connecté à votre domaine (s) et non à quelqu'un d'autre.
  • Vous accédez au serveur de noms, vous saisissez vos enregistrements et vous signez le fichier de zone résultant avec votre clé privée. Ou, si vous disposez d'une interface Web pour votre service d'hébergement DNS, vous leur téléchargez la clé privée afin qu'ils puissent y signer le fichier de zone.
  • Quand Wesley essaie si grossièrement de détourner votre domaine et de le nommer pour wesleyisbetterthanyou.com, ses enregistrements ne seront pas acceptés par les serveurs de domaine racine .com car ils ne sont pas signés avec la bonne clé. Si votre fournisseur d'hébergement DNS est intelligent, il vérifiera cela tout de suite et ne lui permettra même pas d'essayer d'ajouter des enregistrements à ce domaine à moins qu'il n'ait la bonne clé privée.
  • Lorsque vous entrez vos propres enregistrements, ils seront signés par la bonne touche, donc ils fonctionneront.
  • Vous pouvez maintenant vous asseoir et rire de Wesley.

(Dans le cas d'origine, celui que Wesley décrit, la principale erreur 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 seuls dans ce domaine; je sais d'au moins un registraire suédois ayant les mêmes problèmes.)

32
Jenny D

Tout ira bien tant que vous revendiquerez la propriété du domaine chez DigitalOcean (c'est-à-dire l'associez à votre compte) avant de dire au registraire d'utiliser leurs serveurs de noms.

Si quelqu'un a déjà associé votre domaine à son compte, vous le saurez avant que les serveurs de noms DigitalOcean ne fassent autorité. Et si cela se produit, demandez à DigitalOcean de faire démarrer cette personne hors de son compte.

Conformément aux meilleures pratiques, {ns1, ns2, ns3} .DigitalOcean.com n'agit pas comme des résolveurs récursifs pour les domaines hébergés ailleurs. S'ils le faisaient, et si les serveurs hébergés par DigitalOcean utilisaient ces serveurs comme résolveurs à usage général, alors il y aurait un problème beaucoup plus important. Pour autant que cela soit bien connu pour être une mauvaise pratique, il n'est probablement pas si difficile de trouver des hébergeurs qui se trompent, ce qui ouvre des possibilités d'abus.

6
mc0e

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

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

0