BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Probando DNS over HTTPS para acceder a webs bloqueadas por las operadoras

BocaDePez
BocaDePez
6

Estoy haciendo unas pruebas con SNI cifrado, DNS over HTTPS y demás hierbas.

He seguido los pasos de: miketabor.com/enable-dns-over-https-and-…-in-firefox/

El tema es que puedo acceder a algunas webs que antes estaban bloqueadas y a otras no y tengo curiosidad por si no estoy entendiendo algo.

Corregidme si me equivoco:

Primero, para que un servidor pueda servir varios dominios por https, originalmente enviaba el nombre sin cifrar en la primera petición. Pongo imagen:

sni-2.png

Esto es utilizado por compañías como O2 y ahora Vodafone para capar el acceso por nombre de dominio y no por IP. Útil en casos como Cloudflare donde desde una IP se sirven muchas webs, el juzgado no debería prohibir acceso a IP por el daño que causa.

Lo que hace la nueva característica de firefox es cifrar esa primera petición con el nombre, para que tu compañía no sepa qué web estás pidiendo.

Además, anteriormente existía un filtrado a nivel DNS, es decir, que tú pedías la web, por ejemplo 1337x.to y te decía que apuntaba a una IP incorrecta o con algún mensaje de "web cerrada". Supongo que en algún caso se seguirá haciendo. Ahora el DNS no tiene porqué resolver mal, pero por si lo hace, hay otra característica que ha causado polémica llamada DNS over HTTPS, la cual resuelve los dominios a través de una web por https, normalmente Cloudflare.

Pues bien, he hecho una serie de cambios a mi firefox:

network.trr.bootstrapAddress -> 1.1.1.1. Por si en algún momento bloquean el subdominio de resolución de Cloudflare, es lo recomendado, aunque no debería afectar.

network.trr.mode -> 3. Indicando que sólo TRR, en caso de fallo que no lo pida por DNS normal (he probado en 2 también). Os pongo los modos:

  • 0: Desactivado por defecto
  • 1: Firefox elegirá en función de cual es más rápido
  • 2: La resolución será sobre https preferentemente, pero pedirá por DNS normal si falla TRR
  • 3: Sólo resolución sobre https, no hay fallback a DNS
  • 5: Cualquier petición sobre https (TRR) desactivada

TRR es Trusted Recursive Resolver

network.trr.uri -> He probado tres, actualmente he dejado Cloudflare

Además, he activado el soporte experimental para el SNI cifrado:

network.secure.esni.enabled -> true

He probado el test de Cloudflare: cloudflare.com/ssl/encrypted-sni/ y me da todo correcto.

Por otro lado, 1337xto.to funciona, pero 1337x.to no funciona desde O2.

Una petición con una búsqueda de una serie, no la resuelve porque el primer dominio manda al segundo, pero desde EEUU, sí se puede ver la web. Esto lo he probado con un servicio que indica si la web está o no accesible y te muestra un pantallazo:

websiteplanet.com/webtools/down-or-not/?…an%20hero/1/

Bien, una vez hecho todo esto y teniendo en cuenta que 1337x.to resuelve a las IP de Cloudflare: 104.31.16.3 y 104.31.17.3 tanto desde los DNS de O2, como de Cloudflare, como de Google (8.8.8.8, 1.1.1.1, 8.8.4.4, 1.0.0.1) entiendo que debería conectar.

Pues bien, no conecto.

¿Alguien sabe qué me falta?

Que sí, que ya he accedido por otro lado, pero quiero saber en qué me estoy equivocando ¿alguien sabe sin meter un analizador de tráfico como debugear ese TRR y la conexión?

BocaDePez
BocaDePez

Ah, por cierto, he hecho la prueba con thepiratebay y ahí sí me funciona la web por https.

Una opción podría ser que 1337x.to tuviese algún fallo para ser vista desde otro país, pero no creo.

🗨️ 2
BocaDePez
BocaDePez

De hecho, la IP cambia si se visita la web desde EEUU: 104.31.19.30

Pero eso más bien parece responder a temas del proxy de Cloudflare y la proximidad.

yomimmo
1

a mi 1337x.to me resuleve en 104.31.17.3

(uso mi propio DNS server )

BocaDePez
BocaDePez

Qué error te da 1337x.to al no funcionar desde O2?

🗨️ 4
BocaDePez
BocaDePez

Me da un timeout

🗨️ 3
BocaDePez
BocaDePez

Si te vas a about:networking y pinchas en DNS deberías poder ver a qué dirección IP se ha resuelto el dominio y comprobar si es la que esperas de CloudFlare.

🗨️ 2
BocaDePez
BocaDePez

No conocía about:networking, muchas gracias! Lástima que no se puedan editar los registros desde ahí.

🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
1

Lo has hecho todo bien y el DNS siempre va sobre HTTPS en tu caso.

Creo que el problema que tienes para acceder a algunas webs está en que, al haber especificado el modo TRR en 3, sólo se conecta a la página exclusivamente en los casos en los que consigue obtener la validación DNS mediante DNSSEC, y si no consigue dicha validación, no se conecta.

🗨️ 23
BocaDePez
BocaDePez

El caso 3 no debería pedir DNSEC obligatoriamente, por lo que he leído, pero puedo estar equivocado. Sí que tienes razón que no parece tener registros DS válidos.

dnssec-analyzer.verisignlabs.com/1337x.to

El problema es si le marco la 2, con la que también he probado, lo mismo, timeout, no da conectado, espera infinita.

🗨️ 22
BocaDePez
BocaDePez
1

¿Te funciona poniendo el modo trr=0 o con otros servidores DNS? Si la respuesta es afirmativa, casi seguro que es por el DNSSEC.

🗨️ 2
BocaDePez
BocaDePez

Se resuelve correctamente con cualesquiera DNS, resuelve hacia Cloudflare.

🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez

A mí me carga bien la página 1377x.to/search/greatest%20american%20hero/1/

Mi ISP es Vodafone, DNS de Cloudflare, he hecho la prueba con trr.mode=3 y con el esni activado y todo bien.

🗨️ 18
BocaDePez
BocaDePez

¿Puedes mirar en el about:networking hacia que IP te ha resuelto?

🗨️ 16
BocaDePez
BocaDePez
🗨️ 12
BocaDePez
BocaDePez
🗨️ 11
BocaDePez
BocaDePez
🗨️ 10
BocaDePez
BocaDePez
🗨️ 9
BocaDePez
BocaDePez
🗨️ 8
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 4
BocaDePez
BocaDePez
1
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez

Esa página es 1377x

La real es 1337x

BocaDePez
BocaDePez
1

¿No es más fácil usar el navegador Opera (VPN activa) o Tor Browser?

🗨️ 9
BocaDePez
BocaDePez

Por favor, lee el último párrafo de mi mensaje inicial.

🗨️ 5
BocaDePez
BocaDePez

Gracias, pero en todo el hilo nadie ha mencionado antes nada respecto al navegador Opera (VPN activa) o Tor Browser. Por eso he preguntado y sigo preguntando.

🗨️ 4
BocaDePez
BocaDePez

Yo uso TOR y puedo acceder a todos los sites bloqueados por mi ISP, por ejemplo `thepiratebay´, `gnula´...

🗨️ 2
BocaDePez
BocaDePez
BocaDePez
BocaDePez
BocaDePez
BocaDePez

Y he contestado, por favor, lee el último párrafo del mensaje original. No se trata de acceder al sitio, eso sabemos todos o casi todos por un medio u otro, el tema es hacerlo con DoH y los fallos que puede dar.

También se puede acceder por tor (y a mi no me es lento), por VPN variadas, por proxy web, con un VPS en otro país, a través de otra IP de Cloudflare, desde otra conexión, etc. No lo ha nombrado nadie de los que estaban mirando DoH porque el tema no es acceder al sitio.

Que si lo que quieres es acceder al sitio, es fácil, las puertas al campo se pueden poner y pueden ser molestas, pero en ningún caso efectivas al 100%.

BocaDePez
BocaDePez

El objetivo de doh, sni cifrado, etc es el poder abrir sitios como 1337x sin tener que usar un proxy.

🗨️ 1
BocaDePez
BocaDePez

De eso nada, que se pueda usar para ello no se discute, pero el DOH se creo para garantizar que en las comunicaciones no fuese aprovechable tecnicas con el Man In The Middle en entornos empresariales mas que nada. Pero parece que a los que mas molesta el uso del DOH es a los que pueden crear MITM en entornos domésticos, los posts de algunos en este hilo dejan bien claro que así es, por algo será.

BocaDePez
BocaDePez

Opera también tiene la opción de DoH

opera://flags/#opera-doh

BocaDePez
BocaDePez

Qué operadoras bloquean qué webs?

🗨️ 5
BocaDePez
BocaDePez

Todas (en teoría) bloquean las webs según las órdenes de los jueces (ley sinde, creo?)

🗨️ 4
BocaDePez
BocaDePez

Algún ejemplo demostrable?

🗨️ 2
BocaDePez
BocaDePez

Y no sólo webs piratas, sino también críticas con el gobierno:

meneame.net/story/montilla-accion-losbur…lefonica-ono

El caso de losburrales.com fue sonado hace años, creo recordar que no pasó más que por orden ministerial y cierre. Luego salió el que la había bloqueado en una entrevista diciendo que él nunca había hecho eso.

La censura tiene casi tantos años como la prostitución.

BocaDePez
BocaDePez

A ver quien tiene ganas de, investigando los rangos de IP de Cloudflare, decir en función de la operadora, qué IPs tienen baneadas:

cloudflare.com/ips/

Y en función de eso, generar un archivo con rutas hacia otras IP, ya que, la forma de funcionar de Cloudflare, te admite conectar desde (creo que casi) cualquier IP.

Era una cosa que iban a cambiar me parece, pero sigue funcionando de momento.

🗨️ 6
BocaDePez
BocaDePez

Con nmap lo puedes hacer automáticamente en cuestión de horas. Por si a alguien le interesa... a mí personalmente me da igual.

🗨️ 1
BocaDePez
BocaDePez

Lo sé, pero sólo tengo conexión con O2. Habría que probar todas las operadoras.

BocaDePez
BocaDePez

Por si a alguien le interesa, con iptables en GNU/Linux se puede hacer un DNAT para saltarse el filtrado a ciertas IP, de modo que se redirija a otras. Por ejemplo:

iptables -t nat -A OUTPUT -p tcp -d LaIPBloqueada -j DNAT --to-destination OtraIPQueFuncione

No pongo IP reales porque esto lo pongo con fines didácticos y lo digo en serio, soy profesor y voy a utilizar el ejemplo en el aula viendo los pasos con Wireshark.

🗨️ 3
BocaDePez
BocaDePez

Y añado otro dato interesante, en el caso de 1337x.to el bloqueo parece sólo por IP, ni DNS, ni análisis del SNI, ni nada. No lo aseguro porque estoy haciendo pruebas con iptables y ahora mismo no me deja ver bien los filtros con -L.

BocaDePez
BocaDePez
1

Tampoco hay que liarse tanto con las IPTables, con crear una entrada en Windows o Linux en el archivo Host harías lo mismo y sin redireccionar.

🗨️ 1
BocaDePez
BocaDePez

Sí, pero si quieres usar ESNI y la resolución no pasa por el /etc/host tienes que hacerlo con iptables.

Para que funcione el encrypted sni, tienes que activar también trr, es una restricción de firefox.

BocaDePez
BocaDePez
1

Stubby es una buena solución para configurar servidores DNS over TLS en Linux, aunque tiene dos problemas:

1- Stubby no tiene la posibilidad de cachear las DNS, con lo cual las peticiones tardan más de lo que deberían. Esto se puede solucionar utilizando dnsmasq para la caché de las direcciones, y reenviando a Stubby las que no están en caché.

2- Stubby de momento no tiene implementado el SNI cifrado, de modo que muchas de nuestras peticiones DNS no son privadas. Lo bueno de Firefox es que sí se puede activar el SNI cifrado.

🗨️ 7
BocaDePez
BocaDePez

Si Stubby es un servidor DNS, es normal que no implemente el SNI cifrado: el SNI cifrado debe ser implementado por las aplicaciones, no por el servidor DNS.

🗨️ 6
BocaDePez
BocaDePez
1

El SNI cifrado debe estar implementado en ambas partes para que funcione, en el cliente y en el servidor.

Además, en este caso, Stubby hace las dos funciones, de cliente (contra el servidor DNS externo, por ejemplo Quad9 o Clouflare), y también de servidor (Linux ve a Stubby como un sevidor) En realidad es un intermediario que utilizamos para enviar las peticiones DNS sobre TLS, ya que Linux no soporta esta función de manera nativa.

🗨️ 5
BocaDePez
BocaDePez
1
🗨️ 4
BocaDePez
BocaDePez
1
🗨️ 3
BocaDePez
BocaDePez
1
🗨️ 2
BocaDePez
BocaDePez
1
🗨️ 1
BocaDePez
BocaDePez
1
BocaDePez
BocaDePez

Interesante, aunque no me he enterado ni de la mitad

BocaDePez
BocaDePez

Yo sigo sin conseguir que funcione con O2 y última versión de firmware con router Askey y firmware n55_5, no hay manera, ¿podría el autor original del post decir de que manera ha establecido la configuración de los DNS en la configuración del router en los apartados Configuración LAN y en DNS? No estaría mal limpiar el post o crear uno nuevo con los pasos a seguir para beneficio de la comunidad.

Se agradece la información de este hilo.

🗨️ 14
BocaDePez
BocaDePez

Soy el autor del hilo original, sólo lo he cambiado temporalmente en mi ordenador en el /etc/resolv.conf. Además, tengo otro router conectado al de O2 desde donde pongo mi configuración.

🗨️ 13
BocaDePez
BocaDePez

Pues en mi caso es rarisimo, en la configuración del router no tengo establecido el servidor 1.1.1.1 en estos momentos, ni en la configuración LAN ni en DNS, ni siquiera en las propiedades de la conexión en un sistema con Windows 10 y antes de salir de casa hace unos minutos el test me paso 3 de 4, todas menos el uso de Secure DNS, y ahora al volver me dice que estoy usando el servidor DNS 1.1.1.1 y solo pasa 2 de 4, el Encrypted SNI a veces funciona a veces no.

🗨️ 11
BocaDePez
BocaDePez

Mete trr, 1.1.1.1 en el bootstrap, el mode a 3 y prueba.

Evidentemente el esni tambień activado.

Ojo, sin trr.mode activado, el esni no se activa aunque lo tengas marcado, es cosa de los de mozilla, lo han puesto de momento así.

🗨️ 10
BocaDePez
BocaDePez
🗨️ 9
BocaDePez
BocaDePez
🗨️ 8
BocaDePez
BocaDePez
superllo
🗨️ 3
BocaDePez
BocaDePez
🗨️ 2
BocaDePez
BocaDePez
1
🗨️ 1
BocaDePez
BocaDePez
Josh
1
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
Josh
BocaDePez
BocaDePez

El enlace anterior contiene enlace referido/patrocinado añadido automáticamente por la web. Si alguien quiere buscarlo en amazon, la referencia es: B01K6MHRJI

Spyd

Por si alguien le interesa, lo que hago yo en estos casos, y siempre que es algo no importante*, es usar un proxy gratuito.

Ejemplo: www.zippyshare.com da un error 403 cuando lo intentas visitar desde Movistar.

Solución: te vas a www.free-proxy.com, introduces la dirección en el formulario, y ya funciona.

*No uses un proxy gratuito nunca para nada que pueda contener la más mínima traza de datos personales, ya que estos proxys capturan el 100% de los datos de navegación que haces a través de ellos, con lo que usar un sitio que requiera usuario y contraseña tiene enormes posibilidades de que te roben dicha cuenta.

🗨️ 1
BocaDePez
BocaDePez

Los proxies http o socks no pueden capturar los contenidos de una conexión https que pasa por ellos. Sólo las direcciones IP a las que conectas.