Filtrado por DNS
El fin de una era ?
Quienes trabajamos en informática, tenemos clara la importancia del DNS para el funcionamiento de las redes e Internet.
Este sistema, propuesto por el señor Paul Mockapetris allá por el año 1983 (rfc 882 y rfc 883), es quien se encarga de traducir los nombres de dominio en direcciones IP.
Sin este servicio, en lugar de escribir en el navegador https://www.google.com deberíamos escribir https://172.217.172.100 (o peor aún), con la llegada de IPv6 https://2800:3f0:4002:808::2004 .
Esta claro que sería prácticamente inviable y directamente imposible recordar todos los nombres a los cuales uno necesita acceder.
El mundo e Internet avanzaron, las tecnologías fueron creciendo y empezaron a generarse nuevas posibilidades, así como nuevos problemas.
Allá por el año 1997, el correo electrónico tenía un serio problema con los mensajes no solicitados o SPAM (se calcula que en el período 1994-2003 el 80-85% de los mensajes mundiales enviados fueron principalmente SPAM), por lo cual surgió la idea de aprovechar la posibilidad de utilizar el DNS para que los usuarios no accedieran a sitios mencionados en dichos correos. Este fue el primer sistema de filtrado mediante DNS.
El concepto es muy simple, si yo pregunto por un dominio ej: i-guardian.biz voy a obtener una respuesta como la siguiente: 144.208.69.31
Ahora, si yo no quiero que los usuarios accedan a ese dominio, como administrador de la red tengo dos opciones, o configurar mi firewall para evitar el acceso a dicha IP (lo cual sería muy complicado de mantener ya que la misma puede cambiar) o configurar mi servidor DNS (al cual los usuarios están consultado), para que cuando pregunten por i-guardian.biz el mismo les responda o con una dirección IP inválida (ej: 0.0.0.0) o con una dirección diferente, en la cual me muestre una página web indicando que el acceso al sitio fue rechazado.
Con esa idea simple, se abrió una nueva posibilidad de mercado muy atractiva, ofrecer servicios de filtrado mediante DNS.
El concepto (de manera resumida) es muy simple, se monta una infraestructura de servidores DNS, se arman listas de dominios separados por categorías (Sexo, Violencia, Drogas, Redes Sociales, Actividad Ilegal, Malware, etc) y se ofrece el servicio mediante el cual los clientes apuntan hacia esos servidores DNS y estos resuelven las consultas realizadas, cuando se pregunta por algún dominio dentro de alguna categoría, se responde con la IP modificada. Uno luego tiene la posibilidad de acceder a diferentes tipos de reportes de consultas, bloqueos, horarios, etc, etc.
Esto permitió que entren a la cancha un montón de empresas de referencia, entre ellos podemos mencionar (opendns, safedns, secucloud, dnsfilter, webtitan, etc) que ofrecen este tipo de servicios y más.
Hay que aclarar que tampoco se necesita una infraestructura importante para poder ofrecer este servicio (en el caso de estar dentro de una empresa o institución), ya que utilizando cualquier sistema operativo que ofrezca la posibilidad de montar un servidor DNS (Linux, Windows, Bsd, etc) se podría emular este filtrado “in situ”.
Dado que el protocolo DNS en esencia es un protocolo simple y sin seguridad de por medio, podríamos también realizar lo que se llama “Man in the Middle” es decir interceptar las consultas de los equipos y devolver una respuesta falsa a efectos de redireccionar el trafico hacia un equipo inválido (En la próxima entrada de este blog, hablaremos de este tema con ejemplos reales).
Ahora bien, resulta que en octubre del 2018, se publico un RFC (8484), el cual propone a efectos de mejorar y asegurar las consultas DNS un nuevo protocolo llamado Dns Over Https (DoH de aquí en adelante).
El concepto es simple, se trata de utilizar HTTP/2 y HTTPS para consultar nombres de dominios, logrando mejorar la performance de las consultas (ya que se pueden cachear) y principalmente la seguridad de las mismas seguridad (ya que van cifradas).
Google y Mozilla están realizando pruebas de DoH en Chrome y Firefox, si bien ambos navegadores traen dicha opción deshabilitada, es posible activarla accediendo a la configuración.
El 17 de Noviembre del 2019 Microsoft anuncio que estará adoptando DoH en el stack de red de Windows de manera nativa.
Este sistema trae por un lado las mejoras mencionadas anteriormente, pero en contrapartida, aparecen nuevos problemas a resolver:
Controles parentales y filtros de contenido
Ubicación CDN
Interoperabilidad con redes 5G
Son varias las voces que ya se han levantado en contra de esta práctica, lo concreto es que va a ser cuestión de tiempo para que se afine y termine implementando.
Esta empezando a dar mucho que hablar, imaginen un sistema de filtrado implementado en una empresa y que una persona simplemente con habilitar DoH en su navegador, automáticamente se saltee todas las políticas establecidas, o peor aún, una institución educativa y los niños accediendo a cualquier tipo de contenido no permitido (sexo, drogas, etc).
Desde que reescribimos el motor de filtrado de GuardiaN, entendimos que si bien utilizar DNS para filtrar es atractivo (ya que es algo simple de implementar), no es la manera ideal para realizar este tipo de prácticas y creo firmemente (y como dije con anterioridad) que es cuestión de tiempo para que DoH sea implementado nativamente en todos los navegadores, por eso es que me vuelvo a preguntar, “Filtrado por DNS, el fin de una era ?”