Ir al contenido principal

DNS sobre TLS: privacidad en el DNS

Privacidad en el DNS


En el sistema de nombres de dominio (DNS) la información de preguntas y respuestas siempre ha viajado "en plano" por la red. Es decir, sin cifrar. Todo lo que se consulta vía DNS puede ser leído por quienes se encuentren en el camino entre un cliente y su "servidor DNS recursivo", por ejemplo los proveedores de Internet (ISPs) y gente que pueda analizar los paquetes de la red.

Desde hace un tiempo que esto se ha visto con preocupación. Siempre se ha dicho que "los datos del DNS son públicos", lo que es cierto, pero lo que alguien esté consultando debiera ser privado. El sitio de alcohólicos anónimos es público, pero debiera ser privado quiénes están consultando por el. Esa es la diferencia.

Se ha trabajado desde distintos lados las mejoras de privacidad, en especial desde IETF, el organismo que estandariza los protocolos en Internet. Hay avances en TLS (también conocido como SSL) y por supuesto también en DNS, donde hay varias técnicas en camino.

Una de estas técnicas se llama "DNS over TLS", que aprovecha la encriptación y autenticación que ofrece TLS para mezclarlo con el soporte de transporte TCP en DNS.

Con los mayores riesgos de invasión a la privacidad de los usuarios, se hace necesario comenzar a preocuparse y cuidarse de este abuso.


DNS sobre TLS

Se trata del clásico protocolo DNS pero esta vez utilizando exclusivamente TCP (recuerden que el DNS clásico utiliza UDP en su gran mayoría, pero TCP siempre ha estado disponible), a lo que se suma el cifrado de TLS (que es el mismo cifrado que hace HTTPS del protocolo en plano HTTP). Utiliza un puerto especial (853) y requiere que los clientes que lo utilizan autentiquen el certificado del servidor por medio de "pinning" o bien utilizando las clásicas autoridades de certificados x509.

DNS-over-TLS utiliza técnicas de optimización como el reuso del canal TCP y la mantención de la conexión abierta, para lograr tiempos de respuesta similares al DNS clásico sobre UDP. De todas formas esta técnica viene penalizada por el costo extra de establecer la conexión TCP la primera vez, además del intercambio durante el cifrado TLS, pero se espera que en un uso normal de un
stub resolver cada consulta sucesiva sea solo resuelta en 1 paquete de ida y vuelta, quedando similar a UDP. Además el tener una sesión abierta en TCP permitirá otras técnicas futuras, como pipelining y "server-push".


dnsotls.lab.nic.cl

NIC Chile dispone de un "servidor de prueba" puesto a disposición de los desarrolladores y primeros usuarios en adoptar y probar esta tecnología. Este servidor es completamente funcional, y se invita a la comunidad de .CL a utilizarlo consiguiendo tiempos de respuesta nacionales, sin necesidad de utilizar
servicios en el extranjero. Este servicio se entrega en forma gratuita pero en modo experimental, sin promesas de uptime ni su continuidad en el futuro. Existe registro de las queries con fines de investigación y control de abuso.

Para utilizarlo, los datos son:
  IPv4: 200.1.123.46
  IPv6: 2001:1398:1:0:200:1:123:46
  Ports: 853 y 443
  Hostname: dnsotls.lab.nic.cl (con "strict name TLS authentication")
  SPKI: pUd9cZpbm9H8ws0tB55m9BXW4TrD4GZfBAB0ppCziBg= (pin sha256)

Se agradecen los reportes de fallas y feedback técnico a través del correo dnsotls@lab.nic.cl.

Para alternativas de software en el lado del cliente se recomienda stubby.

Más información en el sitio de DNS Privacy Project (en inglés).


Comentarios

  1. Para dar soporte en Android fue necesario obtener un certificado en Let's Encrypt.
    El SPKI nuevo es pUd9cZpbm9H8ws0tB55m9BXW4TrD4GZfBAB0ppCziBg=

    ResponderBorrar

Entradas más populares de este blog

Servicio AS112: atendiendo los reversos de direcciones IP privadas

El uso más común que se le da al servicio DNS es el de "transformar los nombres de dominio en direcciones IP", que permite por ejemplo a los humanos recordar fácilmente una dirección de un sitio web como "www.nic.cl", y dejar que sean las máquinas -mediante el DNS- que lo transformen a una dirección IPv6 como 2001:1398:5::6003, ó 200.7.7.3 en IPv4. Pero no es el único uso del DNS. También existe el llamado "servicio reverso", que como su nombre lo indica, hace lo contrario: transformar una IP en un nombre de máquina. Esto no es usado por los usuarios corrientes, sino por servicios por ejemplo de control de acceso, o registro de logs, etcétera; quienes parten de una dirección IPv6 como 2800:3f0:4003:c00::69 y obtienen como resultado www.google.com. Por otro lado, también existen direcciones IP especiales que se les llama "privadas", o "locales"; que tienen la particularidad que pueden ser usadas libremente por organizaciones en sus

¿Cómo probar conectividad IPv6 en Chile?

NIC Chile ha estado empujando la adopción de IPv6 en Chile como parte de nuestra misión de mejorar Internet en el país, comenzando con obtener nuestro prefijo de direcciones y conectividad nativa el año 2006. Dentro de las actividades en más de una década tenemos algunas conferencias y seminarios , participación en los World IPv6 Day y en un piloto con Google , liderar a través de NIC Chile Labs la iniciativa " IPv6 para Chile " del 2010, apoyado por InnovaChile de Corfo y la Subsecretaría de Telecomunicaciones junto a grandes proveedores de Internet del país; entre otras charlas y cursos. Además nos hemos preocupado de entregar nuestros propios servicios en IPv6 nativo, permitiendo el registro de servidores "glue" para nuestros clientes en IPv6 desde el año 2007, activando los DNS para .CL desde el año 2010, dando servicios web, correo, whois desde el 2012, y por último el año 2015 activando nuestro servicio secundario de DNS para dominios .CL con IPv6, dando