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 (généralement entre le serveur maître et le serveur esclave. TSIG peut protéger les types de transactions suivantes :
(cette liste n'est pas exhaustive)
TSIG est disponible depuis la version 8.2 de BIND.
TSIG utilise des clés secrètes partagées, ces clés utilisent les fonctions de "hashage" à sens unique pour authentifier les messages DNS.
TSIG est facile et léger pour résolveurs et nommé.
On considère que Bind est déjà installé sur votre serveur "maître" et votre serveur "esclave" et qu'il est parfaitement opérationnel.
Ce tutoriel fonctionne sur Debian Squeeze ou supérieur.
On créé un répertoire pour stocker les clés.
mkdir /etc/bind/keys cd /etc/bind/keys
Ensuite on génère la clé avec la commande suivante :
dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST rndc-key
Ici, nous utilisons le hash "HMAC-SHA512", codé sur 512 bits.
Cette commande aura pour effet de générer deux fichiers portant l'extension '.key' et '.private'.
Le fichier '.key' contient la clé public partagée, le fichier '.private' contient les informations sur la clé
Nous allons donc récupérer la clé partagée, avec la commande suivante :
cat Krndc-key.*.key
Ce qui nous donnera un réponse de ce genre
rndc-key. IN KEY 512 3 165 LVfglksdjgfioujHGlkkd7765GdsgdJH55 pUiqisqf498e2sqd98765gfj1Dy9ish6yQ==
Notre clé est donc LVfglksdjgfioujHGlkkd7765GdsgdJH55 pUiqisqf498e2sqd98765gfj1Dy9ish6yQ==.
Maintenant que nous avons notre clé, il faut configurer Bind sur le serveur "Maître".
Pour cela, nous modifions le fichier /etc/bind/named.conf.local et on ajoute au début de ce fichier les lignes suivantes :
//On indique la clé à utiliser et son algorithme de chiffrage key "TSIG" { algorithm hmac-sha512; secret "LVfglksdjgfioujHGlkkd7765GdsgdJH55 pUiqisqf498e2sqd98765gfj1Dy9ish6yQ=="; }; //On indique l'adresse IP du serveur "Esclave" server 5.39.76.33 { keys { TSIG; }; };
Ensuite, il reste a relancer le serveur BIND avec la commande suivante :
service bind9 restart
Une fois que le serveur "Maître" est configuré, passons au serveur "Esclave". Même opération, on modifie le fichier named.conf.local en rajoutant les lignes suivantes :
//On indique la même clé qu'on a précisé sur le serveur Maître key "TSIG" { algorithm hmac-sha512; secret "LVfglksdjgfioujHGlkkd7765GdsgdJH55 pUiqisqf498e2sqd98765gfj1Dy9ish6yQ=="; }; //Ici on indique l'adresse IP du serveur Maître server 37.187.127.145 { keys { TSIG; }; };
Et on relance le serveur BIND :
service bind restart
Autres liens rapides pouvant vous intéresser