Resolviendo nombres con Tor
El protocolo DNS tiene su tiempo, los RFC que lo definen, 1034 (conceptos e instalaciones) y 1035 (implementación y especificación) datan del 1987 y como en todos los protocolos de la época la seguridad brilla por su ausencia, cualquiera que sniffe la red puede ver que dominios visita alguien, ya no digamos quien provea el servidor DNS, pero poca solución tiene a corto plazo, Internet depende de este sistema de nombres y no hay otro sistema mejor que disponga de la infraestructura necesaria, no?
Resulta que la interfaz SOCKS de los proxy Tor ofrece
una opción no estándar (punto 2)
que permite usar esta red para resolver nombres, se puede acceder a esta
funcionalidad a través de la línea de comandos con tor-resolve
,
esta capacidad de la red se puede explotar para montar un servidor DNS privado
que no filtre que dominios se buscan (eso sí, necesitará un punto de acceso
a la red Tor, claro).
Utilizando Twisted es sencillo montar este servidor
DNS que utilice Tor como backend para realizar las búsquedas (aunque estas
estarán limitadas a los campos A y AAAA),
esto es lo que implementa Onion-dir
(En Gitorious | En Github).
Esto se puede usar añadiendo DNSPort 53
al archivo /etc/tor/torrc
,
por último decir que el rendimiento es bastante mejor que el esperado, un
bind9
en local tarda ~52s en resolver las IP de las "100 webs más populares"
mientras que Tor lo hace en ~58s (ambos casos con la caché vacía), con la
caché llena los tiempos para ambos casos son de ~2.8s, pero aún da problemas
resolviendo dominios como _xmppconnect.gmail.com, el servidor XMPP
de Google, dominio que por otro lado realmente no existe.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Y ese parece el único problema grave que queda...