Powered By Blogger

Rechercher sur ce blogue

Aucun message portant le libellé DNS. Afficher tous les messages
Aucun message portant le libellé DNS. Afficher tous les messages

samedi 13 décembre 2014

P2P: Avoir son propre résolveur DNS ?




Première rédaction de cet article le 4 décembre 2013

Faut-il avoir son propre résolveur DNS, sur sa machine (ou, au moins, sur son réseau local à soi) ? Question compliquée à laquelle je réponds désormais oui, en raison de l'intensification de la censure utilisant le DNS.
D'abord, un petit rappel : la quasi-totalité des activités sur l'Internet commencent par une requête DNS, une demande faite au résolveur DNS par les applications  « quelle est l'adresse IP de www.slate.fr ? » Le résolveur, après interrogation des serveurs DNS faisant autorité (gérés, dans le cas de ce nom de domaine, par la racine, par l'AFNIC et par Slate), va répondre aux applications et le reste de l'activité Internet pourra continuer. Comme tout commence par le DNS, ce service est particulièrement tentant pour tous ceux qui veulent censurer / dévier / détourner les activités de l'utilisateur. Il y a donc une histoire déjà ancienne de tentatives de filtrage via le DNS et une histoire tout aussi ancienne de textes expliquant pourquoi c'est une très mauvaise idée. Le filtrage via le DNS peut se faire dans le réseau, comme en Chine. Mais le plus courant est de le faire dans le résolveur. Cette machine est typiquement gérée, pour un accès Internet par un particulier, par son FAI. En raison de la concentration du marché, en contraignant les quatre ou cinq plus gros FAI à effectuer ce filtrage, on pourrait frapper un bon nombre des MM. Michu. Techniquement; c'est simple à faire, avec des systèmes comme RPZ. Et cette voie a déjà été suivie, en France par l'ARJEL.
Une solution évidente à ce filtrage est d'avoir son propre résolveur DNS, de ne plus compter sur celui du FAI. Cette solution a deux défauts, le premier est temporaire : sa mise en œuvre est encore trop complexe, comme déjà expliqué dans un de mes articles. La deuxième est moins visible : si chaque utilisateur de l'Internet a son propre résolveur DNS, ils ne partageront plus leur mémoire (leur « cache ») et la charge sur les serveurs faisant autorité s'aggravera. Pour cette raison, je prônais plutôt des systèmes comme dnssec-trigger qui installaient un résolveur local mais faisaient suivre les requêtes non résolues aux résolveurs (et donc aux caches) des FAI. C'est une solution simple et élégante (et qui permettait aussi de faire de la validation DNSSEC proprement).
Mais dnssec-trigger a une limite. Certes, avant d'utiliser les résolveurs du réseau local comme relais, il les teste pour s'assurer qu'ils transmettent les données DNSSEC correctement. Mais il ne teste pas s'ils mentent ou pas. Si le résolveur officiel du réseau local applique la censure, dnssec-trigger ne pourra plus accéder aux données (si DNSSEC est utilisé, on aura un code d'erreur, SERVFAIL, plutôt qu'une réponse mensongère comme l'adresse IP 127.0.0.1 dans l'exemple ci-dessous, mais cela ne change pas grand'chose ; DNSSEC protège contre le détournement, pas contre le déni de service qu'est la censure).
Or, l'usage du DNS pour la censure se répand. Ainsi, le 28 novembre 2013, un tribunal français a ordonné la censure par le DNS de sites Web de diffusion de films. Et cette censure semble effectivement appliquée. En testant depuis un très gros FAI français, avec dig :
% dig +short @192.168.2.254 A alloshare.com          
127.0.0.1
Or, cette adresse IP bidon (127.0.0.1 désigne la machine locale, donc ce mensonge renvoie votre navigateur Web vers votre machine) n'est pas la vraie. Avec mon résolveur personnel :
% dig +short A alloshare.com 
204.236.239.5
Cela vous semble exagéré de parler de censure, pour une affaire essentiellement commerciale (les intérêts des ayant-trop-de-droits) ? Sauf que cela commence comme ça puis, une fois que l'outil est au point, on pourra de la même façon demander la censure de n'importe quel nom qui déplait aux autorités. Il est donc normal que les citoyens se détournent des résolveurs DNS menteurs et veuillent configurer leur propre résolveur.
La situation technique n'est pas aujourd'hui tellement meilleure qu'à l'époque de mon précédent article sur le changement de résolveur. Mais le problème devenant plus crucial, il faut quand même se lancer.
Donc, d'abord, pour les systèmes que je connais le mieux, les Unix. Il faut 1) installer le logiciel résolveur 2) configurer la machine pour l'utiliser et surtout 3) faire en sorte que DHCP ne vienne pas écraser ce réglage. Pour le logiciel résolveur, on a plusieurs choix, notamment BIND et Unbound, disponibles sous forme de paquetage dans n'importe quel Unix. Un exemple de configuration BIND pour un résolveur, validant avec DNSSEC pendant qu'on y est :
options {
 // N'écouter que sur l'interface locale. Autrement, faites
 // attention à interdire l'accès aux machines non-locales, pour
 // ne pas faire un résolveur ouvert.
        listen-on {127.0.0.1;};
        dnssec-enable yes;
        dnssec-validation yes;
};
trusted-keys {
           "." LA CLÉ DNSSEC DE LA RACINE EST EN GÉNÉRAL DISTRIBUÉE AVEC BIND (fichier bind.keys)
};
Et pour Unbound :
server:
    interface: 127.0.0.1
    auto-trust-anchor-file: "/var/lib/unbound/root.key"
Pour récupérer de manière sûre la clé de la racine avec Unbound, le plus simple est un unbound-anchor -a "/var/lib/unbound/root.key". Une fois le résolveur démarré, testez avec dig qu'il peut résoudre les noms :
% dig @127.0.0.1 A www.techn0polis.net 
...
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
...
;; ANSWER SECTION:
www.techn0polis.net. 2917 IN CNAME gpaas6.dc0.gandi.net.
gpaas6.dc0.gandi.net. 1156 IN A 217.70.180.136
...
;; SERVER: 127.0.0.1#53(127.0.0.1)
...
Testez aussi depuis des machines extérieures que votre résolveur ne répond pas aux machines extérieures. Autrement, c'est un résolveur ouvert, ce qui est très dangereux. Si vous voulez rendre accessible votre joli résolveur depuis tout votre réseau local, vous devez également écouter sur les adresses IP du réseau local (et bien utiiser le contrôle d'accès de votre serveur - acl dans BIND et access-control: dans Unbound - pour ne pas devenir un résolveur ouvert).
Une fois que c'est fait, configurez votre machine pour interroger le serveur/résolveur en question. Mais attention, le problème est que DHCP vient souvent dans votre dos changer ce réglage. Donc, simplement éditer /etc/resolv.conf, comme on le lit parfois sur des forums de neuneus, n'est pas suffisant. Il faut modifier la configuration du client DHCP. Cela dépend du client mais, par exemple, sur une Debian, éditer /etc/resolvconf/resolv.conf.d/head pour y mettre :
nameserver 127.0.0.1
suffit. Une fois que c'est fait, vous pouvez tester avec dig sans indiquer @127.0.0.1 et la ligne SERVER dans la sortie doit vous indiquer quel serveur vous utilisez.
Pour Mac OS X, je n'ai pas d'expérience de ce système mais je suggère l'article de hukl. Experts OS X, si vous avez d'autres idées ?
Et pour Windows ? Apparemment, Unbound tourne sur Windows (si quelqu'un a une expérience d'utilisation à raconter...) Je ne connais pas assez Windows pour le reste mais je vous suggère une solution pour la partie « configurer sa machine pour accéder au résolveur local ». Un certain nombre de services commerciaux vous fournissent des résolveurs alternatifs, pour accéder plus rapidement à certains services bridés comme YouTube. Je ne vous dis pas d'utiliser ces résolveurs, qui sont aussi menteurs (même si c'est pour la bonne cause) mais tous viennent avec une documentation, conçue pour un large public, indiquant comment changer de résolveur. Par exemple, c'est le cas de la documentation de Unlocator.
Quelle sera la prochaine étape de la course aux armements entre les censeurs et les utilisateurs de l'Internet ? Peut-être d'essayer de faire filtrer le port 53. En attendant, voici d'autres documents sur le thème de cet article :
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)

samedi 15 décembre 2012

Un accès Internet rapide: Le Speedup Global Internet

Comment ça marche?
Le DNS est comme l'annuaire téléphonique pour Internet. Il convertit l'homme lisibles domaines (www.opendns.com) à une adresse IP (208.69.38.160) que votre ordinateur peut se connecter. Mais ce qui arrive quand vous regardez une entreprise dans l'annuaire téléphonique et il ya 50 emplacements? Vous voudrez probablement l'endroit le plus près de vous. Lorsque vous essayez d'atteindre un site qui existe dans 50 sites à travers le monde, vous voulez la même chose se produise. Vous voulez être envoyés au plus proche, l'emplacement le plus rapide ou moins congestionné automatiquement. Jusqu'à présent, calculer à quel endroit le plus proche de vous n'était pas possible avec DNS seuls. Aujourd'hui, si vous utilisez OpenDNS ou Google DNS public et la visite d'un site Web ou d'utiliser un service fourni par l'un des réseaux participants ou CDNS dans le Speedup Global Internet puis une version tronquée de votre adresse IP sera ajouté dans la requête DNS. Le service Internet ou CDN utilisera cette adresse IP tronquée à prendre une décision plus éclairée dans la façon dont il réagit de telle sorte que vous pouvez être connecté au serveur le plus optimal. Avec ce routage plus intelligent, les clients auront une meilleure expérience Internet avec une latence inférieure et des vitesses plus rapides. Le meilleur de tous, cette intégration se fait en utilisant un standard ouvert qui est disponible pour n'importe quelle entreprise d'intégrer dans leur propre plate-forme. Exemple Voici un exemple en utilisant une version patchée de commande dig BIND pour ajouter l'option de sous-réseau client. Normalement, cela se fait automatiquement par votre résolveur DNS récursif. Si vous êtes intéressé à utiliser fouille de jouer avec cela, l'un des auteurs du projet de l'IETF a créé un correctif qui peut être trouvé sur son site: http://wilmer.gaa.st/edns-client-subnet/

 wilmer @ fiona:. ~ $ / bin / dig @ ns1.google.com www.google.com client = 130.89.89.0/24 > DiG 9.7.1-P2 > @ns1.google.com www.google.com client=130.89.89.0/24" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">

; > DiG 9.7.1-P2 > @ ns1.google.com www.google.com client = 130.89.89.0/24
;; OPT PSEUDOSECTION :
; EDNS: Version: 0, flags:
; udp: 512
; CLIENT SOUS-RESEAU: 130.89.89.0/24/21

;; SECTION QUESTION:
, Www.google.com.            DANS        UN         
; ANSWER SECTION;:
www.google.com. 604800 IN CNAME
 www.l.google.com.
www.l.google.com. 300 dans un 74.125.79.104
www.l.google.com. 300 dans un 74.125.79.99
www.l.google.com. 300 dans un 74.125.79.147  

Les réponses aux questions les plus fréquentes: Y at-il concerne la vie privée je devrais être au courant? Quand un utilisateur demande une page Web, les deux étapes les plus importantes sont la requête DNS pour trouver le bon serveur et la requête HTTP pour demander le contenu d'une page à partir d'un serveur Web. Requêtes HTTP incluent déjà l'adresse exacte et complète IP du demandeur et toujours. Maintenant, avec EDNS-client-sous-réseau, une partie de l'adresse IP de l'utilisateur est inclus dans la réponse DNS. Il s'agit d'informations qui n'a pas été inclus dans les requêtes DNS. Si le site web de l'utilisateur se connecte à son propre DNS fonctionne alors que l'information est communiquée à la partie même qui auraient déjà vu. Si le site web de l'utilisateur se connecte à l'aide d'un fournisseur est différent pour les serveurs DNS que pour les services Web, l'entreprise DNS en question serait de voir des informations qu'il pourrait ne pas voir autrement. Il n'est pas clair s'il s'agit d'une bonne idée et donc récursives fournisseurs de DNS sont notamment encouragées à mettre en œuvre EDNS-client-sous-réseau avec des services qui fournissent des combinés DNS et HTTP de sorte qu'aucune nouvelle tiers est introduit à même une partie de l'adresse IP de l'utilisateur . Que voulez-vous dire par une adresse IP tronquée? Si vous utilisez OpenDNS ou Google Public DNS, votre adresse IP complète ne sera pas intégré. Au lieu de cela, le serveur DNS ne contenir suffisamment d'informations pour le CDN de connaître votre position approximative. Par exemple, si votre adresse IP est 67.215.80.23, le serveur DNS ne font qu'exposer les trois premiers octets, donc 67 - 215 - 80 au lieu de 67 - 215 - 80 à 23. Une analogie serait raisonnable ne montrant que le préfixe de votre numéro de téléphone dans l'afficheur. Si votre numéro est 415-555-1234 ensuite seulement 415-555-XXXX apparaît dans l'identification de l'appelant. Ne suffit pas à vous identifier, mais c'est suffisant pour la partie réceptrice de connaître le code régional et le préfixe de l'appelant. Qui a mis cela? En date d'aujourd'hui Google, BitGravity, CDNetworks, DNS.com et EdgeCast ont déployé cette amélioration sur leurs serveurs DNS à travers le monde. Un certain nombre d'autres sociétés Internet de premier plan sera la mise en œuvre de cette l'année à venir. Cela représente un énorme pas en avant dans l'amélioration de l'expérience de l'Internet pour des millions de consommateurs et les entreprises, et nous sommes impatients de poursuivre la coopération et l'innovation. Peut-ISP ou Internet Service participer? Cette initiative est ouverte à d'autres fournisseurs de services DNS récursifs, les réseaux de diffusion de contenu et toute autre personne intéressée à participer. Pour aider à la mise en œuvre EDNS-client-sous-réseau ou pour discuter de questions avec les participants, s'il vous plaît joindre à notre liste de diffusion hébergée par Google: http://groups.google.com/group/afasterinternet/subscribe?note=1 ou par courriel à afasterinternet à googlegroups dot com. Notez que les changements ou les discussions sur le projet spécifique lui-même (par opposition à des questions de mise en œuvre) devrait se produire au sein du groupe de travail IETF DNSEXT, qui maintient un site Web avec des détails sur la façon de participer et de s'impliquer ici: http://datatracker.ietf.org / wg / DNSEXT / charter /. Si vous avez mis en œuvre le projet de EDNS-client-sous-réseau et que vous voulez figurer sur http://www.afasterinternet.com/ ou avez des questions spécifiques liées à la Speedup site web de Global Internet, s'il vous plaît email du webmaster à dot com afasterinternet. Sont récursives services DNS qui implémentent cette envoient maintenant des adresses IP tronqués à tous les serveurs DNS faisant autorité, ils communiquent avec? Sont tous les fournisseurs de DNS faisant autorité qui mettent en œuvre la présente désormais renvoyer des réponses plus précises à tous les serveurs DNS récursifs? L'article 10.2 du projet de l'IETF précise que les implémenteurs peuvent utiliser une liste blanche afin de déterminer qui ils envoient l'adresse IP tronquée à, et bien sûr, DNS d'autorité peuvent choisir qui ils comprennent la réponse à EDNS. À ce jour, tous les services DNS récursifs nous sommes conscients de fonctionner sur une base de liste blanche, en activant l'option uniquement pour des serveurs autoritaires ou zones. Ceci est considéré comme une meilleure pratique.


REF.:

dimanche 27 février 2011

Les DNS et comment gérer son nom de domaine

On en parle beaucoup, mais bien peu de monde peut se targuer de connaître le fonctionnement des DNS (Domain Name System). Internet repose pourtant en grande partie sur ce système pour son bon fonctionnement.
En effet, les noms de domaine (comme siteduzero.com) permettent de créer des adresses faciles à retenir, mais celles-ci doivent être traduites en adresses IP pour que votre ordinateur sache quel serveur contacter. Or, avec la prolifération des noms de domaine, il faut un système robuste et complet capable de gérer cette traduction à l'échelle de l'ensemble d'Internet !

Ce tutoriel vous fera découvrir le fonctionnement des noms de domaine, le principe des serveurs DNS et des caches d'un point de vue technique, mais aussi l'organisation de la gestion des noms de domaine d'un point de vue plus juridique.
Enfin, vous apprendrez à monter et à configurer votre propre serveur DNS avec bind9 sous Linux ou via l'interface web d'un registrar.La documentation à ce sujet sur le net est rare ou obscure, et renvoie souvent directement aux RFC, les documents qui définissent le fonctionnement d'Internet (qui sont eux-mêmes parfois très délicats à comprendre !).

J'espère que ce cours vous aidera à y voir plus clair ! Bonne lecture !Image utilisateur

Gérer son nom de domaine = Voir ici !


REF.: siteduzéro.com ,