Besoin testeurs pour corriger/adapter un tuto dnscrypt

Bonjour !

je tente de traduire un tuto en anglais pour en faire une version fr pour Debian et ses derives !
Comme je suis relativement inexperimente, j’aurai besoin d’utilisateurs aguerris pour tester et me dire ce qu’il faut modifier s’il vous plait !
notament ceux qui utilisent unbound et dnsmasq siouplait
Merci

j’ai deja commence a rediger une doc ici

Installation

installez le paquet dnscrypt-proxy

Optionnellement dnscrypt-proxy-plugins,
donne beaucoup de contrôle sur le trafic local:

  • Passez en revue le trafic provenant de votre réseau en temps
    réel et détectez les hôtes et applications compromises.

  • Bloque localement les publicités, les trackers, les logiciels
    malveillants, les spams et tout site Web dont les noms de domaine ou
    les adresses IP correspondent à un ensemble de règles que vous
    définissez.

  • Empêcher que les requêtes concernant les zones locales soient
    divulguées.

  • Réduire la latence en cas de mise en cache des réponses et
    éviter de demander des adresses IPv6 sur les réseaux IPv4
    uniquement.

  • Forcer le trafic à utiliser , pour l’acheminer via des tunnels
    uniquement ou Tor.

Configuration
Pour configurer dnscrypt-proxy, procédez comme suit:

Un exemple de fichier de configuration,
/usr/share/doc/dnscrypt-proxy/examples/dnscrypt-proxy.conf
est fourni mais notez que sytemd outrepasse l’option LocalAddress
par un fichier socket

Sélectionnez
le résolveur
Sélectionnez un résolveur à partir de
/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
et modifiez /etc/dnscrypt-proxy/dnscrypt-proxy.conf,
en utilisant un nom abrégé de la première colonne du fichier csv.
Par exemple, pour sélectionner dnscrypt.eu-nl
comme résolveur:

ResolverName dnscrypt.eu-nl

  • Une liste potentiellement plus à jour est disponible directement
    sur la
    page Github du projet

  • À ce stade, vous pouvez également ajouter un utilisateur non
    privilégié pour exécuter dnscrypt. Voir Dépannage

Modifiez le
resolv.conf
Après avoir sélectionné un résolveur dnscrypt, modifiez le
fichier /etc/resolv.conf et remplacez
l’ensemble actuel d’adresses de résolveur par une adresse pour
localhost:

nameserver 127.0.2.1
/!\ Attention, d’autres programmes peuvent remplacer
ce paramètre ! Voir
6.2

Démarrer
le service systemd
Enfin, démarrez puis activez le service dnscrypt-proxy.service
au démarrage de votre machine:

sudo systemctl start dnscrypt-proxy.service
sudo systemctl enable dnscrypt-proxy.service
Trucs et astuces
Local
DNS cache configuration
Dnscrypt peut mettre en cache les entrées sans compter sur un
autre programme. Assurez-vous que LocalCache on
est dans votre fichier de configuration dnscrypt pour activer cette
fonctionnalité.

Il est recommandé d’exécuter DNSCrypt en tant que redirecteur
pour un cache local si vous n’utilisez pas la fonctionnalité de
cache de dnscrypt; sinon, chaque requête fera un aller-retour vers
le résolveur en amont. Tout programme de mise en cache local devrait
fonctionner. En plus de configurer dnscrypt-proxy, vous devez
configurer votre programme de cache local.

Changer le port
La modification de l’adresse IP ou du port dans
/etc/dnscrypt-proxy/dnscrypt-proxy.conf
ne fonctionne pas avec systemd et doit être modifiée dans le socket
systemd fourni de la manière suivante.

Afin de transférer vers un cache local, dnscrypt-proxy doit
écouter sur un port différent du port 53 pardéfaut, car le cache
lui-même doit écouter sur le port 53 et interroger dnscrypt-proxy
sur un autre port. Le numéro de port 5353
est utilisé à titre d’exemple dans cette section. Dans cet exemple,
le numéro de port est supérieur à 1024, de sorte que
dnscrypt-proxy n’est pas a être exécuté
par root. Modifiez dnscrypt-proxy.socket
avec le contenu suivant:

[Socket]
ListenStream=
ListenDatagram=
ListenStream=127.0.0.1:5353
ListenDatagram=127.0.0.1:5353
Le port UDP 5353 est utilisé par Avahi (si installé et en cours
d’exécution) et peut provoquer des avertissements dans le journal

Example de configurations local DNS cache
Les configurations suivantes devraient fonctionner avec
dnscrypt-proxy et assume qu’il écoute sur le port 5353.

Unbound
Configurez Unbound
à votre convenance et ajoutez les lignes suivantes à la fin de la
section server dans
/etc/unbound/unbound.conf:

do-not-query-localhost: no
forward-zone:
name: "."
forward-addr: 127.0.0.1@5353
Si vous configurez un serveur, ajoutez l’interface: interface:
0.0.0.0@53 et access-control:
your-network/subnet-mask allow dans la section server:
section afin que les autres ordinateurs puissent se connecter au
serveur. Un client doit être configuré avec nameserver
address-of-your-server dans /etc/resolv.conf.

Ensuite redémarrez unbound.service pour appliquer les
modifications:

sudo systemctl restart unbound.service
dnsmasq
Configurez dnsmasq en tant que cache
DNS local. La configuration de base dans /etc/dnsmasq.conf
pour fonctionner avec DNSCrypt:

no-resolv
server=127.0.0.1#5353
listen-address=127.0.0.1
Si vous avez configuré DNSCrypt pour utiliser un résolveur avec la
validation DNSSEC activée, assurez-vous de l’activer également dans
/etc/dnsmasq.conf:

proxy-dnssec
Redémarrez dnsmasq.service pour appliquer les modifications:

sudo systemctl restart dnsmasq.service
Activer EDNS0
EDNS qui, entre
autres, permettent à un client de préciser la taille d’une réponse
via UDP. Ajoutez la ligne suivante à votre /etc/resolv.conf:

options edns0
Vous pouvez également ajouter ce qui suit à
/etc/dnscrypt-proxy/dnscrypt-proxy.conf:

EDNSPayloadSize
Ou est un nombre, la taille par défaut étant 1252,
avec des valeurs allant jusqu’à 4096 octets, étant présumée sûre.
Une valeur inférieure ou égale à 512 octets désactivera ce
mécanisme, sauf si un client envoie un paquet avec une section OPT
fournissant une taille.

Tester EDNS0
Utilisez le serveur
de test de taille de réponse DNS, utilisez l’outil de ligne de
commande drill pour émettre une requête
TXT pour le nom rs.dns-oarc.net:

$ drill rs.dns-oarc.net TXT
Avec EDNS0 pris en charge, la “answer section” de la sortie
devrait ressembler à ceci:

rst.x3827.rs.dns-oarc.net.
rst.x4049.x3827.rs.dns-oarc.net.
rst.x4055.x4049.x3827.rs.dns-oarc.net.
“2a00:d880:3:1::a6c1:2e89 DNS reply size limit is at least 4055 bytes”
"2a00:d880:3:1::a6c1:2e89 sent EDNS buffer size 4096"
Problèmes

Dnscrypt fonctionne avec les privilèges root
Pour contourner cela, créez manuellement un utilisateur sans
privilège:

sudo useradd -r -d /var/dnscrypt -m -s /sbin/nologin dnscrypt
commande a vérifier !

Deux solutions possibles Modifier
/etc/dnscrypt-proxy/dnscrypt-proxy.conf,
en ajoutant le nouvel utilisateur:

User dnscrypt
Sinon, vous devez utiliser User = dans l’unité
dnscrypt-proxy.service de systemd:

Formulation a revoir !

[Service]
User=dnscrypt
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
Cette deuxième option est utile lors de l’utilisation d’un serveur
de mise en cache comme Unbound et est préférable, puisque l’unité
n’est pas exécutée en tant que root en premier lieu. Si vous avez
changé le port vers un non-privilégié (par exemple 5353),
CapabilityBoundingSet = CAP_NET_BIND_SERVICE
n’est pas nécessaire.

Network Manager et divers autres processus écrasent /etc/resolv.conf
Il s’agit généralement d’un comportement souhaitable, mais
parfois, les paramètres doivent être définis manuellement (par
exemple lors de l’utilisation d’une adresse IP statique). Il existe
plusieurs façons d’y parvenir.

Avec Network
Manager
Pour empêcher NetworkManager de modifier /etc/resolv.conf,
modifiez /etc/NetworkManager/NetworkManager.conf
et ajoutez ce qui suit dans la section [main]:

dns=none
/etc/resolv.conf peut être un lien
symbolique brisé que vous devrez supprimer après avoir fait cela.
Ensuite, créez simplement un nouveau fichier /etc/resolv.conf.

Protection
contre l’écriture
Une autre façon (radicale!) de protéger votre /etc/resolv.conf
d’être modifié par quoi que ce soit est de mettre en place la
protection en écriture:

sudo chattr +i /etc/resolv.conf
pour dévérouiller la protection, éxécutez:

sudo chattr -i /etc/resolv.conf

1 J'aime

J’avais installé dnscrypt avec Unbound à l’aide de çà
sudo add-apt-repository ppa:xuzhen666/dnscrypt sudo apt-get update && sudo apt-get install dnscrypt-proxy
http://15minutesoffame.be/nico/blog2/index.php?article22/securiser-ses-dns-dnscrypt-et-cache-local-avec-bind

salut merci pour le lien.
Pour la partie concernant Dnscrypt Randomizer, il est interressant de savoir comment cela fonctionne.
Pour le reste c’est base sur un ppa avec un vieille version, Dnscrypt est maintenant dispo dans les depots Debian avec des fonctionnalite qui donne la possibilite de se passer de dnsmasq ou unbound.