El paquete de software djbdns es una implementación de DNS . Fue creado por Daniel J. Bernstein en respuesta a sus frustraciones con los repetidos agujeros de seguridad en el ampliamente utilizado software BIND DNS. Como desafío, Bernstein ofreció un premio de $1000 [1] para la primera persona que encontrara un agujero de seguridad en djbdns, que fue otorgado [2] en marzo de 2009 a Matthew Dempsky.
En 2004 [actualizar], el componente tinydns de djbdns era el segundo servidor DNS más popular en términos de la cantidad de dominios para los que era el servidor autorizado, y el tercero más popular en términos de la cantidad de hosts DNS que lo ejecutaban. [3]
djbdns nunca ha sido vulnerable a la vulnerabilidad generalizada de envenenamiento de caché informada en julio de 2008, [4] [5] pero se ha descubierto que es vulnerable a un ataque relacionado. [6]
El código fuente no ha sido administrado centralmente desde su lanzamiento en 2001, y fue liberado al dominio público en 2007. [7] A marzo de 2009, hay una serie de bifurcaciones , una de las cuales es dbndns (parte del Proyecto Debian ), y más de una docena de parches para modificar la versión lanzada. [8]
Si bien djbdns no admite DNSSEC directamente , existen parches de terceros para agregar compatibilidad con DNSSEC al componente tinydns solo autorizado de djbdns. [9]
Componentes
El software djbdns consta de servidores, clientes y diversas herramientas de configuración.
Servidores
- dnscache: el solucionador de DNS y el caché.
- tinydns: un servidor DNS basado en bases de datos.
- walldns — un "muro DNS inverso" que únicamente permite la búsqueda de direcciones IP por nombre de dominio.
- rbldns: un servidor diseñado para el servicio de lista negra de DNS.
- pickdns: un servidor basado en una base de datos que selecciona entre los registros coincidentes según la ubicación del solicitante. (Esta función ahora es una parte estándar de tinydns).
- axfrdns — un servidor de transferencia de zona.
Herramientas para el cliente
- axfr-get — un cliente de transferencia de zona.
- dnsip — dirección simple a partir de la búsqueda de nombre.
- dnsipq — dirección a partir de la búsqueda de nombre con reglas de reescritura.
- dnsname: nombre simple obtenido a partir de la búsqueda de direcciones.
- dnstxt: registro de texto simple de la búsqueda de nombre.
- dnsmx — búsqueda de intercambiador de correo.
- dnsfilter: busca nombres de direcciones leídas desde stdin, en paralelo.
- dnsqr — búsqueda recursiva de registros generales.
- dnsq: búsqueda de registros generales no recursiva, útil para depuración.
- dnstrace (y dnstracesort): pruebas exhaustivas de las cadenas de autoridad sobre servidores DNS y sus nombres.
Diseño
En djbdns, las distintas funciones y servicios se dividen en programas independientes. Por ejemplo, las transferencias de zona, el análisis de archivos de zona, el almacenamiento en caché y la resolución recursiva se implementan como programas independientes. El resultado de estas decisiones de diseño es una reducción del tamaño del código y de la complejidad del programa demonio que proporciona la función principal de responder a las solicitudes de búsqueda. Bernstein afirma que esto es fiel al espíritu del sistema operativo Unix y hace que la verificación de seguridad sea mucho más sencilla. [ cita requerida ]
Estado de los derechos de autor
El 28 de diciembre de 2007, Bernstein liberó djbdns al dominio público . [10] Anteriormente, el paquete se distribuía de forma gratuita como software sin licencia . Sin embargo, esto no permitía la distribución de versiones modificadas de djbdns, que era uno de los principios básicos del software de código abierto . En consecuencia, no se incluyó en aquellas distribuciones de Linux que exigían que todos los componentes fueran de código abierto.
Véase también
Referencias
- ^ "La garantía de seguridad de djbdns". Archivado desde el original el 6 de julio de 2012. Consultado el 2 de septiembre de 2008 .
- ^ "El premio djbdns ha sido reclamado". Archivado desde el original el 2009-03-05 . Consultado el 2009-03-04 .
- ^ Moore, Don (2004). "Encuesta sobre servidores DNS". Archivado desde el original el 6 de enero de 2005. Consultado el 6 de enero de 2005 .
- ^ "Varias implementaciones de DNS son vulnerables al envenenamiento de caché". Archivado desde el original el 25 de julio de 2008. Consultado el 5 de agosto de 2008 .
- ^ "Una colaboración asombrosa". 9 de julio de 2008. Archivado desde el original el 4 de agosto de 2008. Consultado el 5 de agosto de 2008 .
- ^ Day, Kevin (2009). "Rapid DNS Poisoning in djbdns". Archivado desde el original el 21 de febrero de 2009. Consultado el 23 de febrero de 2009 .
- ^ "djbdns se coloca en el dominio público". Archivado desde el original el 25 de mayo de 2012. Consultado el 1 de enero de 2008 .
- ^ "Descripción detallada del software del servidor DNS por Rick Moen". Archivado desde el original el 27 de julio de 2009. Consultado el 13 de julio de 2009 .
- ^ "DNSSEC para TinyDNS". Archivado desde el original el 26 de enero de 2016. Consultado el 19 de enero de 2016 .
- ^ "Preguntas frecuentes de los distribuidores". Archivado desde el original el 25 de mayo de 2012. Consultado el 31 de diciembre de 2007 .
Enlaces externos
- Página oficial de djbdns
- N-DJBDNS
- Una guía para djbdns
- La sección djbdns de FAQTS
- Una guía y un tutorial de djbdns con complemento
- Jonathan de Boyne Pollard. "Algo de lo que se dice sobre djbdns es incorrecto". Respuestas frecuentes . Archivado desde el original el 13 de febrero de 2011.— Jonathan de Boyne Pollard desmiente varios mitos relacionados con los DJBDN
- Jonathan de Boyne Pollard. "Los problemas conocidos con los djbdns de Dan Bernstein". Respuestas dadas con frecuencia . Archivado desde el original el 2010-04-25 . Consultado el 2009-09-20 .— Lista de Jonathan de Boyne Pollard de los diversos problemas conocidos en djbdns
- Compatibilidad con formatos de registro más nuevos mediante registros genéricos. Archivado el 7 de junio de 2005 en Wayback Machine.
- LWN (noticias semanales de Linux) analiza djbdns