20.7. Transacciones seguras

Las transacciones seguras pueden realizarse mediante firmas de transacción (TSIG), que se basan en claves secretas compartidas (también denominadas "claves TSIG"). En esta sección se describe cómo generar y utilizar tales claves.

Las transacciones seguras son necesarias para la comunicación entre servidores y para actualizar los datos de zona dinámicamente. En este contexto, un control de acceso basado en claves es mucho más seguro que un control basado en direcciones IP.

Genere una clave TSIG con el comando siguiente (para obtener información detallada, consulte man dnssec-keygen):

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

Al ejecutar este comando se crearán dos archivos con nombres parecidos a estos:

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

La clave propiamente dicha (por ejemplo, ejIkuCyyGJwwuN3xAteKgg==) se encuentra en ambos archivos. Para usarla en transacciones, el segundo archivo (Khost1-host2.+157+34265.key) debe transferirse al host remoto, preferiblemente de manera segura (por ejemplo, usando scp). En el servidor remoto, la clave debe incluirse en el archivo /etc/named.conf para permitir la comunicación segura entre el host1 y el host2:

key host1-host2. {
 algorithm hmac-md5;
 secret ";ejIkuCyyGJwwuN3xAteKgg==;
};
[Warning]Permisos de archivo de /etc/named.conf

Asegúrese de que los permisos de /etc/named.conf estén restringidos convenientemente. El valor por defecto de este archivo es 0640, el propietario es el usuario Root y el grupo named. También es posible mover las claves a un archivo independiente con permisos limitados de manera específica que se incluirían en /etc/named.conf.

Para permitir que el servidor host1 use la clave para host2 (con la dirección 192.168.2.3 en este ejemplo), el archivo /etc/named.conf del servidor debe incluir la regla siguiente:

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

Se deben incluir entradas parecidas en los archivos de configuración de host2.

Añada claves TSIG para cualquier ACL (lista de control de acceso, no confundirlas con las ACL del sistema de archivos) que se defina para las direcciones IP y los intervalos de direcciones, con objeto de habilitar la seguridad de la transacción. La entrada correspondiente podría ser más o menos así:

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

Obtenga información más detallada sobre este tema en el BIND Administrator Reference Manual (Manual de referencia del administrador de BIND), en la sección update-policy.