¿Es posible crear su propio servidor DNS raíz?


14

Soy curioso. Sigo leyendo sobre cómo nuestros ISP e intermediarios de Internet registran y realizan un seguimiento de todas las solicitudes de DNS, básicamente, dejando un rastro de migas de pan en muchos registros, y también permitiendo el secuestro de DNS con fines publicitarios (¡lo estoy mirando Cox Communications!).

Independientemente de otros métodos de privacidad / seguridad, me gustaría saber específicamente si es posible ejecutar un servidor DNS en su propia red local, que realmente tenga la información de zona de los servidores DNS raíz (para .com, .net ,. org) dominios.

Sé que puede configurar DNS que básicamente solo mapea máquinas en su dominio, pero es posible solicitar básicamente una copia / transferencia de la información de DNS raíz para almacenarla en su propio servidor DNS para que pueda evitar el acceso a Internet para DNS información en absoluto para la navegación web?

Espero ser claro. No quiero que mi servidor DNS solo tenga información sobre mi red interna; quiero que tenga información duplicada que tienen los grandes servidores DNS de Internet, pero me gustaría esa información localmente en mi servidor DNS.

¿Hay algo como las transferencias de la zona BGP pero para DNS?

Actualización: ¿Hay algún producto / software OSS que básicamente pueda "raspar" esta información de la cadena de DNS externa en la memoria caché local en grandes cantidades para que estén listos cuando los necesite, en lugar de almacenarlos en caché cuando solicite explícitamente los registros de dominio?

Respuestas:


12

DNS por diseño no permite tener una copia autorizada de todas las zonas, ya que utiliza un sistema de nombres jerárquico.

Los servidores raíz tienen autoridad para identificar al servidor responsable del dominio de nivel superior (TLD) en cuestión. Por ejemplo, la resolución www.example.netprimero consultará un servidor raíz para identificar el servidor de nombres autorizado .net. El .netservidor de nombres identificará el servidor de nombres autorizado para example.net, que luego devolverá el registro www.example.net.

No puede descargar una copia de todas las zonas. Sin embargo, puede ejecutar un servidor de nombres de almacenamiento en caché local. El servidor de nombres de almacenamiento en caché proporcionará una copia local de todos los registros resueltos, que caducan utilizando el Tiempo de vida (TTL) especificado para el registro. Tenga en cuenta que mi explicación es una descripción simplista del protocolo DNS, que puede explorarse en detalle leyendo las definiciones en la Solicitud de comentarios .

Si bien el secuestro de NXDOMAIN se puede evitar ejecutando un caché local, tenga en cuenta que todo el tráfico de resolución DNS se transmitirá a través de su conexión a Internet sin cifrar. Su ISP podría monitorear ese tráfico y aún así ver la comunicación. Los contratos que tenga con su ISP, así como sus leyes locales, serán su medio definitivo para establecer cómo se tratan sus comunicaciones. Los contratos de su ISP incluirán los Términos de servicio, las Políticas de privacidad y cualquier contrato adicional que pueda tener con su ISP.

El uso de protocolos cifrados es uno de los mejores métodos para asegurar sus datos contra las escuchas durante el tránsito. Sin embargo, incluso eso no tiene garantía de anonimato. Existen protocolos adicionales como Tor y Freenet , que intentan introducir el anonimato en Internet, ya que nunca fue diseñado para ser verdaderamente anónimo.


1
La respuesta simple es no, no puedes. La respuesta técnica está arriba en la respuesta de Warner. No hay un conjunto de servidores que contenga toda la información de DNS ... los servidores raíz simplemente lo remiten a uno de los servidores de TLD que remite la solicitud más adelante.
Rex

1
Algunos ISP proporcionan una forma de desactivar el secuestro de NXDOMAIN. Algunos ISP proporcionan un mecanismo basado en cookies (estúpido y falso) para "desactivar" el secuestro de NXDOMAIN. También hay servidores de nombres alternativos que se pueden usar en lugar del servidor de nombres de su ISP.
Brian

3

Unas pocas cosas:

Si configura su servidor para usar las sugerencias de raíz en lugar de usar reenviadores, entonces no tiene que preocuparse por los problemas de MITM (al menos de los secuestradores de ISP y DNS). Para todas las resoluciones de DNS externas, su servidor consultaría las sugerencias de raíz, que lo remitirían a los servidores de gTLD para el dominio de nivel superior en cuestión (.com, etc.), que luego lo remitiría a los servidores NS para el dominio en cuestión .

Si realmente desea crear su propio servidor raíz, ciertamente puede hacerlo, aunque no veo cómo le haría mucho bien. Así es como lo haces en un servidor DNS de Windows:

Descargue el archivo de zona raíz DNS y guárdelo como root.dns en el directorio% systemroot% \ system32 \ dns en su servidor DNS de Windows, use el asistente de creación de zona DNS para crear una nueva zona de búsqueda directa primaria llamada "." (sin las comillas), anule la selección de la opción para crear una zona integrada de AD, escriba "." para el nombre de la zona (sin las comillas), seleccione la opción para usar un archivo existente y el campo del nombre del archivo de la zona se completará automáticamente con el nombre root.dns (si no lo está), deje la opción para no permita actualizaciones dinámicas tal cual, haga clic en el botón Finalizar después de haber recorrido cada paso del asistente. Ahora tiene un servidor raíz con zonas y registros de zona para todos los servidores de gTLD.

Tenga en cuenta que esto deshabilitará las opciones de reenvío y sugerencias de raíz en el servidor (ya que su servidor ahora es un servidor raíz) y también tenga en cuenta que si cambia la información de gTLD, no hay forma de que su servidor reciba notificación de esos cambios.


Nada detiene al ISP de secuestrar la IP de los servidores raíz (excepto DNSsec) ... Aparte de eso, correcto.
Chris S

1

Para servidores estrechamente relacionados hay transferencias de zona. Estos funcionan de manera muy similar a los anuncios BGP. Por razones de seguridad, estos generalmente están bloqueados para otros servidores.

Si ejecuta un servidor de nombres en caché, copiará la lista de servidores raíz y muy pronto tendrá las raíces de .com, .net, etc. Hay una muy buena razón por la que se distribuye DNS. De lo contrario, todos estarían trabajando con datos obsoletos. El tamaño de la base de datos sería bastante grande y la mayoría de los datos no le interesarían.

Hay opciones para disminuir el riesgo de envenenamiento de DNS y un buen software trata los problemas a medida que se conocen. Hay organizaciones que trabajan para proporcionar datos desinfectados que se pueden utilizar como proveedores ascendentes. Estos filtrarán algunos intentos de envenenamiento. Mire el uso de OpenDNS o google como proveedores ascendentes.

Las zonas DNS raíz ahora están firmadas, y veo cada vez más que mi servidor de correo informa que los datos DNS fueron firmados. La firma de DNS se ha informado como un requisito para IPV6. El DNS firmado hace que el envenenamiento de caché sea muy difícil, pero se suma a la dificultad de administrar DNS.


1

Ciertamente, puede configurar su propio servidor y hacerlo autoritario para la raíz, pero no sé de qué manera puede completarlo previamente con los archivos de zona de los servidores raíz. No puede simplemente solicitar una transferencia de zona, así que supongo que tendrá que llenarla guardando sus cachés.

Modifique los root.hints en sus otros servidores de nombres para apuntarlos a su servidor raíz privado y deje que comience la prueba.

Pero tenga en cuenta que los servidores raíz solo saben qué servidores son autorizados para los TLD, nada más. Esencialmente necesitará recrear toda la jerarquía de servidores, lo que parece una tarea imposible.


0

Sí, una de las características de los servidores DNS es el almacenamiento en caché local de las consultas solicitadas con frecuencia, sin pasar por alto el ttl especificado.

Ciertamente puede ejecutar su propio dns, no hay problema. Pero los servidores raíz y los servidores de dominio de nivel superior, tendrá que preguntarle al tío Sam.

Es posible registrar todas las solicitudes de dns, pero sería una locura.


Pero confiar en la memoria caché implicaría que ya ha tenido que enviar una solicitud de DNS para el dominio en cuestión, lo que frustra el propósito completo de tratar de tener solo (en su mayoría) solicitudes de DNS locales únicamente.
pythonnewbie

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.