TSIG - TSIG

TSIG ( firma de transacción ) es un protocolo de redes informáticas definido en RFC 2845. Principalmente, habilita al Sistema de nombres de dominio (DNS) para autenticar actualizaciones en una base de datos DNS. Se usa más comúnmente para actualizar DNS dinámico o un servidor DNS secundario / esclavo. TSIG utiliza claves secretas compartidas y hash unidireccional para proporcionar un medio criptográficamente seguro de autenticar cada punto final de una conexión para que pueda realizar o responder a una actualización de DNS.

Aunque las consultas al DNS generalmente se pueden realizar sin autenticación, las actualizaciones del DNS deben autenticarse, ya que realizan cambios duraderos en la estructura del sistema de nombres de Internet. Como la solicitud de actualización puede llegar a través de un canal inseguro (Internet), se deben tomar medidas para garantizar la autenticidad e integridad de la solicitud. El uso de una clave compartida por el cliente que realiza la actualización y el servidor DNS ayuda a garantizar la autenticidad e integridad de la solicitud de actualización. Una función de hash unidireccional sirve para evitar que observadores malintencionados modifiquen la actualización y la reenvíen al destino, lo que garantiza la integridad del mensaje desde el origen hasta el destino.

Se incluye una marca de tiempo en el protocolo TSIG para evitar que las respuestas grabadas se reutilicen, lo que permitiría a un atacante violar la seguridad de TSIG. Esto impone un requisito a los servidores DNS dinámicos y los clientes TSIG para contener un reloj preciso. Dado que los servidores DNS están conectados a una red, el Protocolo de tiempo de red puede proporcionar una fuente de tiempo precisa.

Las actualizaciones de DNS, al igual que las consultas, normalmente se transportan a través de UDP, ya que requieren menos gastos generales que TCP . Sin embargo, los servidores DNS admiten solicitudes tanto UDP como TCP.

Implementación

Una actualización, como se especifica en RFC 2136, es un conjunto de instrucciones para un servidor DNS. Estos incluyen un encabezado, la zona a actualizar, los prerrequisitos que deben cumplirse y los registros a actualizar. TSIG agrega un registro final, que incluye una marca de tiempo y el hash de la solicitud. También incluye el nombre de la clave secreta que se utilizó para firmar la solicitud. RFC 2535 tiene recomendaciones sobre la forma del nombre.

La respuesta a una actualización TSIG exitosa también se firmará con un registro TSIG. Las fallas no están firmadas para evitar que un atacante aprenda algo sobre la clave TSIG usando "sondeos" de actualización especialmente diseñados.

El programa nsupdate puede usar TSIG para realizar actualizaciones de DNS.

El registro TSIG tiene el mismo formato que los demás registros de la solicitud de actualización. El significado de los campos se describe en RFC 1035.

Campos de registro TSIG
Campo Bytes Valor Descripción
NOMBRE Max. 256 Varia Nombre clave; identifica la clave tanto en el cliente como en el servidor
ESCRIBE 2 TSIG (250)
CLASE 2 CUALQUIER (255)
TTL 4 0 Los registros TSIG no deben almacenarse en caché
RDLENGTH 2 Varia Longitud del campo RDATA
RDATA RDLENGTH Varia Estructura que contiene la marca de tiempo, el algoritmo y los datos hash

Alternativas a TSIG

Aunque TSIG se implementa ampliamente, existen varios problemas con el protocolo:

  • Requiere distribuir claves secretas a cada host que debe realizar actualizaciones.
  • Aunque todavía es de uso común, el resumen de HMAC-MD5 ya no se considera muy seguro. Se prefiere HMAC-SHA256.

Como resultado, se han propuesto varias alternativas y extensiones.

  • RFC 2137 especifica un método de actualización utilizando un registro DNS "SIG" de clave pública . Un cliente que posea la clave privada correspondiente puede firmar la solicitud de actualización. Este método coincide con el método DNSSEC para consultas seguras. Sin embargo, este método está obsoleto por RFC 3007.
  • En 2003, RFC 3645 propuso extender TSIG para permitir el método Generic Security Service (GSS) de intercambio seguro de claves, eliminando la necesidad de distribuir claves manualmente a todos los clientes TSIG. El método para distribuir claves públicas como un registro de recursos DNS (RR) se especifica en RFC 2930, con GSS como un modo de este método. Los servidores y clientes de Microsoft Windows Active Directory implementaron un GSS-TSIG modificado , utilizando el servidor Kerberos de Windows, denominado Actualización dinámica segura. En combinación con un DNS mal configurado (sin zona de búsqueda inversa) que utiliza el direccionamiento RFC 1918, las actualizaciones de DNS inverso que utilizan este esquema de autenticación se envían en masa a los servidores DNS raíz y, por lo tanto, aumentan el tráfico a los servidores DNS raíz. Existe un grupo anycast que se ocupa de este tráfico para eliminarlo de los servidores DNS raíz.
  • RFC 2845 define TSIG, especifica solo una función de hash permitida, el HMAC-MD5 de 128 bits , que ya no se considera altamente seguro. Se distribuyó RFC 4635 para permitir el hash del algoritmo de hash seguro (SHA1) de RFC 3174 y el hash de FIPS PUB 180-2 SHA-2 para reemplazar MD5. Los resúmenes de 160 y 256 bits generados por SHA1 y SHA-2 son más seguros que el resumen de 128 bits generado por MD5 .
  • RFC 2930 define TKEY , un registro DNS utilizado para distribuir claves automáticamente desde un servidor DNS a clientes DNS.
  • RFC 3645 define GSS-TSIG, que utiliza gss-api y TKEY para distribuir claves automáticamente en modo gss-api.
  • La propuesta de DNSCurve tiene muchas similitudes con TSIG.

Ver también

Referencias

  1. ^ "RFC 7534 - Operaciones del servidor de nombres AS112" . Mayo de 2015 . Consultado el 29 de diciembre de 2017 .
  2. ^ "Descripción general del proyecto AS112" , consultado el 29 de diciembre de 2017.

enlaces externos

  • RFC  2136 Actualizaciones dinámicas en el sistema de nombres de dominio (ACTUALIZACIÓN DE DNS)
  • RFC  2845 Autenticación de transacción de clave secreta para DNS (TSIG)
  • RFC  2930 Establecimiento de clave secreta para DNS (TKEY RR)
  • RFC  3645 Algoritmo de servicio de seguridad genérico para autenticación de transacción de clave secreta para DNS (GSS-TSIG)
  • RFC  3174 Algoritmo de hash seguro de EE. UU. 1
  •  Identificadores de algoritmo RFC 4635 HMAC SHA TSIG