40.7. Transactions sécurisées

On peut effectuer des transactions sécurisées avec les « signatures de transactions » (TSIG, transaction SIGnatures). On utilise, pour ce faire, des clés de transaction (en anglais, transaction keys) et des signatures de transaction (en anglais, transaction signatures). La section suivante explique comment les générer et les utiliser.

Les transactions sécurisées sont nécessaires dans le cadre de la communication d'un serveur à un autre et pour l'actualisation dynamique des données de zones. Un contrôle d'accès fondé sur des clés permet d'obtenir un niveau de sécurité bien plus élevé qu'un contrôle fondé sur les adresses IP.

Vous pouvez générer une clé de transaction avec la commande suivante (pour plus d'informations, cf. la page de manuel relative à la commande dnssec-keygen) :

   dnssec-keygen -a hmac-md5 -b 128 -n HOST host1-host2
  

Cette commande génère deux fichiers portant, par exemple, les noms suivants :

Khost1-host2.+157+34265.private Khost1-host2.+157+34265.key

La clé (par exemple ejIkuCyyGJwwuN3xAteKgg==) est contenue dans les deux fichiers. Pour une utilisation ultérieure, Khost1-host2.+157+34265.key doit être transmis, de préférence par un chemin sécurisé à l'ordinateur distant (par exemple avec scp). La clé doit être ajoutée dans le fichier /etc/named.conf de l'hôte distant pour établir une communication sécurisée entre host1 et host2 :

key host1-host2. {
  algorithm hmac-md5;
  secret "ejIkuCyyGJwwuN3xAteKgg==";
};
[Warning]Droits d'accès de /etc/named.conf

Veillez à ce que les droits d'accès au fichier /etc/named.conf restent restreints. La valeur par défaut est 0640 pour root et le groupe named. Vous pouvez aussi stocker la clé dans un fichier protégé indépendant pour l'inclure ensuite dans le fichier /etc/named.conf.

Pour que la clé pour host2 soit utilisée sur le serveur host1 avec, par exemple, l'adresse 192.168.2.3, il faut saisir, sur le serveur, dans le fichier /etc/named.conf, les informations suivantes :

server 192.168.2.3 {
  keys { host1-host2. ;};
};

Il faut aussi saisir des directives similaires dans les fichiers de configuration de host2.

Pour effectuer des transactions sécurisées, il faut, en plus des ACL (listes de contrôle d'accès, à ne pas confondre avec les ACL du système de fichiers) basées sur les adresses et les intervalles d'adresses IP, ajouter des clés TSIG. L'enregistrement correspondant peut se présenter ainsi :

allow-update { key host1-host2. ;};

Pour en savoir plus, consultez le Manuel de référence de l'administrateur BIND sous update-policy.