12.4. Uso di rndc

BIND dispone di un'utility chiamata rndc che vi consente di amministrare il demone named in modo locale o remoto tramite istruzioni dalla linea di comando.

Per impedire l'accesso non autorizzato al demone named, BIND usa un metodo a chiave segreta condivisa per garantire in modo esplicito dei privilegi a determinati host. Ció significa che una chiave identica deve essere presente in entrambi i file di configurazione /etc/named.conf e /etc/rndc.conf di rndc.

12.4.1. Configurazione di /etc/named.conf

Per consentire a rndc di connettersi al servizio named, è necessario disporre del commento controls nel proprio file /etc/named.conf.

L'esempio del comando controls riportato di seguito vi permette di eseguire i comandi rndc a livello locale.

controls {
  inet 127.0.0.1 allow { localhost; } keys { <key-name>; };
};

Questa istruzione indica a named di attendere sulla porta TCP 953 predefinita dell'indirizzo di loopback e autorizza i comandi rndc provenienti dall'host locale, su corretta indicazione della chiave. Il <nome-chiave> si riferisce all'istruzione key contenuta anch'essa nel file /etc/named.conf. L'esempio riportato di seguito illustra l'istruzione key.

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

In questo caso, il <valore-chiave> è una chiave HMAC-MD5. Potete generare le vostre chiavi HMAC-MD5 con il seguente comando:

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

È consigliabile una chiave con una lunghezza minima di 256 bit. La chiave effettiva da inserire nell'area <valore-chiave> si trova nel <nome-file-chiave>.

CautelaAvvertenza
 

Perché /etc/named.conf viene letto da tutto il mondo, é consigliabile posizionare il commento key in un file separato leggibile solo da un utente root e poi usare un commento include per effettuare un riferimento, come riportato nel seguente esempio:

include "/etc/rndc.key";

12.4.2. Configurazione di /etc/rndc.conf

key é il commento piú importante contenuta nel file /etc/rndc.conf.

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

Il <nome-chiave> e il <valore-chiave> devono avere le stesse impostazioni indicate nel file /etc/named.conf.

Per mettere insieme le chiavi specificate nel file /etc/named.conf del server, aggiungere le seguenti righe a /etc/rndc.conf.

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

Questo comando imposta la chiave di default globale. Tuttavia il comando rndc puó usare chiavi diverse per server diversi, come nell'esempio riportato:

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

CautelaAvvertenza
 

Assicurarsi che solo un utente root possa leggere o scrivere sul file /etc/rndc.conf.

12.4.3. Opzioni della linea di comando

Un comando rndc ha la seguente forma:

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

Quando si esegue rndc in un host locale configurato in modo corretto, è possibile utilizzare i seguenti comandi:

Se desiderate annullare le impostazioni predefinite nel file /etc/rndc.conf, sono disponibili le seguenti opzioni:

Per ulteriori informazioni su queste opzioni, consultate la pagina man di rndc.