Description
Nommé Durcir Linux : utiliser dnscrypt est un bien grand mot… en fait, nous n’allons pas durcir directement Linux, mais nous allons utiliser un petit outil, bien pratique, dont le but est de chiffrer les communications DNS !
DNSCrypt est un outil, à l’origine développé par OpenDNS, qui maintenant a sa vie propre, au-travers du site : dnscrypt.org.
Revenons en au but de ce petit outil, à savoir d’authentifier les communications DNS, entre votre client logiciel DNS, et les serveurs DNS que vous utilisez pour pouvoir surfer sur Internet. Il utilise des signatures cryptographiques pour communiquer. Il interroge des serveurs DNS publics, compatible avec l’outil.
Il peut-être actif conjointement à votre serveur DNS cache local. pour cela, je vous renvoie à la documentation officielle
Bien comprendre que cela ne protège pas des failles dues à DNS. dnscrypt authentifie le trafic DNS, avec un serveur DNS compatible, et ainsi empêche qu’un serveur malintentionné se fasse passer pour un serveur authentique.
dnscrypt n’est pas non plus un service VPN, et n’a pas l’intention de fournir de tels services, vous ne pouvez pas faire passer tous vos flux TCP/IP, ni UDP, à l’intérieur… Seules les requêtes DNS, sur les ports 53 et 443, en UDP.
Soyez avertis aussi que les serveurs DNS compatibles peuvent très bien journaliser votre trafic !
Il fonctionne sur les protocoles IPv4 et IPv6.
Installation
Du côté de Debian, et assimilés, le client existe dans les dépôts officiels, pour toutes les versions de Debian, de stable à Sid.
Du côté des *Buntu, il existe les ppa suivants :
- celui de Xu Zhen,
- ou mieux intégré, celui de Pascal Mons - je me baserai sur ce dernier
à vous de les ajouter, puis de les installer.
Sinon, vous attendez la future LTS [[http://packages.ubuntu.com/search?suite=xenial&searchon=names&keywords=dnscrypt|Xenial]], ou vous mettez-à-jour vers [[http://packages.ubuntu.com/search?suite=wily&searchon=names&keywords=dnscrypt|Willy]] !
Configuration
Le fichier de configuration principal est situé dans /etc/default/dnscrypt-proxy
.
Vous y retrouverez différentes options faciles à comprendre !
Network Manager
Pensez à bien modifier votre configuration dans l’outil Network Manager, et à paramétrer votre onglet [ Paramètres IPv4 ] en modifiant :
- la méthode sur ‘Adresses automatiques uniquement (DHCP)’,
- puis à écrire dans le champ ‘Serveurs DNS’, la valeur suivante ‘127.0.0.2’,
enregistrez !
/etc/network/interfaces
Si vous n’utilisez pas Network Manager, modifiez directement votre fichier
/etc/network/interfaces
, en ajouter la mention :
dns-nameservers 127.0.0.2
dans ce cas, pensez à redémarrer votre réseau !
Oui, c’est bien l’adresse localhost 127.0.0.2
…
car l’outil dnscrypt-proxy
travaille en relation avec dnsmasq
, qui
lui fonctionne, par défaut, sur l’adresse localhost normale.
Celui de Xu Zhen, ce sera l’adresse localhost ‘127.0.0.1’.
Mise en garde
À ce propos, si vous changez l’option liée à l’utilisateur en changeant son nom, soit… c’est votre droit - mais pensez à supprimer celui créé par l’installateur, et à créer le vôtre dans les mêmes conditions, tel que :
# adduser --system --quiet --home /run/dnscrypt --shell /bin/false --group --disabled-password --disabled-login votre_user_dnscrypt
Cela est d’ailleurs indiqué dans le fichier de configuration !
Vous êtes libre de changer aussi son répertoire maison ; pensez à vérifier la création dudit répertoire, et à supprimer celui par défaut !
Toutes les options que renferme le manpage lié à l’outil
sont utilisables dans le fichier de configuration :
$ man dnscrypt
Il suffit dans ce cas d’enlever les 2 symboles --
qui les précédent.
À ce propos, si vous avez la bonne idée d’utiliser l’option logfile
,
telle que logfile=/var/log/dnscypt-proxy.log
et si vous utilisez apparmor
aussi,
il faudra changer le profil apparmor lié à l’outil, pour y ajouter la ligne suivante :
/var/log/dnscypt-proxy.log rw,
Vous trouverez une liste des différents serveurs DNS compatibles, leurs noms,
leurs adresses IP, leurs clés d’authentification, etc…
dans le fichier /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
.
Vous pouvez changer ces informations dans le fichier de configuration.