20.7. Transazioni protette

Le transazioni protette possono essere effettuate tramite le firme delle transazioni (TSIG) basate su chiave segrete condivise chiamate anche chiavi TSIG. Questa sezione spiega come generare queste chiavi.

Le transazioni protette sono necessarie per le comunicazioni tra server diversi e per l'aggiornamento dinamico dei dati delle zone. L'uso di queste chiavi rende gli accessi molto più sicuri dei soli indirizzi IP.

Generare una chiave TSIG con il seguente comando. Per ulteriori informazioni, vedere man dnssec-keygen:

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

Vengono creati due file con nomi simili ai seguenti:

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

La chiave (che ha il formato di una stringa come ejIkuCyyGJwwuN3xAteKgg==) è presente in entrambi i file. Per usarla per le transazioni, è necessario trasferire il secondo file (Khost1-host2.+157+34265.key) all'host remoto, preferibilmente in modo protetto (ad esempio usando scp). Sul server remoto è necessario verificare che la chiave sia inclusa in /etc/named.conf per consentire una transazione sicura tra host1 e host2:

 chiave host1-host2. { algorithm hmac-md5; secret ";ejIkuCyyGJwwuN3xAteKgg==; };
[Warning]Autorizzazioni file per /etc/named.conf

Verificare che le autorizzazioni di /etc/named.conf siano state opportunamente limitate. Il valore di default per questo file è 0640, dove il proprietario è root e il gruppo denominato. In alternativa, è possibile anche spostare le chiavi in un altro file con autorizzazioni opportunamente limitate, che viene quindi incluso da /etc/named.conf.

Per consentire al server host1 di usare la chiave di host2 (che nell'esempio ha l'indirizzo 192.168.2.3), è necessario che il file /etc/named.conf del server comprenda la seguente regola:

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

Voci simili devono essere incluse nei file di configurazione di host2.

Aggiungere le chiavi TSIG per tutti gli elenchi di controllo degli accessi (ACL, da non confondere con quelli di sistema) definiti per gli indirizzi IP e gli intervalli di indirizzi per permettere l'esecuzione di transazioni sicure. La voce corrispondente potrebbe avere il seguente formato:

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

Questo argomento è descritto in dettaglio nel Manuale di riferimento per gli amministratori di BIND in update-policy.