Cómo activar DNS sobre HTTPS (DoH) en Firefox para Android

Configura DNS sobre HTTPS (DoH) en Firefox para Android

DoH (DNS-over-HTTPS, DNS sobre HTTPS) y DoT (DNS-over TLS, DNS sobre TLS) son métodos de seguridad para envolver las solicitudes de DNS dentro de los protocolos HTTPS y TLS, respectivamente. Al utilizar estas soluciones, los usuarios pueden sortear las restricciones impuestas por el filtrado de DNS, facilitándo eludir eludir las restricciones impuestas por los gobiernos y haciendo que sea más difícil rastrear a los usuarios.

Se puede encontrar con facilidad información sobre como activar DNS sobre HTTPS (DoH) para el navegador Firefox de escritorio, pero no hay tanta información para activar DoH en la versión para Android de Firefox. Esto hace que puedan surgir las siguientes preguntas: ¿Soporta DoH el navegador Firefox para Android? y ¿Cómo se activa?

Firefox para Android comparte la misma estructura de funcionamiento que la versión de escritorio, por lo que la mayor parte de lo que funciona en el escritorio funcionará también en Android.

DoH no está activado por defecto en Firefox. Para cambiar el enrutamiento de consultas DNS utilizando DoH hay que cmodificar la configuración de Firefox para Android:

  • Abre la página de configuración de Firefox escribiendo en la barra del navegador: about:config
  • Realiza un filtrado/búsqueda con: network.trr.* y establece los siguientes valores[1]:
    –  network.trr.mode con valor 3
    –  network.trr.uri con https://mozilla.cloudflare-dns.com/dns-query.
    –  network.trr.bootstrapAddress con el valor de una IP de esta página (por ejemplo, el valor 104.16.249.249)[2]
  • Luego abre una nueva pestaña a esta página que se usará para verificar si todo está funcionando. Deberá mostrarse todo en verde excepto el SNI[3]. Para hacerlo todo verde se deberá:
  • Cambiar de pestaña e ir de nuevo a la página de configuración (about:config).
  • Hacer una búsqueda/filtrado con: network.security.* y establecer: network.security.esni.enabled con el valor true.
  • Volver a la pestaña previa de verificación[4] y refescar. Ahora deberían mostrarse todos los resultados en verde.

[1] En la configuración se pueden modificar tres elementos relacionados con el Trusted Recursive Resolver (también conocido como network.trr) que determina las peticiones mediante DoH:

  • network.trr.mode. Controla cuándo y cómo se debe usar DoH. De forma predeterminada, se establece en 0, lo que significa que está deshabilitado. Si se cambia, se habilita.
      • 0 -  Off (predeterminado). Para utilizar el resolver nativo del sistema operativo.
      • 1 -  Race native against TRR. Ejecuta ambas peticiones (DNS y DoH) en paralelo y devuelve la respuesta más rápida. Lo más probable es que gane el nativo.
      • 2 -  First. Usa TRR primero, y solo si la resolución segura falla, usa el resolver del sistema operativo.
      • 3 -  Only . Solo usa peticones mediante DoH.
      • 4 -  Shadow . Ejecuta la resolución TRR en paralelo con la nativa para el tiempo y las mediciones, pero solo utiliza los resultados de la resolución nativa.
      • 5 -  Off by choice. Es lo mismo que 0 pero lo marca como hecho por elección y no por defecto.

      Se suele recomendar un trr.mode de 2 para que recurra al resolver predeterminado/nativo si falla la conexión al servidor DoH. Si sólo desea usar DoH, puede configurarlo en 3: no podrá resolver los nombres DNS si su servidor DoH se cae y no tendrá una copia de seguridad de la utilización de su sistema de resolución. No obstante, habría que establecer el network.trr.mode en 3 para probar si realmente está funcionando. El modo 2 usa el DNS normal como respaldo si falla el DoH, por lo que no sabras realmente si está usando DoH si no se prueba primero en el modo 3.

  • network.trr.uri. Aquí es donde se especifica el servidor que queremos usar para las peticiones DoH.
  • network.trr.bootstrapAddress. Este campo sólo es obligatorio si hemos puesto el valor 3 en network.trr.mode. Es la IP del servidor DNS con el que queremos realizar la petición al servidor DoH. Lo normal es usar la IP de la dirección que hemos puesto en el campo «network.trr.uri». Para otro valor puede no configurarse y Firefox utilizará el resolver del sistema nativo para la consulta inicial de la IP al servidor DoH – p.e., https://mozilla.cloudflare-dns.com/dns-query.

[2] En este ejemplo se ha utilizado la IP del servicio de enrutamiento DoH de Mozilla-CloudFlare. En su lugar también puede utilizar la IP de otros servidores DoH, por ejemplo:
Servidor DoH de Google.
Servidor DoH de Quad9.
Servidor DoH de AdGuard.
Para más servidores, se puede consultar esta lista no oficial de servidores DoH y también esta otra.

[3] Para aumentar nuestra privacidad, también podemos activar la encriptación del SNI para una conexión mas segura a las webs. Para ello buscamos la propiedad network.security.esni.enabled  y ponemos su valor a true.

[4] Una vez realizados los pasos anteriores, solo nos queda comprobar que funciona esta opción. Para ello, podemos hacerlo desde el propio Firefox escribiendo about:networking#dns en la barra de direcciones. Si la columna TRR tiene como valor true, indica que lo tenemos habilitado, en caso contrario estamos usando los DNS del equipo para resolver las direcciones en vez de DoH. También hay varias webs para comprobar que funciona, como por ejemplo Whatsmydnsserver, Cloudfare, Tenta.

A partir de la versión 9 Pie Android incorpora la opción de encriptar todo el tráfico DNS sobre TLS (DoT). Esta nueva característica agrega una capa de seguridad que nunca antes había estado disponible (sin rootear un dispositivo).


REFERENCIAS

support.mozilla.org | Configurar los niveles de protección de DNS sobre HTTPS en Firefox
geekland.eu | Activar ESNI y DoH en Firefox para proteger nuestra privacidad
cloudflare.com | ¿Qué es la SNI encriptada? Cómo funciona ESNI
blog.elhacker.net | Activar medidas privacidad Navegador Firefox, Chrome, Windows 10 y Android (ESNI, TLS 1.3, DoH)


 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *