Domain Name System Security Extensions

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Las Extensiones de seguridad para el Sistema de Nombres de Dominio ( del inglés Domain Name System Security Extensions, o DNSSEC) es un conjunto de especificaciones de la Internet Engineering Task Force (IETF) para asegurar cierto tipo de información proporcionada por el sistema de nombre de dominio (DNS) que se usa en el protocolo de Internet (IP). Se trata de un conjunto de extensiones al DNS que proporcionan a los clientes DNS (o resolvers) la autenticación del origen de datos DNS, la negación autenticada de la existencia e integridad de datos, pero no disponibilidad o confidencialidad.

Descripción[editar]

El diseño original del Domain Name System (DNS) no incluía la seguridad, sino que fue diseñado para ser un sistema distribuido escalable. Las Extensiones de seguridad para el Sistema de Nombres de Dominio (DNSSEC) intentan aumentar la seguridad, y al mismo tiempo mantener la compatibilidad con lo más antiguo. El RFC 3833 intenta documentar algunas amenazas conocidas en el DNS y cómo DNSSEC responde a esas amenazas.

DNSSEC fue diseñado para proteger a los resolvers de Internet (clientes) de datos de DNS falsificados, tales como la creados por envenenamiento de caché DNS. Todas las respuestas en DNSSEC son firmadas digitalmente. Al comprobar la firma digital, el resolver es capaz de comprobar si la información es idéntica (correcta y completa) a la información en el servidor DNS autorizado. Si bien la protección de las direcciones IP es la preocupación inmediata para muchos usuarios, DNSSEC puede proteger otra información también, como certificados de cifrado de propósito general almacenadas en registro CERTs en el DNS. RFC 4398 describe cómo distribuir estos certificados, incluidos los de correo electrónico, haciendo posible el uso de DNSSEC en todo el mundo como una infraestructura de clave pública para el correo electrónico.

DNSSEC no garantiza la confidencialidad de los datos; en particular, todas las respuestas de DNSSEC se autentican, pero no se cifran. DNSSEC no protege directamente contra los Ataques de denegación de servicio, aunque indirectamente, proporciona algún beneficio. Otras normas (no DNSSEC) se utilizan para proteger los datos a granel (como la transferencia de zona DNS) que se envía entre los servidores DNS. Como se documenta en el IETF RFC 4367, algunos usuarios y desarrolladores hacen suposiciones falsas acerca de los nombres DNS, como el supuesto de que el nombre común de una empresa más ".com" es siempre su nombre de dominio. DNSSEC no puede proteger contra las falsas suposiciones, sino que sólo puede autenticar que los datos son verdaderamente de o no disponible en el propietario del dominio.

Las especificaciones de DNSSEC (llamadas DNSSEC-bis), describen el actual protocolo DNSSEC en gran detalle. Véase los RFC 4033, RFC 4034 y RFC 4035. Con la publicación de estos nuevos documentos RFC (marzo de 2005), el RFC anterior, RFC 2535 ha quedado obsoleto.

Se cree ampliamente[1] que asegurar los DNS es de vital importancia para la seguridad en Internet como un todo, pero el despliegue de DNSSEC en concreto se ha visto obstaculizado por varias dificultades:

  • La necesidad de diseñar un estándar compatible con versiones anteriores que puede escalarse al tamaño de la Internet.
  • Prevención de la "enumeración de la zona" (ver abajo) donde se desee.
  • El despliegue de las implementaciones DNSSEC en una amplia variedad de servidores de DNS y resolvers (clientes).
  • El desacuerdo entre los encargados de la ejecución sobre quién debe poseer las llaves de raíz de los dominios de nivel superior.
  • La superación de la aparente complejidad de DNSSEC y su despliegue.

¿Cómo funciona?[editar]

DNSSEC trabaja firmando digitalmente estos registros para la búsqueda de DNS mediante criptografía de clave pública. El registro DNSKEY correcto se autentica a través de una cadena de confianza, que comienza en un conjunto de claves públicas de la zona raíz del DNS, que es la tercera parte de confianza.

Registros[editar]

El DNS se implementa mediante el uso de varios registros de recursos. Para implementar DNSSEC, varios de los nuevos tipos de registro DNS se han creado o adaptado para su uso con DNSSEC:

  • RRSIG
  • DNSKEY
  • DS
  • NSEC
  • NSEC3
  • NSEC3PARAM

Cuando se usa DNSSEC, cada respuesta a una búsqueda de DNS contendrá un registro RRSIG DNS además del tipo de registro que se solicitó. El registro RRSIG es una firma digital de la respuesta de DNS registro de recursos conjunto. La firma digital puede ser verificada localizando la clave pública correcta se encuentra en un registro DNSKEY. El registro DS se utiliza en la autenticación de DNSKEYs en el procedimiento de búsqueda usando la cadena de confianza. Los registros NSEC y NSEC3 se utilizan para una resistencia fuerte contra la suplantación de identidad.

Algoritmos[editar]

DNSSEC fue diseñado para ser extensible y para que cuando se descubran ataques contra los algoritmos existentes, nuevos pueden ser introducidos en una forma compatible con versiones anteriores. A julio de 2009, se definieron los siguientes algoritmos de seguridad que son utilizados con mayor frecuencia:[2]

Campo del Algoritmo Algoritmo Fuente
0 Reservado RFC 4034
1 RSA/MD5
3 DSA/SHA-1
5 RSA/SHA-1
7 RSASHA1-NSEC3-SHA1 RFC 5155
8 RSA/SHA-256 RFC 5702
10 RSA/SHA-512
12 GOST R 34.10-2001 RFC 5933

El procedimiento de búsqueda[editar]

De los resultados de una búsqueda de DNS, un resolver de DNS consciente de la seguridad puede determinar si la respuesta que recibió fue segura, o si era insegura y el servidor de nombres autoritativo para el dominio consultado no soporta DNSSEC o si hay algún tipo de error. El procedimiento de búsqueda es diferente para servidor de nombres recursivos, como los de muchos ISPs, que para resolvers stub, como los incluidos por defecto en los sistemas operativos principales. Microsoft Windows utiliza un resolver stub, y Windows Server 2008 R2 y Windows 7, en particular, utilizan un stub resolver que no valida DNSSEC, pero que es capaz de entender los mensajes.[3] [4]

Servidores de nombres recursivos[editar]

Usando el modelo de la cadena de confianza, un registro de firmante delegado (DS) de un dominio principal (zona DNS) se puede utilizar para verificar un registro DNSKEY en un subdominio, que a su vez puede contener otros registros DS para verificar subdominios adicionales. Digamos que un resolver recursivo, como un servidor de nombre de un ISP desea obtener las direcciones IP (registro A y / o registro AAAA s) del dominio "www.example.com<".

  1. El proceso comienza cuando un resolver que soporte seguridad establece el bit del parámetro "DO" en una consulta DNS. Dado que el bit DO está en los bits de los parámetros extendidos definidos por EDNS, todas las transacciones deben soportar DNSSEC EDNS. El soporte de EDNS también es necesario para permitir paquetes de tamaño mucho más grande como las transacciones DNSSEC requieren.
  2. Cuando el resolver recibe una respuesta a través del proceso normal de búsqueda de DNS, la comprueba para asegurarse de que la respuesta es correcta. Lo ideal sería que el resolver que soporte seguridad comenzará con la verificación de la DS y el registro DNSKEY en el Servidor Raíz. A continuación, se utiliza el registro DS para el dominio de nivel superior "com" encontrado en la raíz para verificar los registros DNSKEY en la zona "com". A partir de ahí, revisaría si hay un registro DS para el subdominio "example.com" en la zona "com", y si lo hubiera, entonces utilizaría el registro DS para verificar el registro DNSKEY encuentra en la zona "example.com". Por último, sería verificar el registro RRSIG encontrado en la respuesta de los registros A para "www.example.com".

Hay varias excepciones al ejemplo anterior.

En primer lugar, si "example.com" no es compatible con DNSSEC, no habrá ningún registro RRSIG en la respuesta y no habrá un registro DS para "example.com" en la zona "com". Si hay un registro DS para "example.com", pero ningún registro RRSIG en la respuesta, algo está mal y tal vez un Ataque Man-in-the-middle está ocurriendo, modificando los registros A y eliminando la información de DNSSEC. O bien, podría ser un servidor de nombres indolente a la seguridad en alguna parte del camino que eliminó el bit de parámetro DO de la consulta o el registro RRSIG de la respuesta. O bien, podría ser un error de configuración.

Después, podría ser que no haya un dominio llamado "www.example.com", en cuyo caso en lugar de devolver un registro RRSIG en la respuesta, habrá o un registro NSEC o un registro NSEC3. Estos son registros "casi seguros" que permiten al resolver demostrar que un nombre de dominio no existe. Los registros NSEC/NSEC3 tienen registros RRSIG, los que pueden ser verificados como anteriormente.

Por último, puede ser que la zona "example.com" implemente DNSSEC, pero ya sea la raíz o la zona "com" no lo haga, creando una "isla de seguridad", que debe ser validado de alguna otra manera. En Julio del 2010 se completó el despliegue de DNSSEC en la raíz[5] El dominio.com fue firmado con claves de seguridad válidas y se añadió delegación segura a la zona de la raíz el 1 de abril del 2011.[6]

Stub resolvers[editar]

Stub resolvers son "resolvers DNS mínimos que utilizan el modo de consulta recursiva para descargar la mayor parte del trabajo de resolución de DNS a un servidor de nombres recursivo".[7] Un stub resolver simplemente enviará una solicitud a un servidor de nombres recursivo, y utilizará el bit de datos autenticados (Authenticated Data) (AD) en la respuesta como una "pista para averiguar si el servidor de nombres recursivo fue capaz de validar las firmas de todos los datos de las secciones de respuesta y la Autoridad de la respuesta."[8] Microsoft Windows utiliza un stub resolver, y Windows Server 2008 R2 y Windows 7 en particular usan un stub resolver no validante, pero capaz de revisar el bit AD.[3] [4]

Un stub resolver validante también puede potencialmente llevar a cabo su propia validación de firma al fijar el bit de Checking Disabled (CD) en sus mensajes de consulta.[8] Un stub resolver validante utiliza el CD bit para llevar a cabo su propia autenticación recursiva. Utilizar este tipo de stub resolver validantes le da al cliente DNS seguridad de extremo a extremo para los dominios que hayan implementado DNSSEC, incluso si el proveedor de servicios Internet o la conexión a ellos no es de confianza.

Para que los stub resolver no validante puedan confiar realmente en servicios DNSSEC, el stub resolver debe confiar tanto en los servidores de nombres recursivos en cuestión (los que suele ser controlados por el ISP) y los canales de comunicación entre él y los servidores de nombres, utilizando métodos tales como IPsec, SIG(0), o TSIG.[8] El uso de IPsec no está muy extendido[9]

Anclas de confianza y cadenas de autenticación[editar]

Para ser capaz de demostrar que una respuesta DNS es correcta, es necesario conocer al menos un registro de DS que es correcto a partir de fuentes distintas de la DNS. Estos puntos de partida son conocidos como anclas de confianza y se obtienen normalmente con el sistema operativo o por alguna otra fuente de confianza. Cuando DNSSEC fue originalmente diseñado, se pensó que la única ancla de confianza que se necesitaba era que la raíz del DNS. Las anclas de la raíz se publicaron por primera vez el 15 de julio de 2010.[10]

Una cadena de autenticación es una serie de registros DS y registros vinculados DNSKEY, comenzando con el ancla de confianza al servidor de nombres autorizado para el dominio en cuestión. Sin una cadena de autenticación completa, una respuesta a una búsqueda de DNS no puede autenticar de manera segura.

Firmas y firmas de zona[editar]

Para limitar los ataques de repetición, no sólo hay valores TTL para propósitos de caché, sino que también marcas de tiempo adicionales en los registros RRSIG para limitar la validez de una firma. A diferencia de valores TTL que son relativos al momento de su envío, las marcas de tiempo son absolutas. Esto significa que todos los resolvers DNS conscientes de seguridad deben tener relojes que bastante sincronizados, tipo cercanos en pocos minutos.

Estas marcas de tiempo implica que una zona debe volver a ser firmada y distribuida a los servidores secundarios, o las firmas serán rechazadas por los resolvers que validan.

La gestión de claves[editar]

Con el fin de permitir la sustitución de claves, se requiere un esquema de despliegue de clave. Típicamente, esto implica en primer lugar el despliegue de nuevas llaves en nuevos registros DNSKEY, además de las llaves antiguas existentes. Entonces, cuando es seguro asumir que los valores del tiempo para vivir han hecho que las claves antiguas almacenadas en caché que hayan expirado, se puede utilizar estas nuevas claves. Por último, cuando es seguro asumir que los registros almacenados en caché utilizando las claves viejas han expirado, los viejos registros DNSKEY se pueden eliminar. Este proceso es más complicado para cosas tales como las claves para confiar en los anclajes, como en la raíz, los que pueden requerir una actualización del sistema operativo.

Las claves en los registros DNSKEY se puede utilizar para dos cosas diferentes y los normalmente se utilizan diferentes registros para cada uno. En primer lugar, son las claves DNSKEY de firma de clave (KSK), que se utilizan para firmar los registros de otros DNSKEY. En segundo lugar, están las claves de firma de la zona (ZSK) que se utilizan para firmar los registros de otros. Dado que los ZSKs están bajo el control completo y son usados por una determinada zona DNS, ellos se pueden cambiar más fácilmente y más a menudo. Como resultado, ZSKs puede ser mucho más cortos que los KSKs y todavía ofrecer el mismo nivel de protección, pero reduciendo el tamaño de los registros RRSIG / DNSKEY.

Cuando una nueva KSK se crea, el registro DS debe ser transferido a la zona superior y publicado allí. Los registros DS utilizan una síntesis del mensaje de la KSK lugar de la clave completa con el fin de mantener el tamaño de los registros pequeños. Esto es útil para zonas como el dominio. Com, que son muy grandes. El procedimiento para actualizar las claves de DS en la zona principal también es más sencillo que en versiones anteriores DNSSEC las que requerían los registros DNSKEY estuvieran en la zona principal.

Grupo de Trabajo DANE[editar]

El grupo de trabajo de autenticación de entidades con nombre basado en DNS (del inglés DNS-based Authentication of Named Entities) (DANE) pertenece a la IETF[11] y tiene el objetivo de desarrollo de protocolos y técnicas que permiten a las aplicaciones de Internet establecer comunicaciones criptográficamente seguras (con IPsec, TLS, DTLS) basadas en DNSSEC.

Los nuevos protocolos permitirán a garantías adicionales y limitaciones para el modelo tradicional basado en la Infraestructura de clave pública. También permitirá a los titulares de dominio para hacer valer los certificados por ellos mismos, sin hacer referencia a terceras Autoridad de certificación.[12]

Soporte para certificados grapados DNSSEC se ha habilitado en Google Chrome 14.[13] Para Mozilla Firefox, el soporte es proporcionado por un add-on,[14] mientras que el soporte nativo está actualmente en desarrollo.[15]

Historia[editar]

DNS es un servicio de Internet crítico y fundamental, sin embargo, en 1990 Steve Bellovin descubrió serias fallas de seguridad en él. Así comenzó la investigación para securitizar la información y aumentó drásticamente cuando su trabajo se hizo público en 1995.[16] El primer RFC 2065 fue publicado por el IETF en 1997, y los intentos iniciales para implementar esa especificación llevaron a una versión revisida (y creían totalmente viable) especificada en 1999 como la IETF RFC 2535. Se hicieron planes para implementar DNSSEC basado en RFC 2535.

Por desgracia, la especificación IETF RFC 2535 tenía problemas muy importantes para escalar su uso a todo Internet; para el año 2001 se hizo evidente que esta especificación no servía para grandes redes. En operación normal los servidores DNS a menudo pierden la sincronización con sus superiores. Esto no suele ser un problema, pero cuando está habilitado DNSSEC, estos datos fuera de sincronización podría tener el serio efecto de una denegación de servicio autocreada. El DNSSEC original requería un complejo protocolo de seis mensaje y una gran cantidad de transferencias de datos para llevar a cabo cambios fundamentales para un dependiente (las zonas DNS dependientes tenían que enviar a todos sus datos a los servidores superiores, que el superior firmara cada registro, y luego enviar los firmas de vuelta al dependiente para que éste la guarde en un registro SIG). Además, los cambios de llaves públicas podría tener efectos absurdos; por ejemplo, si la zona ".com" cambiaba su clave pública, se tenía que enviar 22 millones de registros (ya que tendría que actualizar todas las firmas de todos sus dependientes). Así, DNSSEC como se define en el RFC 2535 no pudo escalar hasta la Internet.

La IETF modificó sustancialmente DNSSEC, que se llama DNSSEC-bis cuando es necesario distinguirlo del enfoque original de la RFC 2535. Esta nueva versión utiliza "registros de recursos de firmante delegado (DS)" (en inglés delegation signer (DS) resource records) para proporcionar un nivel adicional de indirección en los puntos de delegación entre un servidor superior y una zona dependiente. En el nuevo enfoque, cuando un dependiente cambia de clave pública maestra, en lugar de tener que enviar seis mensajes para cada registro, hay un simple mensaje: el dependiente envía la nueva clave pública a su superior (firmado, por supuesto). Los superiores simplemente almacenan una clave pública maestra para cada dependiente, lo que es mucho más práctico. Esto significa que unos pocos datos se empuja a los superiores, en lugar de cantidades masivas de datos que se intercambian entre los superiores y dependientes.

Esto significa que los clientes tienen que hacer un un poco más de trabajo al comprobar las llaves. Más específicamente, la verificación de clave RRset de una zona DNS requiere de dos operaciones de verificación de firmas en lugar de solo una, como era requerida por el RFC 2535 (no hay impacto en el número de firmas verificadas para otros tipos de RRsets). La mayoría ve esto como un pequeño precio a pagar, ya que cambia DNSSEC y lo hace mucho más práctico de implementar.

Tema de enumeración de zona, la controversia y NSEC3[editar]

Aunque el objetivo de DNSSEC es aumentar la seguridad, DNSSEC como se definió en los RFCs 4033 a 4035 presenta un nuevo problema que muchos creen es una nueva vulnerabilidad de seguridad: el tema de la enumeración de zona (también conocido como zone walking). DNSSEC obliga a la exposición de información que por mejores prácticas normales de DNS se mantienen como privada. NSEC3 (RFC 5155) se desarrolló para abordar esta cuestión y fue lanzado en marzo de 2008. NSEC3 mitiga, pero no elimina, la enumeración de la zona, ya que es posible buscar de manera exhaustiva el conjunto de todos los nombres posibles en una zona.[17]

Porqué los datos de zona DNS normalmente se mantienen privados[editar]

Cuando el protocolo DNS fue diseñado, no estaba destinado a ser un repositorio de información oculta. Sin embargo, como el DNS almacena la información sobre los detalles de una red relacionados con un dominio dado, muchos ven el contenido de su base de datos DNS como privado. En particular, los sistemas de DNS se configuran de manera que la mayoría de los usuarios no se les permite recuperar la lista completa de nombres u otra información en una zona. Esa lista sería de gran ayuda a los atacantes, ya que esta lista les puede dar información importante acerca de las máquinas que existen. Algunos administradores de incluso poner el tipo de sistema e información de configuración en sus bases de datos de DNS, que es aún más valiosa para un atacante. El ampliamente utilizado libro de DNS and BIND (4 ª edición) por Albitz y Liu lo explica así:

Podría decirse que incluso más importante que controlar quien puede consultar su servidor de nombres es asegurarse que sólo los verdaderos servidores de nombres esclavos puedan transferir zonas desde su servidor de nombres. Los usuarios de equipos remotos sólo podrán buscar registros (por ejemplo, las direcciones) para nombres de dominio que ya saben, uno a la vez. Es la diferencia entre dejar que la gente al azar llamar a la centralita de su empresa y pregunte por el número de teléfono de John Q. [contra] el envío de una copia de su directorio telefónico corporativo.[18]

Además, la información de una zona enumerada se puede utilizar como una clave para múltiples consultas WHOIS, lo que podría revelar datos del registrante, lo que muchos registros deben proteger, ya que están bajo estrictas obligaciones legales en virtud de diversos contratos.

No está claro si es legal implementar DNSSEC en muchos países, a menos que dichas listas se puedan mantener en privado. DENIC ha declarado que la cuestión de enumeración de zona de DNSSEC viola la Ley Federal alemana de Protección de Datos. Otros países europeos tienen leyes similares que prohíben la privacidad de la publicación de ciertos tipos de información.[cita requerida]

DNSSEC revela datos de zona[editar]

El diseño original de DNSSEC requería que toda la lista de nombres de zona se revelará a todos. Como se indica en el RFC 4033,

DNSSEC introduce la posibilidad de que una parte hostil enumere todos los nombres en una zona, siguiendo la cadena de NSEC. Los RR de NSEC afirman que los nombres no existen en una zona mediante la vinculación del nombre existente a nombre existente a lo largo de un ordenamiento canónico de todos los nombres dentro de una zona. Por lo tanto, un atacante puede consultar estos RRs de NSEC en secuencia para obtener todos los nombres en una zona. Aunque esto no es un ataque contra el propio DNS, podría permitir a un atacante mapear los equipos de red u otros recursos mediante la enumeración de los contenidos de una zona.

Hay una "evidente" solución, llamada un DNS horizonte dividido, que es como los DNS sin DNSSEC es desplegado a veces - pero este enfoque no funciona bien con DNSSEC. En el enfoque "DNS horizonte dividido", el servidor DNS niega la existencia de nombres a algunos clientes, y proporciona la información correcta a otros clientes. Sin embargo, dado que la información DNSSEC está firmada criptográficamente como autoridad, un atacante podría solicitar el registro "no existe" firmado, y luego retransmitir el registro para causar una denegación de servicio. DNSSEC cambia fundamentalmente el DNS para que pueda proporcionar información fidedigna, por lo que no funciona bien con los métodos basados ​​en el suministro de información falsa para algunos usuarios. La investigación ha producido recomendaciones para combinar adecuadamente estas dos características de DNS.[19]

DNSSEC presentó este problema, ya que debe ser capaz de informar cuando un nombre "no" es encontrado. Los servidores DNS con soporte DNSSEC deben ser capaces de firmar ese reporte "no encontrado" de lo contrario un informe de no encontrado podrían ser fácilmente falsificados. Sin embargo, por razones de seguridad la clave de firma no debe estar en línea. Como resultado, DNSSEC fue diseñado para reportar un mensaje firmado que informa que un determinado rango de nombres no existe, que puede ser firmado por delante-de-tiempo fuera de línea. Desafortunadamente, esta información es suficiente para un atacante para ganar mucha más información, de lo que hubiera estado disponible para ellos de otra manera - es suficiente para permitir a un atacante obtener rápidamente todos los nombres en una zona, y luego a través de consultas específicas en los nombres para la reconstrucción de la totalidad o la mayor parte de los datos de una zona.

Como se señaló anteriormente, DNSSEC podría ser utilizado como la base de una infraestructura de clave pública mundial para direcciones de correo electrónico, mediante el uso de DNS para servir los certificados de correo electrónico y DNSSEC para validarlos. Sin embargo, este problema de DNSSEC hace esto poco probable para la mayoría de las organizaciones, al menos si se utiliza directamente. Como dice el RFC 4398, "Si una organización opta por emitir certificados para sus empleados, la colocación de CERT RR en el DNS por el nombre del propietario, y si DNSSEC (con NSEC) está en uso, es posible para alguien que enumere todos los empleados de la organización . Esto generalmente no se considera deseable, por la misma razón que los listados de las empresas telefónicas no están publicados a menudo en público e incluso están marcados como confidenciales."

Reacciones iniciales[editar]

Muchos de los participantes del grupo de trabajo de las extensiones DNS del IETF originalmente declaró que la enumeración de zona no era un problema importante, con el argumento de que los datos de los DNS era-o debería ser-pública. Sin embargo, los registradores y muchas organizaciones grandes dijeron a los miembros del grupo de trabajo que DNSSEC como se definía actualmente era inaceptable y que no haría o legalmente no podrían utilizarlo.

Firmado en línea[editar]

Un enfoque para prevenir la enumeración de zona fue codificado en el RFC 4470. En lugar de firmar las respuestas no-encontrado por adelantado, una respuesta de no-encontrado se genera para cada consulta. Por ejemplo, si se recibe una consulta para 'b.example.com', en lugar de servir una respuesta previamente firmada diciendo que no hay nombres entre 'a.example.com "y" mail.example.com ", que revela la existencia de "mail.example.com", la respuesta podría ser que "no hay nombres entre b.example.com y ba.example.com '. Si la consulta siguiente se refiere a 'ba.example.com', la respuesta podría ser "no hay nombres entre ba.example.com y baa.example.com '. Esto hace que la enumeración de toda la zona impracticable.

Este método tiene algunas desventajas. Se requiere una clave de firma que se mantenga en línea y accesible a todos los servidores DNS. Muchas claves de firma de zona se mantienen en línea de todos modos para apoyar a re firmado de zona o actualizaciones automáticas dinámicas, pero estas funciones sólo son necesarios en un único servidor DNS principal, mientras que para soportar la firma en línea de la de zona la clave de firma se debe mantener en cada servidor DNS autorizados. Algunos servidores autorizados deben ser accesibles desde Internet y, preferiblemente, éstas estarán muy dispersas, haciendo difícil mantener las claves bajo control. También se requiere atención para evitar que un atacante inunde el servidor DNS con solicitudes de nombres falsos, denegando el servicio a los usuarios legítimos.

NSEC3[editar]

Después de deliberar, se desarrolló una extensión: "DNSSEC Hashed Authenticated Denial of Existenc" (informalmente llamado "NSEC3"). En este enfoque, los servidores conscientes de DNSSEC pueden optar por enviar un registro "NSEC3" en lugar de un registro NSEC cuando un registro no se encuentra. El registro NSEC3 está firmado, pero en lugar de incluir el nombre directamente (lo que permitiría la enumeración de zona), el registro NSEC3 incluye un valor criptográficamente hashed del nombre. El registro NSEC3 incluye tanto un hash después de un número de iteraciones y un salteado opcional, los cuales reducen la efectividad de los ataques de diccionario pre-calculados. El salteado aumenta el número de diccionarios necesarios para un ataque, mientras adicionales iteraciones de hash aumentan el costo de calcular cada diccionario.

En marzo de 2008, NSEC3 fue formalmente definida en el RFC 5155.

Despliegue[editar]

Herramientas[editar]

El despliegue de DNSSEC requiere software tanto en el servidor como en el cliente. Algunas de las herramientas que soportan DNSSEC incluyen:

  • Windows 7 y Windows Server 2008 R2 incluyen un stub resolver "consciente de la seguridad" que es capaz de diferenciar entre las respuestas seguras y no seguras de un servidor de nombres recursivo.[20] [21]
  • BIND, el servidor DNS nombre más popular (que incluye dig). La versión 9.3 implementó el nuevo DNSSEC-bis (registros DS), aunque no soporta los registros NSEC3. BIND 9.6 fue lanzado en diciembre de 2008 y tiene soporte completo para los registros NSEC3.
  • drill es una herramienta como dig habilitada para DNSSEC incluida en el paquete ldns.
  • extensión de drill para Firefox agrega a Mozilla Firefox la capacidad de determinar si un dominio se puede verificar usando DNSSEC.
  • DNSSEC-Tools tiene como objetivo proporcionar herramientas fáciles de usar para ayudar a todo tipo de administradores y usuarios a hacer uso de DNSSEC. Ofrece herramientas para administradores de las zonas zonas autoritativas, servidores autoritativos, y servidores recursivos, así como una biblioteca y herramientas para desarrolladores de aplicaciones y parches para extender aplicaciones comunes.
  • Zone Key Tool es un software diseñado para facilitar el mantenimiento de las zonas conscientes de DNSSEC. Está diseñado principalmente para entornos con un número pequeño o mediano de zonas y ofrece un despliegue totalmente automático de firmado de clave, así como su refirmado automático.
  • Unbound es un servidor de nombres DNS que se ha escrito desde cero diseñado en torno a los conceptos de DNSSEC.
  • GbDns es un servidor de nombres para Microsoft Windows compacto y fácil de instalar.
  • UnxsBind es un software de gestión de DNS GPL para ASPs de DNS que ahora es compatible con DNSSEC.
  • OpenDNSSEC es una herramienta para firmar DNSSEC usando PKCS#11 para ser interfaz con módulos de seguridad de hardware.
  • SecSpider rastrea el despliegue de DNSSEC, monitorea zonas y proporciona una lista de claves públicas observadas.
  • DNSViz y DNSSEC Analyzer son ​​herramientas basadas en Web para visualizar la cadena de autenticación de DNSSEC de un dominio.
  • DNSSEC Validator es un complemento de Mozilla Firefox para la visualización del estado de DNSSEC del nombre de dominio visitado.
  • DNSSHIM o maestro DNS seguro oculto (DNS Secure Hidden Master) es una herramienta de código abierto para automatizar las zonas de apoyo DNSSEC el proceso de aprovisionamiento.
  • Net::DNS::SEC es un resolver DNS implementado en Perl.

Véase también[editar]

Referencias[editar]

  1. Entrevista con Dan Kaminsky de DNSSEC (25 junio 2009) entrevista a Kaminsky: DNSSEC se ocupa de la confianza y seguridad inter organizacional
  2. «Domain Name System Security (DNSSEC) Algorithm Numbers». IANA (12 de julio de 2010). Consultado el 17 de julio de 2010.
  3. a b «Entendiendo DNSSEC en Windows». Microsoft (7 de octubre de 2009). «El cliente DNS de Windows es un resolver stub...».
  4. a b «Extensiones de seguridad DNS (DNSSEC)». Microsoft (21 de octubre de 2009). «El cliente DNS en Windows Server 2008 R2 y Windows ® 7 es un resolver capaz de detectar seguridad, pero no de validar.».
  5. http://www.root-dnssec.org/
  6. http://www.v3.co.uk/v3-uk/news/2039287/verisign-adds-dnssec-com-domain-boost-online-security/
  7. RFC 4033: DNS Security Introduction and Requirements. Internet Society. March 2005.  p. 11. http://tools.ietf.org/html/rfc4033#section-7. «Stub resolvers, by definition, are minimal DNS resolvers that use recursive query mode to offload most of the work of DNS resolution to a recursive name server.».  Una definición anterior fue dada en un anterior RFC: Robert Braden (October 1989). RFC 1123 - Requirements for Internet Hosts -- Application and Support. IETF (Internet Engineering Task Force).  p. 74. http://tools.ietf.org/html/rfc1123#page-74. «A "stub resolver" relies on the services of a recursive name server [...]». 
  8. a b c RFC 4033: DNS Security Introduction and Requirements. Internet Society. March 2005.  p. 12. http://tools.ietf.org/html/rfc4033#page-12. 
  9. Muñoz Merino, Pedro J.; García-Martínez, Alberto; Organero, Mario Muñoz; Kloos, Carlos Delgado (2006). Meersman; Tari, Zahir; Herrero, Herrero Martín, eds. Enabling Practical IPsec Authentication for the Internet. On the Move to Meaningful Internet Systems 2006: OTM 2006 Workshops (en inglés) 1. Springer. pp. nombre–editor= Robert. Consultado el 13 de mayo de 2012. 
  10. anclas en la raíz
  11. IETF: autenticación de entidades con nombre basado en DNS (DANE)
  12. Grepular: DNSSEC Will Kill Comercial CA
  13. «ImperialViolet». Consultado el 26 de noviembre de 2011.
  14. «Extended Validator DNSSEC».
  15. Bugzilla @ Mozilla: Bug 672600 - El uso de DNSSEC / DANE cadena de grapas en el protocolo de enlace TLS en la validación de certificados de la cadena
  16. "Using the Domain Name System for System Break-Ins" por Steve Bellovin, 1995
  17. Breaking DNSSEC Daniel J. Bernstein, 2009
  18. Albitz, Pablo. O'Reilly Media, Inc., ed. ISBN 978-0-596-00158-2 http://oreilly.com/catalog/9780596001582/.  Parámetro desconocido |Edición= ignorado (se sugiere |edición=) (ayuda); Parámetro desconocido |Mes= ignorado (se sugiere |mes=) (ayuda); Parámetro desconocido |Coautores= ignorado (se sugiere |coautores=) (ayuda); Parámetro desconocido |Año= ignorado (se sugiere |año=) (ayuda); Parámetro desconocido |Título= ignorado (se sugiere |título=) (ayuda); Falta el |título= (ayuda)
  19. Split-View DNSSEC Operational Practices
  20. Seshadri, Shyam (11 de noviembre de 2008). «technet.com/sseshad/archive/2008/11/11/dnssec-on-windows-7-dns-client.aspx~~HEAD=NNS DNSSEC on Windows 7 DNS client». Puerto 53. Microsoft.
  21. DNSSEC en Windows Server

Enlaces externos[editar]

Organizaciones / sitios web[editar]

Normas[editar]

  • RFC 2535 extensiones de seguridad del sistema de nombres de dominio
  • RFC 3833 un análisis de amenazas del sistema de nombres de dominio
  • RFC 4033 Introducción y Requisitos de Seguridad de DNS (DNSSEC-bis)
  • RFC 4034 registros de recursos para las Extensiones de seguridad DNS (DNSSEC-bis)
  • RFC 4035 Modificaciones de Protocolo de las Extensiones de seguridad DNS (DNSSEC-bis)
  • RFC 4398 Almacenamiento de certificados en el Domain Name System (DNS)
  • RFC 4470 Cobertura mínima de registros NSEC y firma en línea de DNSSEC
  • RFC 4509 uso de SHA-256 en los registros de recursos (RR) de firmante Delegado (DS) DNSSEC
  • RFC 4641 DNSSEC Prácticas Operacionales
  • RFC 5155 DNSSEC negación autenticada de existencia por hash

Otros documentos[editar]