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-…i-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:
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
https://mozilla.cloudflare-dns.com/dns-query
https://dns.google.com/experimental
https://dns.quad9.net/dns-query
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
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?