Navegar a través de tor puede ser una experiencia anónima mas no necesariamente rápida, para mejorar un poco la velocidad y aumentar la seguridad vamos a utilizar dos programas.
El primero se llama polipo, el cual es un proxy ligero que hará un pequeño cache de las paginas visitadas a través de tor mejorando así la velocidad de carga la próxima vez que visitemos el sitio.
El segundo se llama privoxy, es un proxy que no hace cache y cuya función es filtrar el contenido no deseado además de mejorar la privacidad.
Como podrá observar hay que hay que hacer una cascada con los proxy que permita al usuario disfrutar las ventajas de cada uno de los sistemas.
Esta es la forma final que tendrán las conexiones:
navegador ==> privoxy ==> polipo ==> tor ==> internet
Antes de comenzar a modificar las configuraciones debemos instalar el software que necesitamos:
# apt -y install polipo privoxy tor tor-arm
Ahora abrimos la configuración de tor en /etc/tor/torrc y borramos el contenido para luego colocar este:
## SocksPort para trafico generico SocksPort 9050 IsolateDestAddr IsolateDestPort ## SocksPort para el navegador SocksPort 9151 RunAsDaemon 1 DataDirectory /var/lib/tor CookieAuthentication 1 LearnCircuitBuildTimeout 1 EnforceDistinctSubnets 1 WarnUnsafeSocks 0 DownloadExtraInfo 0 OptimisticData auto UseMicrodescriptors auto UseNTorHandshake auto NumCPUs 0 ServerDNSDetectHijacking 1 ServerDNSRandomizeCase 1 PIDFile /run/tor/tor.pid AvoidDiskWrites 1 VirtualAddrNetworkIPv4 10.192.0.0/10 DNSPort 9053 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit,.onion TransPort 9040 User debian-tor DisableDebuggerAttachment 0 ControlSocket /run/tor/control ControlSocketsGroupWritable 1 CookieAuthFileGroupReadable 1 CookieAuthFile /run/tor/control.authcookie Log notice file /var/log/tor/log
Ahora modificaremos la configuración de polipo en /etc/polipo/config.polipo, con el mismo procedimiento que el anterior, borramos y colocamos el siguiente contenido:
logSyslog = true logFile = /var/log/polipo/polipo.log socksParentProxy = localhost:9151 socksProxyType = socks5 proxyAddress = "127.0.0.1" proxyPort = 8123 allowedClients = 127.0.0.1 allowedPorts = 1-65535 diskCacheRoot = "/var/cache/polipo/" cacheIsShared = false localDocumentRoot = "" proxyName = "localhost" disableLocalInterface = true disableConfiguration = true dnsUseGethostbyname = yes dnsQueryIPv6 = no disableVia = true #censoredHeaders = from,accept-language,x-pad,link #censorReferer = maybe maxConnectionAge = 5m maxConnectionRequests = 120 serverMaxSlots = 8 serverSlots = 2 tunnelAllowedPorts = 1-65535 pidFile = /run/polipo.pid
Como puede observar en la linea numero 3 y 4 se encuentra la conexión con tor, permitiendo que el trafico entrante en polipo tenga su salida a través de la red tor. Ahora realizaremos el mismo procedimiento con privoxy, abriendo /etc/privoxy/config.privoxy y colocando lo siguiente:
user-manual /usr/share/doc/privoxy/user-manual confdir /etc/privoxy logdir /var/log/privoxy actionsfile match-all.action actionsfile default.action actionsfile user.action filterfile default.filter filterfile user.filter logfile logfile hostname privoxy listen-address :8118 toggle 1 enable-remote-toggle 0 enable-remote-http-toggle 0 enable-edit-actions 0 enforce-blocks 0 buffer-limit 4096 enable-proxy-authentication-forwarding 0 forward / 127.0.0.1:8123 forward 192.168.*.*/ . forward 10.*.*.*/ . forward 127.*.*.*/ . forwarded-connect-retries 0 accept-intercepted-requests 0 allow-cgi-request-crunching 0 split-large-forms 0 keep-alive-timeout 5 tolerate-pipelining 1 socket-timeout 300
En este caso la privoxy se conectara a tor a través de polipo como puede verse en la linea 19, luego de realizar estas modificaciones solo falta configurar nuestro navegador para utilizar privoxy agregando los siguientes parámetros a su configuración:
- Dirección: 127.0.0.1 o la ip de la maquina donde estén tor, polipo y privoxy
- Puerto: 8118
Adicionalmente debe confirmar que las siguientes carpetas:
- /var/cache/polipo/
- /var/lib/tor/
- /var/log/polipo/
existan y sean accesibles.
Referencias:
- tor: https://www.torproject.org/
- polipo: http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/
- privoxy: http://www.privoxy.org/
Tagged: optimizaciones, polipo, privoxy, tor
