Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.
C’est alors la barrière de la prise en main qui fait peur, et pourtant...
Les logiciels libres
L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.
Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.
Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.
Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.
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 :
- Utilisable indépendamment d'autres services (comme
l'hébergement Web),
- Permet aux internautes de s'inscrire, puis de donner une
liste de domaines qu'ils souhaitent voir gérés par le
service,
- Permet de gérer le contenu de la zone DNS, en indiquant
différents enregistrements, de tous les types
possibles, avec leurs valeurs. L'interface proposée
doit être simple d'usage, sans limiter les possibilités. Tous les hébergeurs
DNS ont aujourd'hui une telle interface, typiquement via le Web
et parfois via une API en prime.
- Raisonnablement sécurisé, car il ne faut pas qu'un
utilisateur puisse modifier le domaine d'un autre !
- Ne réinventant pas la roue, donc reposant sur un logiciel
de serveur DNS faisant autorité qui soit stable et sérieux comme
nsd ou
Knot.
- D'un point de vue de l'utilisateur, il serait bon d'avoir
un mode simple, où on donne juste l'adresse IP du serveur Web, avec des modes plus
avancés pour les utilisateurs qui ne se contentent pas d'un site
Web.
- D'un point de vue politique, certains peuvent aussi
souhaiter pouvoir maîtriser où sont situés les serveurs faisant
autorité (on peut vouloir éviter tel ou tel pays, et migrer
facilement),
- D'un point de vue plus technique, il faudrait
DNSSEC (passage des
enregistrements DS
mais, surtout, gestion des clés et signatures par l'hébergeur), les mises à jour dynamiques du
RFC 2136 (mais une bonne
API peut les remplacer).
Un tel service, à ma connaissance, n'existe pas aujourd'hui
dans le monde associatif. Il
faut dire qu'il existe quelques risques :
- Le service pourrait être confronté à des menaces juridiques
(la liberté d'expression ne plait pas à tout le monde), venant
par exemple d'ayant-trop-de-droits si on héberge une zone DNS
comme celle de Sci-Hub, ou bien venant
d'adversaires politiques (cf. le cas
d'IndyMedia),
- Tout le monde ne croit pas à l'état de droit et donc les
menaces pourraient être suivies, voire précédées
d'attaques par déni de
service. L'exemple de Dyn ou
bien celui du
domaine national turc
invitent à être prudent. Un hébergement DNS sympa fait par
deux-trois potes pourrait ne pas résister à une
dDoS un peu sérieuse.
- L'attaque par déni de service n'est pas la seule
menace. Il existe aussi le risque de détournement du nom, comme
c'était arrivé à Wikileaks et à beaucoup
d'autres. Bien sûr, si le détournement avait exploité une faute
de l'utilisateur, le logiciel n'y peut pas grand'chose. Mais
certains détournements étaient dûs à une faille de sécurité du logiciel.
On peut citer quelques services possibles qui se rapprochent de
ce but :
- Le plus connu est Xname, dont la documentation est
très complète, mais il est apparement
abandonné (aucune nouvelle depuis 2013). Je teste et
Error: bad zone name example.com. Donc, cela
ne semble pas marcher. Le service semble vraiment mort, d'autant
plus que leur
propre zone est pleine d'erreurs.
- J'ai essayé de tester NetLibre. Il ne fournit pas
d'hébergement sec, il faut utiliser NetLibre pour acquérir son
nom (pour lequel on n'a donc pas un choix complet, on est limité
aux domaines de NetLibre). C'est donc plutôt l'équivalent de
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).
- Le service Free
DNS est franchement trop compliqué pour moi. Je n'ai tout
simplement pas compris ce qu'on pouvait faire avec, et comment s'en servir (mon domaine est
marqué comme BROKEN et la FAQ est
incompréhensible, et fausse quand elle prétend
The central authority for all domains on the Internet is ICANN).
- On m'a cité
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 :
- Pour ce·ux·elles qui ne font confiance à personne, et/ou
ne veulent dépendre de personne. Le logiciel n'a alors pas
besoin d'avoir la notion de comptes ou d'utilisateur, puisqu'il
n'existe qu'un·e utilisat·eur·rice.
- Pour ce·ux·elles qui veulent faire essaimer le service.
(Dans ce cas, le logiciel pourrait être utilisé par l'éventuel
service public, puis par
ses spin-offs.)
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 :
- DNS
zones manager, le logiciel derrière NetLib.re. Je n'ai
pas réussi à l'installer (
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.)
- Il existe des logiciels bien plus génériques que des seuls
gestionnaires de zones DNS, qui pourraient servir de point de
départ. C'est le cas de ISPConfig ou
Webmin, par exemple.
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 me semble qu'il
n'existe rien de tel. Peut-être :
- Puck. L'interface
est vraiment rude (elle n'indique même pas quelle est l'adresse IP
à autoriser, il faut regarder son
journal !)
mais ça marche bien. (Pensez à mettre ensuite
puck.nether.net
dans l'ensemble des
enregistrements NS.)
- Au Danemark, il y a GratisDNS, depuis 1999
(documentation uniquement en danois.)
- EntryDNS faisait un
service gratuit, mais il est désormais arrêté et remplacé par un
service payant (mais très bon marché).
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…