Certaines personnes diront qu'aucun enregistrement DNS public ne doit jamais divulguer une adresse IP privée ... en pensant que vous donnez un coup de pouce aux assaillants potentiels pour lui demander des informations pouvant être nécessaires pour exploiter des systèmes privés.
Personnellement, je pense que l’obscurcissement est une forme de sécurité médiocre, en particulier lorsque nous parlons d’adresses IP, car en général elles sont faciles à deviner, alors je ne vois pas cela comme un compromis de sécurité réaliste.
La plus grande considération ici est de s’assurer que vos utilisateurs publics ne récupèrent pas cet enregistrement DNS dans le cadre des services publics normaux de votre application hébergée. C'est-à-dire que les recherches DNS externes commencent en quelque sorte à se résoudre en une adresse à laquelle elles ne peuvent pas accéder.
En dehors de cela, je ne vois aucune raison fondamentale pour laquelle placer des enregistrements d'adresse A privés dans l'espace public pose un problème ... surtout lorsque vous ne disposez d'aucun serveur DNS de remplacement pour les héberger.
Si vous décidez de placer cet enregistrement dans l'espace DNS public, vous pouvez envisager de créer une zone distincte sur le même serveur pour contenir tous les enregistrements "privés". Cela clarifiera le fait qu'ils sont destinés à être privés ... toutefois, pour un seul enregistrement A, je ne m'ennuierai probablement pas.
J'ai eu une longue discussion sur ce sujet sur la liste NANOG il y a quelque temps. Même si j'avais toujours pensé que c'était une mauvaise idée, il s'avère que ce n'est pas une si mauvaise idée en pratique. Les difficultés proviennent principalement des recherches rDNS (qui concernent les adresses privées Just Don't Work dans le monde extérieur). Lorsque vous fournissez un accès aux adresses via un VPN ou similaire, il est important de vous assurer que les clients VPN sont correctement protégés. "fuite" du trafic lorsque le VPN est en panne.
Je dis allez-y. Si un attaquant peut obtenir quelque chose de significatif en étant capable de résoudre des noms en adresses internes, vous avez des problèmes de sécurité plus graves.
la source
En général, l’introduction d’adresses RFC1918 dans le DNS public entraînera de la confusion, si ce n’est un problème, dans le futur. Utilisez des adresses IP, des enregistrements d'hôte ou une vue DNS privée de votre zone pour utiliser les adresses RFC1918 situées derrière votre pare-feu sans les inclure dans la vue publique.
Pour clarifier ma réponse sur la base de l'autre réponse soumise, je pense que l'introduction d'adresses RFC1918 dans le DNS public est un faux pas, pas un problème de sécurité. Si quelqu'un m'appelle pour dépanner un problème et que je tombe sur des adresses RFC1918 dans leur DNS, je commence à parler très lentement et à leur demander s'ils ont redémarré récemment. Peut-être que c'est du snobisme de ma part, je ne sais pas. Mais comme je l'ai dit, ce n'est pas une chose nécessaire à faire et c'est susceptible de causer de la confusion et une mauvaise communication (humaine, pas d'ordinateur) à un moment donné. Pourquoi risquer cela?
la source
Non, ne mettez pas vos adresses IP privées dans le DNS public.
Premièrement, il fuit des informations, bien que ce soit un problème relativement mineur.
Le pire problème, si vos enregistrements MX pointent vers cette entrée d’hôte particulière, c’est que toute personne qui essaiera d’envoyer du courrier à celle-ci obtiendra au mieux des délais d’expiration.
Selon le logiciel de messagerie de l'expéditeur, ils peuvent recevoir des rebonds.
Pire encore, si vous utilisez un espace d'adressage RFC1918 (ce que vous devriez, à l'intérieur de votre réseau) et que l'expéditeur l'est aussi, il y a toutes les chances qu'ils tentent de remettre le courrier sur leur propre réseau.
Par exemple:
Oui, c'est une configuration cassée, mais j'ai vu cela (et pire) se produire.
Non, ce n'est pas la faute de DNS, c'est juste ce que l'on dit.
la source
Bien que la possibilité soit lointaine, je pense que vous pouvez vous préparer à une attaque de MITM.
Ma préoccupation serait la suivante. Disons qu'un de vos utilisateurs avec un client de messagerie configuré pour pointer vers ce serveur de messagerie emmène leur ordinateur portable vers un autre réseau. Que se passe-t-il si cet autre réseau utilise également le même RFC1918? Cet ordinateur portable peut tenter de se connecter au serveur smtp et offrir les informations d'identification de l'utilisateur à un serveur qui ne devrait pas en disposer. Cela serait particulièrement vrai puisque vous avez dit SMTP et que vous n’avez pas besoin de SSL.
la source
Vos deux options sont / etc / hosts et l’enregistrement d’une adresse IP privée dans votre zone publique. Je recommanderais l'ancien. Si cela représente un grand nombre d'hôtes, vous devriez envisager d'exécuter votre propre résolveur en interne, ce n'est pas si difficile.
la source
Il peut y avoir des problèmes subtils avec cela. L'une d'elles est que les solutions courantes aux attaques DNS Rebind filtrent les entrées DNS locales résolues à partir de serveurs DNS publics. Donc, soit vous vous ouvrez vous-même pour relier des attaques, soit les adresses locales ne fonctionnent pas, soit avez besoin d'une configuration plus sophistiquée (si votre logiciel / routeur le permet même).
la source
Il est préférable de le conserver dans le fichier hosts. Si de toute façon une seule machine est supposée s'y connecter, que gagnez-vous en la mettant dans le DNS public?
la source
/etc/hosts
fichier car les 2 000 machines doivent ensuite gérer ces paires nom / adresse ...Si par privé vous entendez un 10.0.0.0/8, un 192.168.0.0/16 ou un 172.16.0.0/12, alors ne le faites pas . La plupart des routeurs Internet le reconnaissent comme tel: une adresse privée qui ne doit jamais être routée directement vers l'internet public , ce qui a contribué à la popularité du NAT. Toute personne tentant de contacter votre serveur DNS public récupérera l'adresse IP privée du DNS, uniquement pour envoyer un paquet à ... nulle part. Tandis que leur connexion tente de traverser Internet vers votre adresse privée, certains routeurs (configurés de manière intelligente) le long du chemin mangent simplement le paquet en vie.
Si vous voulez que le courrier "extérieur" reçoive un courrier électronique, le paquet doit à un moment donné traverser votre pare-feu. Je suggérerais de configurer une adresse DMZ pour gérer cela - une adresse IP publique unique, étroitement contrôlée par tout routeur / pare-feu en place. La configuration existante que vous décrivez ressemble exactement à cela.
EDIT: clarification de l'intention ... (voir commentaires ci-dessous). Si cela n’a aucun sens, je voterai pour supprimer mon propre message.
la source
Je suis arrivé ici alors que je cherchais des informations similaires et j'ai été surpris de constater que beaucoup disent qu'il est acceptable de divulguer vos adresses IP privées. Je suppose qu'en termes de piratage, cela ne fait pas une différence énorme si vous êtes sur un réseau sécurisé. Cependant, DigitalOcean a eu tout le trafic réseau local sur les mêmes câbles avec tout le monde ayant vraiment accès au trafic de tout le monde (probablement faisable avec une attaque Man in the Middle). Les informations vous permettent certainement de faire un pas de plus vers le piratage de mon trafic. (Chaque client dispose désormais de son propre réseau privé réservé, à l'instar d'autres services de cloud computing tels qu'AWS.)
Cela dit, avec votre propre service BIND9, vous pouvez facilement définir vos adresses IP publiques et privées. Ceci est fait en utilisant la
view
fonctionnalité, qui inclut un conditionnel. Cela vous permet d'interroger un DNS et d'obtenir une réponse sur les adresses IP internes uniquement si vous le demandez à votre propre adresse IP interne.La configuration nécessite deux zones. La sélection utilise le
match-clients
. Voici un exemple d'installation à partir d' un serveur DNS deux-en-un avec BIND9 :Voici la zone externe et nous pouvons voir que les adresses IP ne sont pas privées
En ce qui concerne la zone interne, nous incluons d’abord la zone externe, ce qui en fait le fonctionnement. c'est-à-dire que si vous êtes un ordinateur interne, vous accédez uniquement à la zone interne, vous avez donc toujours besoin des définitions de zone externe, d'où la
$include
commande:Enfin, vous devez vous assurer que tous vos ordinateurs utilisent maintenant ce DNS et ses esclaves. En supposant un réseau statique, cela signifierait éditer votre
/etc/network/interfaces
fichier et utiliser vos adresses IP DNS dans l'nameserver
option. Quelque chose comme ça:Maintenant, vous devriez être tous ensemble.
la source