Unbound

Aller à : navigation, rechercher

INSTALLER UNBOUND SUR OPENSUSE

Préambule :

Définition

DNS La majeure partie des connexions sur Internet débutent par une requête DNS. la requête est envoyée a un résolveur DNS, celui de votre FAI ou de votre résolveur local.

Celui-ci interroge des serveurs DNS faisant autorité, et va répondre aux demandes des requêtes faites par vos applications. Un résolveur DNS local est donc une application qui va se charger de gérer les demandes ou requêtes DNS des applications. Pour être éfficace, les résolveurs DNS gèrent un cache afin de répondre plus rapidement aux requêtes des applications. Si vous souhaitez vous passer du résolveur DNS de votre FAI pour divers raisons, entre autres, avoir une meilleur confidentialité, et gérer en local vos requêtes DNS.

Il y a plusieurs applications opensource qui gèrent efficacement cela.

Unbound par exemple


Petit Rappel de l'utilité d'un serveur DNS : Stéphane Bortzmeyer (ingénieur en sécurité, notamment du DNS)

  1. REDIRECTION [[1]]

Si vous souhaitez ou tester les dns de votre FAI

  1. REDIRECTION [[2]]
1°) Télécharger Unbound

Soit dans votre : Terminal,Gestionnaire d'application ou Dépôts communautaire.

  • Dans votre terminal en tant qu’utilisateur nous aurons besoin des droits roots pour l'ensemble des manipulations :
 su 
# zypper in unbound 

Si vous souhaitez avoir la dernière version, il vous faudra passer par les dépôts communautaires :

  1. REDIRECTION [[3]]
2°) Télécharger les serveurs racines
# wget ftp://FTP.INTERNIC.NET/domain/named.cache -O /etc/unbound/root.hints 
3°) Télécharger fichier Antipub dans Unbound
# wget -q -O- 'http://pgl.yoyo.org/adservers/serverlist.php?hostformat=unbound&showintro=0&mimetype=plaintext' > /etc/unbound/local.d/unbound_add_servers 
4°) Changement de propriétaire du fichier unbound_add_servers
 # chown unbound:unbound /etc/unbound/local.d/unbound_add_servers 
5°) Mise a jour par crontab

(serveurs racines, serverlist antipub)


# nano /etc/crontab 
 00 5 * * 1 wget ftp://ftp.internic.net/domain/named.cache -O /etc/unbound/root.hints && systemctl restart unbound >/dev/null 2>&1
 59 4 * * 1 wget -q -O- 'http://pgl.yoyo.org/adservers/serverlist.php?hostformat=unbound&showintro=0&mimetype=plaintext' > /etc/unbound/local.d/unbound_add_servers && systemctl restart unbound >/dev/null 2>&1 
6°) Générer les clefs TLS
# unbound-control-setup 
7°) Configuration réseau pour la prise en compte d'unbound

dans votre gestionnaire de réseau - onglet DNS Ipv4

Screenshot 20181025 124016.png

dans votre gestionnaire de réseau - onglet DNS Ipv6 désactivé

Screenshot 20181025 124728.png

dans votre gestionnaire de réseau - onglet DNS Ipv6 activé

Screenshot 20181025 125412.png
8°) Désactiver Dnsmasq
# sed -i 's/dns=dnsmasq/#dns=dnsmasq/g' /etc/NetworkManager/NetworkManager.conf 
9°) Relancer le gestionnaire de réseau
# systemctl restart NetworkManager 
10°) Configuration du fichier conf d'Unbound
  • Arrêter le service unbound
# systemctl stop unbound 
  • Télécharger le fichier unbound.conf
  1. REDIRECTION [[4]]
Attention Ce fichier de configuration est optimisé pour un cpu 4core, mise à jour par mes soins
Optimisation Unbound Si vous souhaitez optimiser unbound selon la configuration de votre matériel et de vos paramètres de sécurités personnel. Visitez le Site d'Unbound .

Click here .

  • Editer le fichier conf d'Unbound
# gedit /etc/unbound/unbound.conf 

Copier/coller ## vous pouvez adapter selon votre configuration

  • Ma configuration commentée
  1. ) qname-minimisation = anomyniser les requètes dns
  2. ) fichier antipub = bloque le maximum de pub, spam...
  3. ) dnssec = sécurité des requètes dns
  4. ) optimiser pour cpu 4 core
  5. ) plages ports autorisées et interdites
  6. ) paramètres anonymisation activés
11°) Finalisation paramètre système
  • Création fichier log et droits
# touch /var/log/unbound.log 
# chmod 755 /var/log/unbound.log 
Attention Depuis la version 1.8.3-1.1 changement SIGNATURE NUMERIQUE DNSSEC


Activation des signatures numériques de DNSSEC se fait manuellement et non plus automatiquement

a) Création du répertoire unbound

# mkdir /var/lib/unbound 

b) Changement de propriétaire du répertoire

# chown unbound unbound 

c) Création signature numérique DNSSEC

# sudo -u unbound unbound-anchor -v -a /var/lib/unbound/root.key 
  • Fin de la Signature numérique manuelle de DNSSEC

  • Supprimer le cache-DNS local
 # rcnscd restart 
  • Relancer Unbound
# systemctl restart unbound
  • Relancer Networkmanager en mode graphique
Screenshot 20181025 135717.png
  • Lancer unbound au démarrage
# systemctl enable unbound 
  • Voir le status d'unbound et les erreurs
#systemctl status unbound 
12°) Divers Tests de Fonctionnement unbound
  • Vérification des erreurs du fichier configuration
# unbound-checkconf /etc/unbound/unbound.conf 
Screenshot 20181025 141358.png
  • Vérification DNSSEC
# dig +nodnssec +short TXT qnamemintest.internet.nl 
Screenshot 20181025 141131.png
  • Vérification temps de réponse résolveur présence du drapeau 'ad' OBLIGATOIRE
# dig com. SOA +dnssec  
1er test avec drapeau ad et temps de réponse
2ème test toujours drapeau 'ad' et temps de réponse 0ms
  • Vérification Test TLS (Réponse : (secure) devra apparaitre)
# unbound-host com. -f /var/lib/unbound/root.key -v 

# unbound-host dnssec.cz -f /var/lib/unbound/root.key -v 

# unbound-host dnssec.cz -C /etc/unbound/unbound.conf -v 
secure devra apparaitre sur les 3 tests
  • Test visuel graphique dans votre navigateur

Dans votre navigateur allez sur les sites suivants et vérifie :

  1. Site : http://www.dnssec.cz/ (vous devez voir une clé verte, c'est ok)
  2. Site : https://en.internet.nl/connection (Réponse : DNSSEC validation, c'est ok)
  • Vérification boucle locale DNS
# nmcli dev show | grep DNS 
  • Vérification unique résolveur dns sur votre système (dnsmasq ne doit pas apparaitre)
# lsof -i :53  
  • Vérification port d'écoute unbound tcp & udp
# ss -laputen | grep unbound 
Screenshot 20181025 144331.png
  • Analyse les stats d'Unbound
# unbound-control stats