stringtranslate.com

Comparación de software de servidores DNS

Este artículo presenta una comparación de las características, el soporte de plataformas y el empaquetado de muchas implementaciones independientes del software de servidor de nombres del Sistema de nombres de dominio (DNS) .

Comparación de servidores

Cada uno de estos servidores DNS es una implementación independiente de los protocolos DNS, capaz de resolver nombres DNS para otros equipos, publicar los nombres DNS de los equipos o ambas cosas. No se tienen en cuenta las herramientas DNS de una sola función (como servidores proxy, filtros y cortafuegos) ni las redistribuciones de los servidores que se enumeran aquí (muchos productos reempaquetan BIND, por ejemplo, con interfaces de usuario propietarias).

Los servidores DNS se agrupan en varias categorías de especialización para atender consultas del sistema de nombres de dominio. Las dos funciones principales, que pueden implementarse de forma única o combinada en un producto determinado, son:

DNS de BIG-IP

La línea de productos BIG-IP de F5 Networks ofrece DNS como servidor autoritativo o recursivo y agrega medidas de seguridad adicionales. La ventaja clave es que utiliza el mismo controlador de entrega de aplicaciones para admitir DNS y aceleración de aplicaciones. [ cita requerida ]

UNIR

BIND es el servidor DNS estándar de facto . Es un producto de software libre y se distribuye con la mayoría de las plataformas Unix y Linux, donde también se lo suele denominar como named (name daemon). Es el servidor DNS más ampliamente implementado. [1] Históricamente, BIND experimentó tres revisiones importantes, cada una con arquitecturas significativamente diferentes: BIND4, BIND8 y BIND9. BIND4 y BIND8 ahora están técnicamente obsoletos y no se los considera en este artículo. BIND9 es una reescritura completa de BIND que presenta compatibilidad completa con DNSSEC además de otras características y mejoras.

El Consorcio de Sistemas de Internet comenzó a desarrollar una nueva versión, BIND 10. Su primer lanzamiento fue en abril de 2010, pero la participación de ISC concluyó con el lanzamiento de la versión 1.2 de BIND 10 en abril de 2014. ISC citó la falta de recursos para continuar con el desarrollo de BIND 10 y reafirmó su compromiso con BIND9. [2]

El código base de BIND 10 continúa como proyecto de código abierto. No se incluye en esta comparación por el momento.

Registrador de red de Cisco

CNR incluye un servidor DNS comercial de Cisco Systems que se utiliza habitualmente junto con el servidor DHCP ( protocolo de configuración dinámica de host ) de CNR. Admite altas tasas de actualización dinámica.

DNS central

CoreDNS es el servidor DNS recomendado [3] para Kubernetes y se graduó del CNCF en 2019. [4]

Máscara de DNS

Dnsmasq es un reenvío de DNS ligero y fácil de configurar, diseñado para proporcionar servicios de DNS (y, opcionalmente, DHCP y TFTP ) a una red de pequeña escala. Puede servir los nombres de máquinas locales que no están en el DNS global.

Dnsmasq acepta consultas DNS y las responde desde un pequeño caché local o las reenvía a un servidor DNS recursivo real. Carga el contenido de /etc/hosts , de modo que se puedan resolver los nombres de host locales que no aparecen en el DNS global.

Djbdns

Djbdns es una colección de aplicaciones DNS, entre las que se incluye tinydns , que fue el segundo servidor DNS de software libre más utilizado en 2004. [1] Fue diseñado por Daniel J. Bernstein , autor de qmail , con énfasis en consideraciones de seguridad. En marzo de 2009, Bernstein pagó 1000 dólares a la primera persona que encontrara un agujero de seguridad en djbdns. [5] El código fuente no se mantiene de forma centralizada y se publicó en el dominio público en 2007. Hay múltiples bifurcaciones y más de una docena de parches para añadir funciones adicionales a djbdns.

gdnsd

gdnsd es un servidor DNS diseñado para el equilibrio geográfico. [6] gdnsd es el servidor DNS utilizado por Wikipedia para sus servidores y redes. [7]

Nudo DNS

Knot DNS es un servidor DNS autorizado de software libre de CZ.NIC . Knot DNS tiene como objetivo ser un servidor DNS rápido y resistente que se pueda utilizar para servicios de alojamiento de DNS e infraestructura (raíz y TLD) . Knot DNS admite la firma DNSSEC y, entre otros, aloja la zona raíz ( servidores de nombres raíz B, K y L ) y varios dominios de nivel superior .

Resolvedor de nudos

Knot Resolver es una implementación de resolución moderna de código abierto diseñada para escalabilidad, resiliencia y flexibilidad. Su arquitectura central es pequeña y eficiente, y la mayoría de las funciones avanzadas se implementan como módulos opcionales, lo que limita la superficie de ataque y mejora el rendimiento. Muchas funciones de resolución están disponibles de fábrica como módulos, manteniendo el núcleo pequeño y eficiente. La arquitectura modular proporciona una API similar a una máquina de estados para extensiones, como módulos C y Lua. [8]

MaraDNS

MaraDNS es un servidor DNS de software libre creado por Sam Trenholme que presume de tener un buen historial de seguridad y de ser fácil de usar. [9] [10] Para cambiar cualquier registro DNS, es necesario reiniciar MaraDNS. Al igual que djbdns dnscache, el solucionador recursivo independiente MaraDNS 2.0 ("Deadwood") no utiliza subprocesos. [11]

DNS de Microsoft

Windows DNS Server [12] componente de Microsoft DNS. El mismo software se puede configurar para admitir el modo autoritativo, recursivo e híbrido. El software está integrado con Active Directory , lo que lo convierte en el software DNS predeterminado para muchas redes empresariales que se basan en Active Directory . También permite crear zonas mediante el archivo de zona DNS estándar . El software viene empaquetado como un rol en Windows Server . El software del servidor se envía con una aplicación de línea de comandos dnscmd, [13] un asistente de GUI de administración de DNS y un paquete DNS PowerShell [14] . En Windows Server 2012, Windows DNS agregó soporte para DNSSEC, [15] con firma en línea completa, con soporte para DNS dinámico y NSEC3 , junto con algoritmos de firma RSASHA y ECDSA. Proporciona un proveedor de almacenamiento de claves incorporado y soporte para cualquier proveedor de almacenamiento de claves compatible con CNG de terceros. También se mejoraron la interfaz de usuario y el soporte de PowerShell para administrar DNS y DNSSEC. En Windows Server 2016, el servidor DNS admite políticas DNS mediante las cuales los administradores pueden tener más control sobre el proceso de resolución de nombres. [16]

NSD

NSD es un servidor autorizado de software libre proporcionado por NLNet Labs. NSD es un servidor de prueba para DNSSEC; las nuevas características del protocolo DNSSEC suelen crearse mediante prototipos utilizando la base de código NSD. NSD aloja varios dominios de nivel superior y opera tres de los servidores de nombres raíz .

pdnsd

Pdnsd es un servidor proxy DNS de almacenamiento en caché que almacena registros DNS en caché en el disco para su conservación a largo plazo. Pdnsd está diseñado para ser altamente adaptable a situaciones en las que la conectividad de red es lenta, poco confiable, no está disponible o es muy dinámica, con una capacidad limitada para actuar como un servidor de nombres autorizado. Tiene licencia GPL . [17]

Posadis

Posadis es un servidor DNS de software libre , escrito en C++, con soporte para actualización de DNS dinámico .

PowerDNS

PowerDNS es un servidor DNS de software libre con una variedad de funciones de almacenamiento de datos y equilibrio de carga. Las funciones de servidor autoritativo y recursivo se implementan como aplicaciones independientes, así como un proxy de almacenamiento en caché DNS independiente (dnsdist) que implementa funciones como DNS sobre HTTPS.

Sistema de nombres de dominio Secure64

DNS Authority es un software de servidor de nombres comercial autorizado de Secure64 , la empresa que creó aplicaciones y sistemas operativos DNS genuinamente seguros y automatizó por completo la implementación de DNSSEC.

DNS Cache es un software de DNS recursivo escalable y altamente seguro de Secure64 que brinda protección integrada contra ataques de denegación de servicio de gran volumen, incluidos ataques de subdominio pseudoaleatorio (PRSD).

DNS simple plus

Simple DNS Plus es un servidor DNS comercial que funciona con Microsoft Windows y que se caracteriza por una interfaz gráfica de usuario fácil de usar . El mantenimiento del software parece haber disminuido en los últimos años.

Servidor DNS Technitium

Technitium DNS Server [18] [19] es un software de servidor DNS gratuito , de código abierto [20] (GPLv3), [21] multiplataforma, autoritario, con almacenamiento en caché y recursivo. Admite protocolos DNS cifrados DNS-over-TLS , DNS-over-HTTPS y DNS-over-QUIC . [22] También admite la firma y validación DNSSEC para algoritmos RSA y ECDSA con NSEC y NSEC3.

El servidor DNS también permite bloquear nombres de dominio mediante listas de bloqueo [23] y también admite el uso de HTTP o SOCKS5 para el transporte de solicitudes DNS a través de la red Tor . [24]

El servidor DNS admite la ejecución de complementos desarrollados de forma independiente que se pueden utilizar para procesar y responder a las solicitudes DNS. También proporciona una API HTTP que puede ser utilizada por software de terceros para administrar el servidor DNS. [25]

Sin límites

Unbound es un servidor DNS validador, recursivo y de almacenamiento en caché diseñado para un alto rendimiento. Fue lanzado el 20 de mayo de 2008 (versión 1.0.0) como software libre bajo licencia BSD por NLnet Labs. Se instala como parte del sistema base en FreeBSD a partir de la versión 10.0, y en NetBSD con la versión 8.0. También hay una versión disponible en OpenBSD versión 5.6 y posteriores. (Las versiones anteriores de FreeBSD se entregaban con BIND).

YADIFA

YADIFA es un servidor DNS con licencia BSD y uso eficiente de la memoria escrito en C. El acrónimo YADIFA significa Yet Another DNS Implementation For All (Otra implementación de DNS más para todos) . Fue creado por EURid , que opera el dominio de nivel superior .eu. [26]

Características

Algunas características de DNS son relevantes únicamente para servidores recursivos o para servidores autoritativos. Por lo tanto, una matriz de características como la que se muestra en este artículo no puede representar por sí sola la eficacia o la madurez de una implementación determinada.

Otro factor importante es la arquitectura del servidor. Algunos servidores DNS brindan soporte para ambas funciones de servidor en un único programa "monolítico". Otros se dividen en programas más pequeños, cada uno de los cuales implementa un subsistema del servidor. Como en el clásico debate sobre el microkernel en informática , la importancia y utilidad de esta distinción es objeto de un intenso debate. La matriz de características de este artículo no analiza si las características de DNS se proporcionan en un único programa o en varios, siempre que dichas características se proporcionen con el paquete de servidor básico y no con software complementario de terceros.

Explicación de las características

Autorizado
Una categoría importante de funcionalidad del servidor DNS, ver arriba.
Recursivo
Una categoría importante de funcionalidad del servidor DNS, ver arriba.
Control de acceso recursivo
Los servidores con esta función permiten controlar qué hosts tienen permitidas las búsquedas recursivas de DNS. Esto resulta útil para equilibrar la carga y proteger el servicio.
Modo secundario (o modo esclavo)
Los servidores autorizados pueden publicar contenido que se origina en un almacenamiento de datos primario (como archivos de zona o bases de datos conectadas a procesos de administración empresarial), a veces también llamados servidores "maestros", o pueden ser servidores secundarios (o esclavos ), que republican contenido obtenido de dichos servidores primarios y sincronizado con ellos. Los servidores con una función de "modo secundario" tienen una capacidad integrada para recuperar y republicar contenido de otros servidores. Esto se proporciona normalmente, aunque no siempre, mediante el protocolo DNS AXFR .
Almacenamiento en caché
Los servidores con esta función proporcionan servicios recursivos para las aplicaciones y almacenan en caché los resultados para que las futuras solicitudes del mismo nombre puedan responderse rápidamente, sin una búsqueda DNS completa. Esta es una característica de rendimiento importante, ya que reduce significativamente la latencia de las solicitudes DNS.
Seguridad de nombres de dominio
Los servidores con esta característica implementan alguna variante de los protocolos DNSSEC . Pueden publicar nombres con firmas de registros de recursos (lo que proporciona un "servicio de autoridad seguro") y pueden validar esas firmas durante búsquedas recursivas (lo que proporciona un "resolver seguro"). DNSSEC se está extendiendo cada vez más a medida que la ICANN ha implementado una clave raíz DNSSEC . La implementación en sitios individuales está creciendo a medida que los dominios de nivel superior también comienzan a implementar DNSSEC. La presencia de funciones DNSSEC es una característica notable de un servidor DNS.
TSIG
Los servidores con esta característica suelen proporcionar servicios DNSSEC. Además, admiten el protocolo TSIG (Transaction SIGnature), que permite a los clientes DNS establecer una sesión segura con el servidor para publicar registros DNS dinámicos o solicitar búsquedas DNS seguras sin incurrir en el coste y la complejidad de la compatibilidad total con DNSSEC.
IPv6
Los servidores con esta característica son capaces de publicar o manejar registros DNS que hacen referencia a direcciones IPv6 . Además de ser totalmente compatibles con IPv6, deben implementar el protocolo de transporte IPv6 para consultas y transferencias de zona en relaciones secundarias/primarias y funciones de reenvío.
Comodín
Los servidores con esta función pueden publicar información para registros comodín , que proporcionan datos sobre nombres DNS en zonas DNS que no están específicamente enumeradas en la zona.
Horizonte dividido
Los servidores con la función DNS de horizonte dividido pueden dar diferentes respuestas dependiendo de la dirección IP de origen de la consulta.

Matriz de características

  1. ^ Hay un módulo de configuración BIND disponible para Webmin en muchas distribuciones de Linux.
  2. ^ BIND aún no soporta DoQ
  3. ^ La compatibilidad primaria/secundaria de IPv6 en PowerDNS no es completa en las versiones anteriores a la 3.0. Las transferencias de zona en la replicación primaria/secundaria a través de IPv6 se admiten desde la versión 3.0.
  4. ^ La compatibilidad total con DNSSEC en PowerDNS llegó en la versión 3.0. En versiones anteriores, actualmente está restringida a la capacidad de brindar servicio a RR relacionados con DNSSEC.
  5. ^ Mejoras sugeridas por Powerdns.com en
  6. ^ Utilice el backend geoip para una configuración de horizonte dividido.
  7. ^ PowerDNS aún no admite DoQ y es posible que solo lo admita en el paquete separado dnsdist. [1]
  8. ^ djbdns ofrece funciones para transferir zonas; después de completar la transferencia de zona, djbdns puede actuar como servidor autorizado para esa zona. Consulte la documentación de axfr-get para obtener más información.
  9. ^ Hay un parche disponible para publicar datos autorizados protegidos por DNSSEC en [2].
  10. ^ djbdns admite registros DNS comodín , pero no de una manera que cumpla con las RFC.
  11. ^ Esto no es lo mismo que las vistas en bind, pero es una solución con capacidades comparables. Ver: sección de tinydns-data.
  12. ^ MaraDNS no puede proporcionar soporte secundario directamente. En su lugar, se necesita una transferencia de zona, después de la cual MaraDNS actuará como un servidor autorizado para esa zona. Consulte DNS Slave para obtener más información.
  13. ^ dnsmasq tiene un soporte autorizado limitado, pensado para uso en red interna en lugar de uso en Internet público. [ cita requerida ] Los registros A son compatibles a través de /etc/hosts, y hay cierto soporte para registros MX, TXT y SRV a través de la línea de comandos.
  14. ^ La validación DNSSEC se agregó en la versión 2.69 de Dnsmasq [3]. Las versiones anteriores solo podían pasar los resultados de validación de sus propios servidores de nombres ascendentes.[4]
  15. ^ Dnsmasq puede realizar DNS básico de horizonte dividido según la interfaz de la solicitud de origen utilizando el parámetro de configuración localise-queries .
  16. ^ Knot DNS proporciona respuestas basadas en direcciones de origen de consultas a través de sus módulos geoip y queryacl.
  17. ^ Versión 3.3.0 de Knot DNS
  18. ^ A partir de la v5.5.2, esto solo selecciona la regla en función del nombre de la clave, aún no verifica la clave ni la firma. [5]
  19. ^ Las configuraciones como la de horizonte dividido que dependen de cachés DNS aislados no son compatibles explícitamente. https://knot-resolver.readthedocs.io/en/v5.5.2/modules-view.html
  20. ^ ab En Windows Server Technical Preview (2016), puede crear políticas de DNS para controlar cómo un servidor DNS maneja las consultas de DNS en función de diferentes parámetros. Esto admite el control de recursión, las respuestas que reconocen la ubicación, la implementación de cerebro dividido, los filtros, etc. [6] parámetro de configuración.
  21. ^ Windows Server 2008 R2 es compatible con DNSSEC, pero no con DNS dinámico para zonas firmadas con DNSSEC. Es totalmente compatible con Windows Server 2012. En versiones anteriores, incluido Windows Server 2003, la funcionalidad DNSSEC debe activarse manualmente en el registro. Archivado el 25 de marzo de 2008 en Wayback Machine . En estas versiones, la compatibilidad con DNSSEC es suficiente para actuar como servidor esclavo/secundario para una zona firmada, pero no es suficiente para crear una zona firmada (falta de utilidades de generación de claves y firma).
  22. ^ Microsoft DNS admite el algoritmo GSS-TSIG para actualización dinámica segura cuando se integra con Active Directory , mediante RFC 3645, una aplicación de GSS-API RFC 2743.
  23. ^ La funcionalidad IPv6 en el servidor DNS de Microsoft solo está disponible en Windows Server 2003 y versiones más recientes.
  24. ^ "Referencia de la API del servidor DNS de Microsoft". Msdn.microsoft.com . Consultado el 26 de octubre de 2011 .
  25. ^ "Especificación del proveedor WMI de DNS de Microsoft". Msdn.microsoft.com . Consultado el 26 de octubre de 2011 .
  26. ^ MS-DNSP Especificación del protocolo de administración de servidores DNS (utiliza RPC )
  27. ^ Simple DNS Plus no tiene "vistas" de la misma manera que BIND, pero tiene una función de "NAT IP Alias" que permite que los registros del host se resuelvan en diferentes direcciones IP dependiendo de dónde proviene la solicitud DNS.

Plataformas

En esta descripción general del soporte del sistema operativo para el servidor DNS analizado, los siguientes términos indican el nivel de soporte:

Esta recopilación no es exhaustiva, sino que refleja las plataformas más comunes en la actualidad.

  1. ^ BIND está disponible para sistemas basados ​​en Windows NT mediante FTP (incluidos Windows 2000 , XP y Server 2003 ) en un puerto (en el directorio contrib) conocido como ntbind (a partir de la versión 9.3.3 están presentes las compilaciones de Windows).
  2. ^ El soporte para compilar y ejecutar BIND 9 de forma nativa en Windows se ha eliminado por completo a partir de la versión 9.18.0.
  3. ^ La funcionalidad disponible con el servidor DNS de Microsoft varía según la versión del sistema operativo subyacente; como la mayoría de los componentes de Windows Server, se actualiza únicamente con el resto del sistema operativo. Ciertas funciones, como DNSSEC y la compatibilidad con IPv6 , solo están disponibles en la versión Windows Server 2000-2003. Windows 2000 Server incluye compatibilidad con TSIG . El servidor DNS de Microsoft no está disponible en los sistemas operativos cliente de Windows, como Windows XP.

Embalaje

Véase también

Referencias

  1. ^ ab Moore, Don (2004). "Encuesta sobre servidores DNS" . Consultado el 6 de enero de 2005 .
  2. ^ "ISC concluye el desarrollo de BIND 10 con la versión 1.2". 17 de abril de 2014.
  3. ^ "Personalización del servicio DNS".
  4. ^ Claburn, Thomas (24 de enero de 2019). "CoreDNS ya está listo para funcionar: el kit de herramientas de red de Kubernetes finalmente se gradúa". The Register . Consultado el 20 de enero de 2020 .
  5. ^ "El premio djbdns ha sido reclamado". Archivado desde el original el 2009-03-05 . Consultado el 2009-03-04 .
  6. ^ "gdnsd". gdnsd.org . Consultado el 23 de septiembre de 2022 .
  7. ^ "DNS - Wikitecnología". wikitech.wikimedia.org . Consultado el 23 de septiembre de 2022 .
  8. ^ "Resolución de nudos". Resolución de nudos . Consultado el 11 de enero de 2024 .
  9. ^ Mens, Jan-Piet (2008). Servidores DNS alternativos: elección e implementación, y back-end SQL/LDAP opcionales (libro de bolsillo) . UIT Cambridge Ltd. ISBN 978-0-9544529-9-5.
  10. ^ Danchev, Dancho. "Cómo OpenDNS, PowerDNS y MaraDNS no se vieron afectados por la vulnerabilidad de envenenamiento de caché DNS". ZDNet . Archivado desde el original el 29 de julio de 2008. Consultado el 10 de octubre de 2009 .
  11. ^ "MaraDNS: un servidor DNS consciente de la seguridad". MaraDNS . Consultado el 15 de diciembre de 2010 .
  12. ^ "Herramientas para desarrolladores, documentación técnica y ejemplos de codificación". Microsoft .
  13. ^ "Sintaxis DNSCMD: Sistema de nombres de dominio (DNS)". 3 de septiembre de 2012.
  14. ^ "Cmdlets de servidor del Sistema de nombres de dominio (DNS)". Archivado desde el original el 18 de mayo de 2015. Consultado el 8 de mayo de 2015 .
  15. ^ "DNSSEC en Windows Server 2012". 31 de agosto de 2016.
  16. ^ "Novedades del servidor DNS en Windows Server 2016". 20 de octubre de 2021.
  17. ^ "La página de inicio de pdnsd". Phys.uu.nl . Consultado el 26 de octubre de 2011 .
  18. ^ "Servidor DNS Technitium".
  19. ^ "Software de servidor DNS (y relacionado) para Unix".
  20. ^ "Código fuente". GitHub .
  21. ^ "Licencia GPLv3". GitHub .
  22. ^ "Estado de implementación de la privacidad del DNS".
  23. ^ "Los 5 mejores servidores DNS de código abierto alojados por uno mismo como Pi-Hole". 8 de abril de 2023.
  24. ^ "Configuración del servidor DNS para privacidad y seguridad".
  25. ^ "Documentación de la API del servidor DNS de Technitium". GitHub .
  26. ^ "Acerca de YADIFA" . Consultado el 11 de abril de 2013 .
  27. ^ "pdns NEWS". Archivado desde el original el 25 de junio de 2013. Consultado el 29 de marzo de 2013 ."Aún no hay soporte para el protocolo DNSSEC en pdnsd"
  28. ^ "página de inicio de pdnsd" . Consultado el 29 de marzo de 2013 ."pdnsd se inició en Linux y desde entonces se ha portado a FreeBSD (y a Cygwin y Darwin). El 90% del código fuente debería ser fácilmente portable a sistemas compatibles con POSIX y BSD, siempre que esos sistemas admitan los subprocesos POSIX (pthreads). El resto podría necesitar reescrituras específicas del sistema operativo".

Enlaces externos