Skip to content

Analyse_DNS

Abderrachid BELLAALI edited this page Apr 27, 2022 · 1 revision

Analyse du service DNS Public

Responsable : Simon

Statut de l'étape : Validé

Besoins techniques

DNS c'est quoi ?

Le Domain Name System permet aux utilisateurs d'internet de ne pas passer par l'adresse IP d'un site mais par son nom de domaine. Le DNS va traduire une demande d'un nom de domaine en adresse IP. Il va contrôler que la requête de l'utilisateur va bien vers le bon serveur.

Les demandes fonctionnelles du client sont les suivantes :

Premièrement, le client souhaite implémenter un sous-domaine (m5-1.ephec-ti.be) afin de permettre l'installation d'un portail WEB public présentant les produits (www.woodytoys.be) et le site (b2b.woodytoys.be) qui est pour les commerciaux.

Il faudra donc un SOA public pour ce service. Start of Authority (SOA) est un ensemble de données qui fournit des ressources critiques pour le système de noms de domaine qui aide à valider les domaines sur Internet.

Identification et comparaison des solutions possibles

  • BIND : Système DNS le plus utilisé, rapide et beaucoup de documentation.
  • PowerDNS : SOA et résolveur supportant DNSSEC. Possibilité de stocker les records dans mySQL.
  • MicrosoftDNS : DNS propriétaire de Microsoft. Il est disponible exclusivement sur Windows Server.
  • Unbound : Résolveur DNS mais pas SOA, rapide et facile à configurer.
Choix Linux Windows Mac-OS Authoritative Récursive Secondaire DNSSEC TSIG IPv6 Gratuit
BIND OUI OUI OUI OUI OUI OUI OUI OUI OUI OUI
PowerDNS OUI NON Beta OUI OUI OUI OUI OUI OUI OUI
MicrosoftDNS NON NON NON OUI OUI OUI OUI OUI OUI NON
Unbound OUI OUI OUI Partial OUI NON NON NON OUI OUI
  • Authoritative : Publication des zones et des enregistrements DNS sous le contrôle faisant autorité du serveur en tant que serveur principal.
  • Récursive : Récupération des données à partir d'autres serveurs DNS pour le compte de systèmes clients.
  • Secondaire : Copie d'un serveur SOA primaire, en cas de panne.
  • DNSSEC : Le protocole DNSSEC renforce l'authentification du DNS en utilisant des signatures numériques basées sur la cryptographie à clé publique.
  • TSIG : Le système de signatures de transaction (TSIG) est un mécanisme utilisé pour sécuriser les messages DNS et de fournir une communication sécurisée entre serveur DNS.

Choix et justification d'une solution

Nous avons décidé de prendre BIND dans un premier temps car il est très complet. Il est utilisable sur les OS principaux (Linux, Windows, Mac-OS). Il est capable de faire SOA ainsi que résolveur. BIND inclut déjà DNSSEC et TSIG qui sont des protocoles qui renforce le serveur. Il est également possible de faire de l'IPv6 ce qui n'est évidemment pas négligeable actuellement. Le seul point négatif est la gestion des vues difficiles DNS secondaire. Pour conclure, il est primordiale que le serveur DNS qu'on utilise soit gratuit étant donné que nous sommes dans un cadre scolaire.

Eléments de configuration

Installer Bind9

Par défaut, BIND 9 est disponible dans le dépôt par défaut Ubuntu 16.04. Vous pouvez facilement l’installer en exécutant la commande suivante :

apt-get install bind9 bind9utils bind9-doc dnsutils -y

Après avoir installé BIND 9, vous devrez définir BIND en mode IPv4. Vous pouvez le faire en éditant /etc/systemd/system/bind9.service file :

nano /etc/systemd/system/bind9.service

Apporter les modifications suivantes :

[Service]
ExecStart=/usr/sbin/named -f -u bind -4

Enregistrez et fermez le fichier. Ensuite, rechargez le démon systemd pour lire la nouvelle configuration dans le système en cours d’exécution :

systemctl daemon-reload

Ensuite, redémarrez le service BIND pour appliquer les modifications :

systemctl restart bind9

Configurer Bind9

Tous les fichiers de configuration de BIND 9 se trouvent dans le répertoire /etc/bind. Tout d’abord, vous devrez modifier le fichier /etc/bind/named.conf.options et ajouter des redirecteurs. Forwarders. La requête DNS sera transmise aux transitaires lorsque votre serveur DNS local ne sera pas en mesure de résoudre la requête.

nano /etc/bind/named.conf.options

Ajouter les lignes suivantes :

forwarders {
                8.8.8.8;
         };

Enregistrez et fermez le fichier. Ensuite, vous devrez configurer le fichier /etc/bind/named.conf.local. Ce fichier sera utilisé pour définir la zone de votre domaine.

nano /etc/bind/named.conf.local

Ajouter les lignes suivantes :

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "example.com" {
 type master;
 file "/etc/bind/forward.example.com";
};
zone "0.168.192.in-addr.arpa" {
 type master;
 file "/etc/bind/reverse.example.com";
};

Sources

Clone this wiki locally