TSIG ( firma de transacción ) es un protocolo de red informática definido en RFC 2845. Básicamente, permite que el sistema de nombres de dominio (DNS) autentique las actualizaciones de una base de datos DNS. Se utiliza más comúnmente para actualizar un DNS dinámico o un servidor DNS secundario/esclavo. TSIG utiliza claves secretas compartidas y un algoritmo 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 pueden realizarse normalmente sin autenticación, las actualizaciones al 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 maliciosos modifiquen la actualización y la reenvíen al destino, lo que garantiza la integridad del mensaje desde el origen hasta el destino.
El protocolo TSIG incluye una marca de tiempo para evitar que se reutilicen las respuestas grabadas, lo que permitiría a un atacante vulnerar la seguridad de TSIG. Esto exige que los servidores DNS dinámicos y los clientes TSIG contengan 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 requiere menos recursos 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. Estas incluyen un encabezado, la zona que se va a actualizar, los requisitos previos que se deben cumplir y los registros que se van 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 exitosa de TSIG también se firmará con un registro TSIG. Las fallas no se firman para evitar que un atacante obtenga información sobre la clave TSIG mediante "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.
Alternativas a TSIG
Aunque TSIG está ampliamente implementado, existen varios problemas con el protocolo:
- Requiere distribuir claves secretas a cada host que debe realizar actualizaciones.
- Aunque todavía se utiliza habitualmente, el compendio HMAC-MD5 ya no se considera muy seguro. Se prefiere HMAC-SHA256. [ cita requerida ]
Como resultado, se han propuesto varias alternativas y ampliaciones.
- RFC 2137 especifica un método de actualización que utiliza un registro DNS de clave pública "SIG". Un cliente que tenga 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 según RFC 3007.
- En 2003 [actualizar], la RFC 3645 propuso ampliar TSIG para permitir el método de intercambio seguro de claves del Servicio de Seguridad Genérico (GSS), eliminando la necesidad de distribuir claves manualmente a todos los clientes de TSIG. El método para distribuir claves públicas como un registro de recursos DNS (RR) se especifica en la 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 , llamado 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 inversas que utilizan este esquema de autenticación se reenvían en masa a los servidores DNS raíz y, por lo tanto, aumentan el tráfico a los servidores DNS raíz. Hay un grupo anycast que se ocupa de este tráfico para alejarlo de los servidores DNS raíz. [1] [2]
- RFC 2845 define TSIG, especifica solo una función de hash permitida, la HMAC-MD5 de 128 bits , que ya no se considera altamente segura. RFC 4635 se distribuyó para permitir que el algoritmo de hash seguro (SHA1) RFC 3174 y el algoritmo de hash SHA-2 FIPS PUB 180-2 reemplacen a 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.
Véase también
Referencias
- ^ Abley, J.; Sotomayor, W. (mayo de 2015). "RFC 7534 — Operaciones de servidores de nombres AS112". doi :10.17487/RFC7534 . Consultado el 29 de diciembre de 2017 .
{{cite journal}}: Requiere citar revista|journal=( ayuda ) - ^ "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 (DNS UPDATE)
- RFC 2845 Autenticación de transacciones con clave secreta para DNS (TSIG)
- RFC 2930 Establecimiento de clave secreta para DNS (TKEY RR)
- Actualización dinámica del sistema de nombres de dominio (DNS) seguro RFC 3007
- RFC 3645 Algoritmo de servicio de seguridad genérico para autenticación de transacciones de clave secreta para DNS (GSS-TSIG)
- RFC 3174 Algoritmo de hash seguro de EE. UU. 1
- Identificadores de algoritmos HMAC SHA TSIG RFC 4635
- RFC 8945 Autenticación de transacciones con clave secreta para DNS (TSIG)