Première rédaction de cet article le 3 novembre 2018
Dernière mise à jour le 17 mai 2021
Dans cet article, je ne vais pas décrire un logiciel ou service existant, ni résumer un RFC. Je voudrais au contraire pointer du doigt un manque dans l'offre existante, à la fois l'offre de services non-commerciaux accessibles au·à la non-geek, et l'offre de logiciel libre. Pourquoi n'y a-t-il pas de système simple pour héberger une zone DNS ? Et, si un·e militant·e de la liberté sur Internet passe par là, ne serait-ce pas une bonne idée d'en créer un ? J'espère que cet article donnera des idées.
Un peu de contexte d'abord. Le DNS est à la base de quasiment toutes les transactions sur l'Internet. Si on se soucie de la liberté et de l'indépendance de l'utilisateur qui veut publier quelque chose, et pas être un·e simple consommat·eur·rice, avoir un nom de domaine à soi est crucial. Acheter/louer un tel nom est simple et peu coûteux (encore qu'il semble qu'il n'existe que très peu, voire pas du tout, de bureaux d'enregistrement non-commerciaux). L'héberger est une autre histoire. L'hébergeur DNS (qui n'est pas forcément le bureau d'enregistrement) joue un rôle crucial. S'il est en panne, plus rien ne marche. S'il enregistre les données, la vie privée est menacée (sur ce risque, voir le RFC 7626). Il faut donc le choisir avec soin.
Or, beaucoup de titulaires de nom de domaine choisissent une entreprise (par exemple Cloudflare) un peu au hasard, sans avoir étudié ses pratiques. Il serait évidemment préférable de faire héberger ses serveurs de noms dans un endroit plus sûr.
Un solution geek existe pour cela,
l'auto-hébergement des serveurs de noms. Ce n'est pas très
compliqué (un logiciel libre comme nsd fait
cela très bien) et cela ne demande que peu de ressources (un
serveur DNS ne représente que peu de trafic, un
Raspberry Pi connecté en
ADSL suffit largement pour la plupart des
zones, d'autant plus que le vrai serveur primaire n'a pas
forcément besoin d'être accessible de tout l'Internet, il peut
être caché, visible uniquement des secondaires). Si on veut
améliorer les choses, on peut demander à des cop·ain·ine·s
d'héberger un serveur secondaire de sa zone. C'est ainsi qu'est
hébergée la zone DNS de ce blog, bortzmeyer.org
.
Mais, évidemment, c'est uniquement une solution pour geek. On ne peut pas demander à toute personne qui publie sur Internet de configurer nsd ou Knot même si, je le répète, c'est relativement simple. Et il faudrait en plus éditer son fichier de zone DNS avec un éditeur de texte, ce qui n'enchante pas le non-geek. Or, la liberté d'expression ne doit pas être réservée aux informaticiens !
Il faudrait donc une solution pour ces utilisateurices. Il y a deux moyens de fournir cette solution, via un service ou via un logiciel. Concentrons-nous d'abord sur les services car, même s'il existait un logiciel tout fait, libre et tout, il resterait à gérer l'administration quotidienne du serveur, et un serveur DNS fait parfois face à des problèmes (voir plus loin dans cet article le problème des dDoS). Des services pour M. ou Mme Toutlemonde, libres, éthiques, non-commerciaux et le reste, existent, ce sont par exemple les CHATONS, dont le plus connu est Framasoft. Mais, à l'heure actuelle, à ma connaissance, aucun CHATON ne propose d'hébergement DNS.
Esquissons brièvement le cahier des charges d'un tel service :
Un tel service, à ma connaissance, n'existe pas aujourd'hui dans le monde associatif. Il faut dire qu'il existe quelques risques :
On peut citer quelques services possibles qui se rapprochent de ce but :
eu.org
, avec
hébergement en plus. De toute façon, le service semble peu maintenu :
Oh ! Une erreur est survenue. scp failed: unable to
fork ssh master: Cannot allocate memory at
/home/ppittoli/dnsmanager/bin/../lib/copycat.pm line
35 (et la seule adresse de contact est sur IRC).nohost.me
, mais, si j'ai
bien compris, c'est utilisable uniquement depuis YunoHost.Cela, c'était pour un service en ligne. Et un logiciel ? Je vois deux cas d'usage :
Ce doit être bien sûr un logiciel libre, qui doit pouvoir être installé relativement facilement, et fournir le service décrit ci-dessus. Pour le premier cas d'usage, le cas individuel, il serait peut-être encore mieux qu'il soit intégré à une plate-forme comme Cozy. Là encore, à ma connaissance, un tel logiciel n'existe pas (il existe plusieurs trucs plus ou moins bricolés, pas évidents à installer sur sa machine, et encore moins à maintenir).
Les logiciels existants qui pourraient servir d'inspiration :
perlbrew install
perl-5.18.0
donne « ERROR: Failed to download
http://www.cpan.org/authors/id/R/RJ/RJBS/perl-5.18.0.tar.bz2 »,
il faut manifestement des compétences
Perl plus pointues que les
miennes.)Mais notez bien que le logiciel ne résout qu'une partie du problème : il faut encore les serveurs. C'est pour cela que je pense que la solution « service hébergé » est plus adaptée aux non-geeks.
Notons enfin qu'un service limité, qui ne fournisse que le serveur secondaire, charge à l'utilisateur d'avoir son propre primaire, serait déjà très utile. Là encore, il n'existe pas grand'chose. Au début, j'avais listé :
puck.nether.net
dans l'ensemble des
enregistrements NS.)Mais j'ai depuis fait un article dédié sur cette question des DNS secondaires.
Je serai ravi d'apprendre que j'ai mal cherché et qu'un tel service ou un tel logiciel existent. N'hésitez pas à me le faire savoir. Et, si je ne me suis pas trompé, si un·e courageu·x·se pouvait le réaliser…
La partie « interface de gestion du contenu » est traitée par le très prometteur projet happyDNS (mais pas encore la partie « hébergement »). Il existe aussi le service d'hébergement deSEC, qui semble très bien, il fait l'hébergement et l'avitaillement (avec interface de gestion du contenu), mais pas la gestion d'un serveur secondaire, il faut complètement leur déléguer sa zone. (La question est discutée.)
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)