Transacciones firmadas (TSIG) con BIND 9 en Debian
Con BIND 9 es posible firmar las transacciones (TSIG) entre servidor primario y secundario con una llave encriptada. TSIG es usado primordialmente para restringir quien puede actualizar cambios en las zonas. De hecho, este es el método recomendado por BIND.
Contents
Generación de una llave TSIG
En el servidor DNS primario genera una llave TSIG,
# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST servidor.debian
Esto genera dos llaves del tipo,
Kservidor.debian.+aaa+iiiii.key Kservidor.debian.+aaa+iiiii.private
en donde aaa es una representación numérica del algoritmo y iiiii es el identificador de la llave (huella). Mueve las llaves a /etc/bind,
# mv Kservidor.debian.+aaa+iiiii.* /etc/bind
Configuración en el servidor primario
Edita /etc/bind/named.conf.local e inserta la llave,
// TSIG Key
key servidor.debian. {
algorithm hmac-md5;
secret "+aLKMfTLKdfg6bKYj48gZv==";
};La llave secreta se encuentra en el archivo .private,
Private-key-format: v1.2 Algorithm: 157 (HMAC_MD5) Key: +aLKMfTLKdfg6bKYj48gZv==
Edita las zonas y modifica el instructivo allow-transfer modificando el número IP por la llave,
zone "ficticio.cl" {
type master;
file "/etc/bind/db.ficticio.cl";
allow-query { any; };
//allow-transfer { 100.10.10.11; };
allow-transfer { key servidor.debian.; };
};Esto da permiso a los servidores secundarios a actualizar la zona usando la llave TSIG.
Configuración en el servidor secundario
En el servidor secundario inserta la llave en /etc/bind/named.conf.local,
// TSIG Key
key servidor.debian. {
algorithm hmac-md5;
secret "+aLKMfTLKdfg6bKYj48gZv==";
};
server 100.10.10.10 {
keys { servidor.debian.; };
};El último instructivo asocia el número IP del servidor primario con la llave TSIG.
Reinicia BIND 9 en el servidor primario y secundario,
# /etc/init.d/bind9 restart