Djbdns
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 software BIND DNS ampliamente utilizado. Como desafío, Bernstein ofreció un premio de $ 1000 para la primera persona en encontrar un agujero de seguridad en djbdns, que fue otorgado en marzo de 2009 a Matthew Dempsky.
A partir de 2004, 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..
djbdns nunca ha sido vulnerable a la vulnerabilidad generalizada de envenenamiento de caché informada en julio de 2008, pero se ha descubierto que es vulnerable a un ataque relacionado.
El código fuente no se ha administrado de forma centralizada desde su publicación en 2001 y pasó al dominio público en 2007. A partir de marzo de 2009, existen varias 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.
Si bien djbdns no es compatible directamente con DNSSEC, existen parches de terceros para agregar compatibilidad con DNSSEC a djbdns' componente tinydns solo autorizado.
Componentes
El software djbdns consta de servidores, clientes y diversas herramientas de configuración.
Servidores
- dnscache — el resolver DNS y caché.
- diminutos — un servidor DNS basado en bases de datos.
- walldns — una "red DNS reversa", proporcionando IP dirección a dominio sólo búsqueda de nombre.
- rbldns — un servidor diseñado para el servicio de blacklisting DNS.
- pickdns — un servidor basado en bases de datos que opta por combinar registros dependiendo de la ubicación del solicitante. (Esta característica es ahora una parte estándar de diminutos.)
- axfrdns — un servidor de transferencia de zona.
Herramientas de cliente
- axfr-get — un cliente de transferencia de zona.
- dnsip — dirección simple de la búsqueda del nombre.
- dnsipq — dirección desde la búsqueda del nombre con reglas de reescritura.
- dnsname — nombre simple de la búsqueda de la dirección.
- dnstxt — simple registro de texto de la búsqueda del nombre.
- dnsmx — búsqueda del intercambiador de correos.
- dnsfilter — busca nombres para direcciones leídas de stdin, en paralelo.
- dnsqr — búsqueda recurrente de registros generales.
- dnsq — búsqueda de registros generales no recursivos, útil para depurar.
- dnstrace (y dnstracesort) — pruebas completas de las cadenas de autoridad sobre los servidores DNS y sus nombres.
Diseño
En djbdns, las diferentes funciones y servicios se dividen en programas separados. 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 separados. El resultado de estas decisiones de diseño es una reducción en el tamaño del código y la complejidad del programa daemon que proporciona la función central 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 simple.
Estado de los derechos de autor
El 28 de diciembre de 2007, Bernstein lanzó djbdns al dominio público. Anteriormente, el paquete se distribuía de forma gratuita como software sin licencia. Sin embargo, esto no permitió la distribución de versiones modificadas de djbdns, que era uno de los principios fundamentales del software de código abierto. En consecuencia, no se incluyó en aquellas distribuciones de Linux que requerían que todos los componentes fueran de código abierto.
Contenido relacionado
Medio legible por máquina
INS Vikrant (1961)
Comunicaciones en Indonesia