25 10 | 2011

DNS : le cas Copwatch

Written by Tanguy

Classified in : Homepage, Divers, Auto-hébergement, Debian-FR, April

Je n'ai probablement rien à vous apprendre apprendre au sujet de l'affaire Copwatch Nord-Paris IDF elle-même : le ministère de l'Intérieur, plutôt que d'attaquer l'auteur de ce site Web qui est parfaitement identifiable, a obtenu d'ordonner aux fournisseurs d'accès principaux de le censurer. Cette censure, qui sera effectuée par manipulation du système de nom de domaine ou DNS, donne l'occasion d'étudier un cas d'utilisation de ce système.

Deux cas en un

Lorsqu'on se penche sur ce cas, on constate qu'il est double. En effet, la censure ordonnée aux fournisseur d'accès n'est pas encore en place, néanmoins maints internautes éprouvent déjà des difficultés à accéder à ce site Web. En fait, comme WikiLeaks avant eux, Copwatch ont commis sans s'en rendre compte une erreur technique qui dégrade fortement leur service, probablement en prenant des mesures de défense d'urgence.

Deux cas à étudier donc : l'erreur de Copwatch et méthode de censure. Nous allons nous concentrer sur l'erreur de Copwatch, le sujet de la censure par DNS étant déjà amplement couvert par ailleurs.

Notions

Avant de continuer, quelques notions. Le système de nom de domaine est un annuaire, qui fournit — entre autre — les adresses Internet associées à des noms comme www.example.com. Ces noms sont constitués de mots séparés par des points.

Plutôt que d'utiliser un gigantesque annuaire centralisé, le DNS utilise un système de délégations successives, qui peut être comparé au système postal : il n'y a pas d'annuaire centralisé, et l'Union postale universelle ne connaît pas le lieu géographique correspondant à l'adresse de votre correspondant en Suède, cette connaissance étant délégué à la Poste suédoise.

À partir de là donc, quelques définitions indispensables pour comprendre la suite :

Nom de domaine
Un nom dans le système de nom de domaine : com. est un nom de domaine, example.com. aussi, et www.example.com. en est un autre.
Zone
Un ensemble de noms de domaines placés sous la responsabilité d'une même personne ; les zones sont séparées par les délégations successives. Ainsi, la zone racine . est sous la responsabilité de l'ICANN, la zone com. est sous la responsabilité de VeriSign, et la zone example.com. est sous la responsabilité de M. Exemple.
Serveur de nom
Un serveur répondant à des requêtes DNS, c'est à dire capable de fournir une réponse lorsqu'on lui demande les informations correspondant à un nom de domaine qu'il connaît. Chaque zone DNS a des serveurs de noms associés, et une délégations consiste, pour les serveurs d'une zone, à renvoyer vers d'autres serveurs lorsqu'on leur demande un nom qui se situe dans une zone déléguée.
Registre (registry)
Un registre est une zone DNS dédiée à l'enregistrement l'enregistrement public, par exemple la zone com.
Bureau d'enregistrement (registrar)
Une organisation habilité pour recevoir des réservations de noms de domaines délégués pour le compte d'un registre. Les registres courant ne vendent par directement les noms de domaine qu'ils proposent ; il faut à la place les acheter auprès d'un bureau d'enregistrement.

Quelques remarques importantes :

  • les noms de domaines se terminent tous par un point final qui correspond à la zone racine, même si ce point est presque systématiquement omis ;
  • les délégations ont nécessairement lieux entre les mots constituant un nom de domaine, mais chaque point n'implique pas une délégation. Ainsi, dans le nom de domaine suivant, seuls les points en gras correspondent à des délégations : www.example.co.uk.

L'erreur de Copwatch

Contexte

Le responsable de Copwatch a acheté son nom de domaine dans le bureau d'enregistrement Gandi. Cette entreprise fournit pour ses clients des serveurs de nom ainsi qu'une interface Web permettant de configurer sa zone DNS. Rappelons que ce service, bien que compris dans le prix de l'achat du nom de domaine, c'est pas obligatoire, et il est tout à fait possible de mettre en place ses propres serveurs de noms, ce qui serait plus cohérent dans le cadre d'un auto-hébergement par exemple.

Donc, Copwatch utilisait jusqu'à présent le service de nom de Gandi. Cette entreprise étant soumise à la loi française, le responsable de Copwatch a visiblement préféré changer de prestataire et se tourner à la place vers FreeDNS.afraid.org. Notez toutefois que Copwatch est toujours enregistré chez Gandi, puisqu'ils n'ont fait que changer de serveurs de nom et non de bureau d'enregistrement.

Analyse

Il est temps de passer au choses sérieuses et d'ouvrir un terminal. Voici ce que l'on obtient lorsqu'on interroge le registre org. pour connaître la liste des serveurs de nom de Copwatch :

% dig copwatchnord-idf.org. NS @a0.org.afilias-nst.info.
;; AUTHORITY SECTION:
copwatchnord-idf.org.   86400   NS  ns2.afraid.org.
copwatchnord-idf.org.   86400   NS  ns6.gandi.net.
copwatchnord-idf.org.   86400   NS  ns1.afraid.org.

D'après le registre, qui reprend les informations que le responsable a fourni à son bureau d'enregistrement Gandi, la zone copwatchnord-idf.org. a donc trois serveurs de nom, un chez Gandi et deux chez FreeDNS.afraid.org.

Lorsqu'on interroge ces trois serveurs pour obtenir la liste officielle des serveurs de nom de cette zone, celui de Gandi échoue à répondre, et ceux de FreeDNS.afraid.org fournissent une réponse différente :

% dig copwatchnord-idf.org. NS @ns1.afraid.org.
;; ANSWER SECTION:
copwatchnord-idf.org.   86400   NS  ns2.afraid.org.
copwatchnord-idf.org.   86400   NS  ns3.afraid.org.
copwatchnord-idf.org.   86400   NS  ns1.afraid.org.
copwatchnord-idf.org.   86400   NS  ns4.afraid.org.

Outre l'incohérence entre les informations déclarées au registre et les informations officielles de la zone, il y a ici un réel problème de service. En effet, lorsqu'un internaute cherche à résoudre le nom www.copwatchnord-idf.org., il doit passer par un serveur de nom de cette zone, or il a une chance sur trois d'aller interroger celui de Gandi, qui est incapable de répondre, probablement parce que notre responsable n'utilise plus leur service de nom.

Conclusion

Il y a bien des choses à dire sur ce sujet ; je me contenterai de quelques remarques :

  • il semble que le responsable de Copwatch se soit rendu compte que le système de nom de domaine allait être utilisé contre lui, et c'est probablement la raison pour laquelle il a changé de prestataire de service de nom mais pas de chance, il s'est joliment planté ;
  • aucun fournisseur d'accès n'a à ma connaissance mise en œuvre la censure demandée, en revanche notre responsable a lui-même rendu son site indisponible avec une probabilité d'un tiers ;
  • le système de nom de domaine est un moyen de censure privilégié, il serait donc bon que les responsables des sites Web concernés se forment sérieusement sur le sujet plutôt que de faire n'importe quoi sans comprendre, au point de s'auto-censurer avant même que la justice ne s'en charge !

Si par hasard le responsable de Copwatch passait par ici, pour régler le problème, c'est simple, vous devez indiquer à Gandi la liste de vos serveurs de nom, donc ceux de FreeDNS.afraid.org, pour qu'ils la transmettent au registre. Mais documentez-vous, nom d'un gnou !

10 comments

wednesday 26 october 2011 à 06:03 Spip said : #1

Bonjour,

Est ce que vous auriez une bonne documentation (anglais, français) à nous recommander, pour des débutants candides ?

Merci :)
PS : je ne suis pas de copwatch ;)

wednesday 26 october 2011 à 10:57 sterfield said : #2

Vaste sujet que la configuration (correcte si possible) des serveurs DNS, je m'y suis plongé il y a peu, et la morale, c'est : "Ya tu taf !".
A noter qu'il y a un autre moyen de régler le problème: ns6.gandi.net est le serveur DNS slave fourni par Gandi. Il "suffirait" qu'ils ajoutent dans la configuration de leur DNS primaire un "allow-transfer" sur l'IP de ns6.gandi.net. De cette façon, la résolution DNS de copwatch par gandi fonctionnerait à nouveau.

wednesday 26 october 2011 à 13:24 tranxene50 said : #3

Au début je n'ai pas compris d'où tu sortais "a0.org.afilias-nst.info." mais avec un trace c'est tout de suite beaucoup plus clair :

dig copwatchnord-idf.org. +trace @8.8.8.8

A+

wednesday 26 october 2011 à 21:47 Tanguy said : #4

@Spip : Il y a le DNS and BIND de chez O'Reilly, ainsi qu'un cours publié par l'AFNIC (il y d'autres documents à côté de ce dernier). J'ai par ailleurs rédigé quelques pages sur le wiki wiki auto-hébergement.

@sterfield : S'ils ont changé de serveurs DNS, ce n'est probablement par pour continuer d'utiliser ceux de Gandi. :-)

@tranxene50 : En effet. C'est un des serveurs de nom de la zone org.

thursday 27 october 2011 à 01:40 Drood said : #5

Merci pour ces explications.
Il y a également une autre censure pas DNS celle-ci, à savoir le blacklistage des mails contenant: copwatchnord-idf.org . Chez Orange et chez Free, le mail se retrouve directement dans les spams...
Une raison de plus pour utiliser GnuPG

thursday 27 october 2011 à 19:09 Spip said : #6

Merci, je me penche sur ça.

thursday 27 october 2011 à 21:37 megacd said : #7

"aucun fournisseur d'accès n'a à ma connaissance mise en œuvre la censure demandée"
En fait si : si on interroge les DNS de Orange, on obtient 127.0.0.1... (dig copwatchnord-idf.org. @80.10.246.2)
Par contre SFR semble toujours répondre la bonne adresse.

thursday 27 october 2011 à 23:32 Tanguy said : #8

@megacd : Tiens, ainsi ça a commencé. Je ne suis pas surpris qu'Orange soient les premiers… :-)

friday 28 october 2011 à 10:46 Jos said : #9

Bonjour,

Le blocage de copwatch est déjà effectif depuis le jugement en référé, et il l'est principalement par blocage IP et non par DNS

Sur une ligne free:

$ ping copwatchnord-idf.org
PING copwatchnord-idf.org (204.13.164.131) 56(84) bytes of data.
^C
--- copwatchnord-idf.org ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms

$ telnet copwatchnord-idf.org 443
Trying 204.13.164.131...
^C

$ traceroute copwatchnord-idf.org
traceroute to copwatchnord-idf.org (204.13.164.131), 30 hops max, 60 byte packets
1 freebox-server.local (192.168.0.254) 0.236 ms 0.268 ms 0.213 ms
2 88.XX.XX.XX (88.XX.XX.XX) 23.159 ms 24.152 ms 24.813 ms
3 213.228.9.254 (213.228.9.254) 26.403 ms 27.055 ms 27.241 ms
4 toulouse-9k-1-be1000.intf.routers.proxad.net (212.27.50.177) 28.138 ms 28.833 ms 29.939 ms
5 bordeaux-crs16-1-be1005.intf.routers.proxad.net (212.27.50.85) 34.127 ms 34.718 ms 35.363 ms
6 bzn-crs16-1-be1100.intf.routers.proxad.net (212.27.51.57) 44.724 ms 36.127 ms 37.183 ms
7 th2-crs16-1-be2000.intf.routers.proxad.net (212.27.57.209) 39.041 ms 36.153 ms 36.199 ms
8 * * *
9 * * *

friday 28 october 2011 à 21:27 tranxene50 said : #10

Sur une ligne OVH :

telnet copwatchnord-idf.org 80
Trying 204.13.164.131...
telnet: Unable to connect to remote host: Connection refused

Par contre le port 443 répond et le site aussi.

Google est déjà à jour.

A+

Write a comment

What is the last letter of the word gizweh? : 

Archives