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 d'authentification à clé secrète partagée pour accorder des privilèges aux hôtes. Ainsi, 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, décrite 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 { <key-name>; };
};

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

key "<key-name>" {
  algorithm hmac-md5;
  secret "<key-value>";
};

Dans ce cas, la déclaration <key-value> utilise l'algorithme HMAC-MD5. Afin de créer des clés à l'aide de l'algorithme HMAC-MD5, utilisez la commande suivante :

dnssec-keygen -a hmac-md5 -b <bit-length> -n HOST <key-file-name>

Une clé d'au moins 256 bits de long est un bon choix. La clé qui doit être placée dans la zone <key-value> se trouve dans le fichier <key-file-name> généré par cette commande.

AvertissementAvertissement
 

Étant donné que /etc/named.conf est lisible par tout un chacun, il est judicieux 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 pour le référencer. Par exemple :

include "/etc/rndc.key";

12.4.2. Configuration de /etc/rndc.conf

La déclaration key représente la déclaration la plus importante du fichier /etc/rndc.conf.

key "<key-name>" {
  algorithm hmac-md5;
  secret "<key-value>";
};

Les éléments <key-name> et <key-value> doivent être absolument identiques aux paramètres les concernant qui figurent dans /etc/named.conf.

Pour établir la correspondance entre les clés spécifiées dans le fichier /etc/named.conf du serveur cible, ajoutez les lignes reproduites ci-dessous au fichier /etc/rndc.conf.

options {
  default-server  localhost;
  default-key     "<key-name>";
};

Cette directive détermine une clé globale par défaut. Toutefois, le fichier de configuration rndc peut également spécifier différentes clés pour différents serveurs, comme le montre l'exemple suivant :

server localhost {
  key  "<key-name>";
};

AttentionAttention
 

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

Pour obtenir davantage d'informations sur le fichier /etc/rndc.conf, consultez la page de manuel de rndc.conf.

12.4.3. Options de ligne de commande

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

rndc <options> <command> <command-options>

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 d'annuler les paramètres par défaut contenus 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 de rndc.