Bind : sécuriser les communications serveurs

Boris HUISGEN
Boris HUISGEN
|

TSIG - Transaction Signatures Configuration - est un mécanisme simple de sécurisation du dialogue entre un serveur DNS master et ses slaves. Sachant qu’un client peut usurper son adresse IP source, la protection du transfert de zones par ACL n’est pas suffisante. TSIG s’appuie sur une clé asymétrique pour chiffrer le dialogue DNS et garantir l’authenticité d’un serveur (par partage de la clé publique). Si vous souhaitez sécuriser les données DNS de bout en bout (des serveurs aux clients/résolveurs DNS), il faudra voir du côté de DNSSEC qui pousse le chiffrement jusqu’à chaque enregistrement des zones.

Voici les points nécessaires à la mise en place de TSIG entre un master et un slave.

Serveur master

Les clé privée/publique TSIG sont à générer en premier lieu :

master# cd /etc/namedb
master# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST tsig-key
master# cat Ktsig-key.+157+27548.key

tsig-key. IN KEY 512 3 157 kvd6eDiceCdADTj+dp99kA==

La clé publique est à copier dans le fichier de configuration tsig.key :

master# vim tsig.key

key "TRANSFER" {
   algorithm hmac-md5;
   secret "kvd6eDiceCdADTj+dp99kA==";
};

server 88.8.8.8 {
   keys {
      TRANSFER;
   };
};

Ce fichier declare l’ensemble des serveurs slaves autorisés pour le transfert des zones (ici 88.8.8.8).

Reste à inclure le support TSIG et limiter le transfert de chaque zone DNS dans le fichier de configuration principal :

master# vim /etc/bind/named.conf

include "/etc/bind/tsig.key";

options {
   allow-transfer {
      88.8.8.8;
      key TRANSFER;
   };
}

Le transfert de zones est ici autorisé globalement, mais il peut être limité à une zone.

Serveur slave

Sur le slave, seul le fichier de configuration tsig.key est nécessaire :

slave# cd /etc/namedb
slave# vim tsig.key

key "TRANSFER" {
   algorithm hmac-md5;
   secret "kvd6eDiceCdADTj+dp99kA==";
};

server 66.6.6.6 {
   keys {
      TRANSFER;
   };
};

Le serveur master y est indiqué (ici 66.6.6.6).

Reste à reloader les serveurs DNS et tester le transfert de zones en mettant à jour une zone sur le master.

Boris HUISGEN
Boris HUISGEN
Blog owner
  • #dns
  • #bind
  • #tsig