đź”’ DNS over HTTPS

Description du projet

Améliorer notre résolveur DNS en proposant DNS over TLS comme le fait Aquilenet ou La contre voie

https://atelier.aquilenet.fr/projects/dns-ouvert/wiki

Volontaires

Tu peux t’ajouter en éditant ce message wiki via le bouton Modifier en bas du message
@ljf

@totor

TODO

  • Mettre ça en place lors d’une soirĂ©e slash
  • RĂ©parer suite Ă  la migration de recursif-1 et recursif-2
  • Ajouter l’url au site

Changelog

Le 13 mai a été proposé pour travailler sur la question.

Ca avait été mis en place, mais c’est à refaire car les résolveurs ont été réinstallé…

A programmer sur le prochain slash ?

Yep, je crois qu’il y a presque tout, sauf la génération Let’s Encrypt via le challenge DNS

des nouvelles là-dessus ? je configure mon nouveau IronFox (ford de Mull Browser), et il veut mettre du DNS over HTTPS par défaut

@ljf
Peut tu m’indiqué où ce situe l’accès à la vm DNS ? Je vais essayer de m’en charger pour ce WE au max

recursif.arn-fai.net et recursif-2.arn-fai.net
Il faut aussi ns0.arn-fai.net pour mettre en place le challenge ACME via nsupdate…

A ma connaissance,@totor n’a pas d’accès à ces machines, tu gères pour lui créer un compte ?

Merci pour le coup de patte @totor :wink:

J’ai très certainement pas le bon port ssh :confused:
EDIT : vu avec ced117

1 « J'aime »

Config sur IronFox / Firefox :

Paramètres → Vie Privée et sécurité → DNS via HTTPS → Protection maximale → Personnalisé → https://recursif.arn-fai.net/dns-query

Config sur /e/OS :

Réseau et Internet → DNS privé → nom d’hôte du fournisseur DNS privé → n’accepte que recursif.arn-fai.net → Impossible d’accéder au serveur DNS privé → Laisser en automatique

2 « J'aime »

Hello !
C’est en béta, notre petit serveur répond au DoH !

Pour la partie RFC, on respecte donc la RFC 8484 pour ce qui est du Doh, mais aussi du RFC9462 pour la découverte du DoH via une requête dns classique sur _dns.resolver.arpa en SVCB. (donc compatible avec la découverte auto du DoH par windows quand on configure manuellement le serveur DNS).

Comment on installe ça ?
En soit, c’est assez simple à mettre ne place.
Certificat SSL :
On utilisera certbot pour générer et renouveler notre certificat SSL :

apt install certbot -y
puis on génère le certificat SSL

certbot certonly -d recursif.arn-fai.net

Voila, votre certificat SSL est créer avec Let’s Encrypt.

Partie RFC8484 :
On installe doh-server du projet DNSCrypt
(https://github.com/DNSCrypt/doh-server)

On créer un service qui lui est dédiée (/etc/systemd/system/doh-server.service) :

[Unit]
Description=DNS-over-HTTPS Server (DNSCrypt)
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/bin/doh-server \
          -host-name recusrif.arn-fai.net \
          -listen-address 0.0.0.0:443 \
          -cert /etc/letsencrypt/live/recursif.arn-fai.net/fullchain.pem \
          -key /etc/letsencrypt/live/recursif.arn-fai.net/privkey.pem \
          -upstream 127.0.0.1:53 \
          -concurrency 32 \
          -max-clients 1000
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

puis on l’active :

sudo systemctl daemon-reload
sudo systemctl enable --now doh-server
sudo systemctl status doh-server

Le serveur DoH est désormais fonctionnel.

Pour la partie discovery DoH (RFC 9462), il suffit de modifier l’unbound local pour lui faire répondre la réponse attendue :
nano /etc/unbound/unbound.conf

et ajouté ceci dans “server” :

  local-zone: "_dns.resolver.arpa" redirect
  local-data: '_dns.resolver.arpa. IN SVCB 1 recursif.arn-fai.net. ( alpn="h2" port=443 ipv4hint=89.234.141.66 key7="/dns-query{?dns}" )'
  local-data: '_dns.resolver.arpa. IN NS ns0.arn-fai.net.'

Sauvegarder et relancé unbound et la partie discovery est configuré !

1 « J'aime »

Re,
Le DoH ne répond pas, un bug survient après une journée de fonctionnement normal, faut que j’enquête sur ce problème.

(fort heureusement que la beta interne servent à ça).

Je me demande si c’est utile d’utiliser doh-server vu que unbound a un paramétrage fait pour faire du DoH ?
Un avis sur la question ?

Bonne remarque.
Si unbound sait le faire, autant le privilégier par rapport à doh-server.