12.4. Utilisation de rndc

BIND contient un utilitaire appelé rndc qui permet d'utiliser des lignes de commande pour administrer le démon named à partir de l'hôte local ou d'un hôte distant.

Afin d'empêcher l'accès non-autorisé au démon named, BIND utilise une méthode de clé secrète partagée pour accorder des privilèges aux hôtes. Dans une telle situation, une clé identique doit être présente aussi bien dans /etc/named.conf que dans le fichier de configuration de rndc, à savoir /etc/rndc.conf

12.4.1. Configuration de /etc/named.conf

Pour que rndc puisse se connecter à un service named, une déclaration controls doit être présente dans le fichier /etc/named.conf du serveur BIND.

La déclaration controls montrée dans l'exemple qui suit, permet à rndc de se connecter à partir d'un hôte local.

controls {
  inet 127.0.0.1 allow { localhost; } keys { <nom-clé>; };
};

Cette déclaration indique à named de se mettre à l'écoute du port TCP 953 par défaut de l'adresse inversée et d'autoriser les commandes rndc provenant de l'hôte local, si la clé adéquate est présentée. Le <nom-clé> fait référence à la déclaration key, qui se trouve aussi dans le fichier /etc/named.conf. L'exemple suivant illustre une déclaration key.

key "<nom-clé>" {
  algorithm hmac-md5;
  secret "<valeur-clé>";
};

Dans ce cas, la <valeur-clé> est une clé HMAC-MD5. Afin de créer des clés HMAC-MD5, utilisez la commande suivante:

dnssec-keygen -a hmac-md5 -b <longueur-bits> -n HOST <nom-fichier-clé>

Une clé d'au moins 256 bits de long est un bon choix. La bonne clé qui doit être placée dans la zone <valeur-clé> se trouve dans <nom-fichier-clé>.

CautionAttention
 

Parce que /etc/named.conf ne requiert aucun privilège pour être lu, il est recommandé de placer la déclaration key dans un fichier séparé que seul le super-utilisateur (ou root) peut lire et d'utiliser ensuite une déclaration include afin de le référencer, comme le montre l'exemple suivant:

include "/etc/rndc.key";

12.4.2. Configuration de /etc/rndc.conf

La déclaration key représente la déclaration la plus importante contenue dans /etc/rndc.conf.

key "<nom-clé>" {
  algorithm hmac-md5;
  secret "<valeur-clé>";
};

Les éléments <nom-clé> et <valeur-clé> doivent être absolument identiques à leurs paramètres contenus dans /etc/named.conf.

Pour faire correspondre les clés spécifiés dans le fichier /etc/named.conf du serveur cible, ajoutez les lignes suivantes au fichier /etc/rndc.conf.

options {
  default-server  localhost;
  default-key     "<nom-clé>";
};

Cette commande détermine une clé globale par défaut. Toutefois, la commande rndc peut également utiliser différentes clés pour différents serveurs, comme le montre l'exemple suivant:

server localhost {
  key  "<nom-clé>";
};

CautionAttention
 

Assurez-vous que seul le super-utilisateur (ou root) ne puisse effectuer des opérations de lecture ou écriture dans le fichier /etc/rndc.conf.

12.4.3. Options de ligne de commande

Une commande rndc se présente sous le format suivant:

rndc <options> <commande> <options-commande>

Lors de l'exécution de rndc sur un hôte local configuré de façon appropriée, les commandes suivantes sont disponibles:

Dans certaines situations, il sera peut-être nécessaire de passer outre les paramètres par défaut contenue dans le fichier /etc/rndc.conf. Les options suivantes sont disponibles:

Des informations supplémentaires sur ces options sont disponibles dans la page de manuel rndc.