Ceci est une ancienne révision du document !
Table des matières
Sécuriser ses transferts de zone DNS avec TSIG
Nous allons voir comment sécuriser ses transferts de zone DNS avec TSIG.
Comme d'habitude cette configuration se fera sur une debian stable à jour (wheezy a l'heure actuelle), mais doit être adaptée facilement à n'importe quelle distribution
Prérequis
- des serveurs DNS deja configurés
: un maître et un ou plusieurs esclaves pour une zone donnée
- pour éviter les attaques par rejeu, ces serveurs doivent être a la même heure : utilisation de ntpdate ou mieux d'un démon NTP sur chacun
Sur le serveur maître
Générer la clef partagée
- Création du repertoire servant a contenir la clef :
mkdir /etc/bind/keys ; cd /etc/bind/keys
- Génération de la clef :
dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST -r /dev/random transfer-domain-com
Apres un court instant vous devriez voir quelque chose comme :
masterdns:/etc/bind/keys# dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST -r /dev/random transfer-domain-com Ktransfer-domain-com.+165+52920
Un rapide ls -l nous montre bien la création des 2 fichiers de clef privée (.fichier .private) et publique (fichier .key):
masterdns:/etc/bind/keys# ls -l total 8 -rw-r--r-- 1 root bind 127 oct. 18 18:51 Ktransfer-domain-com.+165+52920.key -rw------- 1 root bind 232 oct. 18 18:51 Ktransfer-domain-com.+165+52920.private
- Recopier cette clef dans notre configuration Bind :
- Deja pour voir a quoi ressemble cette clef :
# cat Ktransfer-domain-com.*.private
qui devrait donner un résultat semblable à :
# cat Ktransfer-domain-com.*.private Private-key-format: v1.3 Algorithm: 165 (HMAC_SHA512) Key: dmomqcrOT7otZJdoyKRbDMhkii1a3ZdD4SvTdlMUSRga5O8WHeyW0nO1f1HnPDYuf8xV3rc8rBLs/sIvxoor8Q== Bits: AAA= Created: 20141018165729 Publish: 20141018165729 Activate: 20141018165729
- Recopier cette clef dans notre fichier de clefs (que l'on peut créer par la même occasion s'il nexiste pas deja) :
vi /etc/bind/named.conf.tsigkeys
- Puis ajouter ce contenu :
key "tsig-domain-com" { algorithm HMAC-SHA512; secret "dmomqcrOT7otZJdoyKRbDMhkii1a3ZdD4SvTdlMUSRga5O8WHeyW0nO1f1HnPDYuf8xV3rc8rBLs/sIvxoor8Q=="; };
ou vous remplacez “dmomqcrOT7otZJdoyKRbDMhkii1a3ZdD4SvTdlMUSRga5O8WHeyW0nO1f1HnPDYuf8xV3rc8rBLs/sIvxoor8Q==” par votre clef. bien sur vous pourrez ajouter vos futures clefs dans ce même fichier en utilisant un nom différent pour chaque
- Dire a bind d'utiliser ce fichier de clefs :<code>
- # cat « EOF » /etc/bind/named.conf
include “/etc/bind/named.conf.tsigkeys”; EOF