Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Instalación y configuración de Privoxy y Tor.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2014 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector, hace mal uso de éstos.

Introducción.

Este documento describe los procedimientos para configurar un servidor proxy para navegación anónima que puede ser utilizado por todos los anfitriones que integran la red de área local. Se utiliza Privoxy y Tor en ALDOS, CentOS o Red Hat™ Enterprise Linux y derivados de éstos. Lo procedimientos requieren haber leído, estudiado y aplicado con éxito la configuración de un muro cortafuegos como se describe en el documento titulado «Configuración básica de Shorewall».

Acerca de Privoxy.

Privoxy es un equipamiento lógico que sirve como Proxy y que tiene capacidades avanzadas de filtrado para proteger la privacidad, alterar parte del contenido de las páginas visitadas, administrar cookies, controlar accesos y eliminar elementos que rastrean los hábitos de navegación del usuario (beacons), anuncios y banderines publicitarios (banners), ventanas emergentes y otros elementos indeseables. Está basado sobre el código de Internet Junkbuster y se publica bajo los términos de la licencia GNU/GPL.

URL: http://www.privoxy.org/

Acerca de Tor.

Tor (The Onion Router) es un proyecto que tiene como objetivo desarrollar una red de comunicaciones distribuida de baja latencia y superpuesta sobre Internet en la que el encaminamiento de las comunicaciones intercambiados entre los usuarios protejan el anonimato a nivel de red y que mantenga la integridad y el secreto de la información que viaja de esta red. Esta tecnología suele ser utilizada para acceder de manera anónima hacia contenidos y sitios censurados por los ISP o los gobiernos y hacia la denominada red oscura (darknet) o web profunda (deep web).

El proyecto propone el uso de encaminamientos de cebolla de modo que las comunicaciones viajen desde el origen hasta el destino a través de una serie de dispositivos de encaminamiento (routers) especiales denominados como encaminadores de cebolla (onion routers).

Aunque el sistema está diseñado con la flexibilidad necesaria para que pueda implementar mejoras y pueda resistir diferentes tipos de ataque, tiene puntos débiles y dista mucho de considerarse infalible. Sin embargo es la mejor solución disponible para encaminamiento anónimo.

Aunque es imposible lograr un anonimato absoluto de los interlocutores, sí dificulta mucho el poder interceptar las comunicaciones. El grado de dificultad que aporta es proporcional al número de dispositivos de encaminamiento de la ruta utilizada y del número de éstos que sean maliciosos o que han sido comprometidos.

La red depende de un conjunto de organizaciones e individuos que donan parte de su ancho de banda y poder de procesamiento.

URL: http://torproject.org/

Equipamiento lógico necesario.

Genere el grupo de sistema denominado toranon ejecutando lo siguiente:

groupadd -r toranon

Genere el usuario de sistema denominado toranon ejecutando lo siguiente:

useradd -r -c "TOR anonymizing user" \
    -M -d /var/lib/tor -g toranon \
    -s /sbin/nologin toranon

Si utiliza ALDOS o Fedora™, por favor omita el siguiente paso. Si utiliza CentOS o Red Hat™ Enterprise Linux, descargue el archivo de configuración de el almacén YUM de AlcanceLibre.org ejecutando lo siguiente:

wget -N http://www.alcancelibre.org/al/server/AL-Server.repo \
    -O /etc/yum.repos.d/AL-Server.repo

Instale los paquetes privoxy y tor ejecutando lo siguiente:

yum -y install tor privoxy

El directorio /var/run/tor debe pertenecer al usuario y grupo toranon a fin de que sea posible iniciar el servicio y generar y eliminar libremente el archivo /var/run/tor/tor.pid, el cual contiene el número de identidad de proceso que permite ver el estado del servicio y detener, recargar o reiniciar éste. Ejecute lo siguiente:

chown toranon:toranon /var/run/tor

El directorio /var/log/tor —utilizado para almacenar las bitácoras del servicio tor— debe pertenecer al usuario toranon y grupo root. Ejecute lo siguiente:

chown toranon:root /var/log/tor

Este mismo directorio debe tener permisos de lectura, escritura y acceso para usuario y sólo escritura y acceso para grupo. Ejecute lo siguiente:

chmod 730 /var/log/tor

Modificaciones necesarias en el muro cortafuegos.

Es necesario abrir el puerto 8118 por TCP hacia la red de área local.

Servicio iptables.

Asumiendo que la red de área local corresponde a 192.168.70.0/24, puede utilizar directamente el mandato iptables ejecutando lo siguiente:

iptables -A INPUT -s 192.168.70.0/24 -m state --state NEW -m tcp -p tcp \
    --dport 8118 -j ACCEPT

Para guardar los cambios, ejecute lo siguiente:

service iptables save

O bien edite el archivo /etc/sysconfig/iptables:

vi /etc/sysconfig/iptables

Y añada el siguiente contenido:

-A INPUT -s 192.168.70.0/24 -m state --state NEW -m tcp -p tcp --dport 8118 -j ACCEPT

Para aplicar los cambios, reinicie el servicio iptables:

service iptables restart

Shorewall.

Edite el archivo /etc/shorewall/rules:

vi /etc/shorewall/rules

Sí se tienen varias zonas en el muro cortafuegos y sólo se desea permitir el acceso desde la zona correspondiente a red de área local, la regla sería algo similar a lo siguiente:

#ACTION	SOURCE	DEST	PROTO 	DEST		SOURCE
#				PORT		PORT(S)1
ACCEPT	loc	fw	tcp	8118

Al terminar, reinicie el muro cortafuegos ejecutando lo siguiente:

service shorewall restart

Procedimientos.

Edite el archivo de configuración de Privoxy:

vi /etc/privoxy/config

Alrededor de la línea 761 encontrará lo siguiente:

#      Suppose you are running Privoxy on an IPv6-capable machine and
#      you want it to listen on the IPv6 address of the loopback
#      device:
#
#        listen-address [::1]:8118
#
listen-address  127.0.0.1:8118
#
#  4.2. toggle
#  ============
#
#  Specifies:
#
#      Initial state of "toggle" status

Lo anterior específica que se escucharán peticiones sólo a través de 127.0.0.1 utilizando el puerto 8118, lo que significa que sólo el anfitrión local podrá conectarse a Privoxy.

Con la finalidad de que Privoxy escuche peticiones a través de cualquier interfaz de red utilizada por el servidor y que de este modo permita a la red de área local conectarse a éste para poder utilizarlo como servidor proxy, modifique el valor de listen-address cambiando 127.0.0.1:8118 por simplemente dos puntos y el número de puerto 8118, que corresponde al que será utilizado por el servicio:

#      Suppose you are running Privoxy on an IPv6-capable machine and
#      you want it to listen on the IPv6 address of the loopback
#      device:
#
#        listen-address [::1]:8118
#
listen-address :8118
#
#  4.2. toggle
#  ============
#
#  Specifies:
#
#      Initial state of "toggle" status

Agregue la siguiente línea al final del archivo para definir que se utilice 127.0.0.1 y el puerto 9050 —es decir el servicio Tor en el anfitrión local— como servidor Socks versión 5:

#  The "hide-console" option is specific to the MS-Win console
#  version of Privoxy. If this option is used, Privoxy will
#  disconnect from and hide the command console.
#
#hide-console
#
#
#
forward-socks5   /    127.0.0.1:9050 .

El punto al final de la línea es indispensable. De otro modo el servicio fallará al iniciar.

Algunos sitios impiden acceder hacia éstos desde nodos de Tor y otros tantos impiden acceder de manera normal por los frecuentes cambios de dirección IP. Otros sitios sencillamente resulta poco conveniente accederlos a través de cualquier tipo de servidor proxy. Sitios de videos y contenidos similares consumen demasiado ancho de banda para los nodos de Tor.

Todos los dominios que se quiera excluir de la navegación a través de Tor y hacia los cuales se quiera navegar de manera directa, pueden añadirse al final del archivo añadiendo por cada uno una línea con forward y utilizando como argumentos un punto al inicio del nombre del dominio a excluir, un espacio y un punto al final, el cual indica que se realizará conexión directa. Ejemplos:

#  The "hide-console" option is specific to the MS-Win console
#  version of Privoxy. If this option is used, Privoxy will
#  disconnect from and hide the command console.
#
#hide-console
#
#
#
forward-socks5   /    127.0.0.1:9050 .

# Dominios que jamás se navegarán a través de Tor
forward .alcancelibre.org .
forward .akamaihd.net .
forward .facebook.com .
forward .fbcdn.net .
forward .akamaihd.net .
forward .twitter.com .
forward .banamex.com .
forward .banamex.net .
forward .citybank.com .
forward .bbva.com .
forward .bbva.es .
forward .bbva.net .
forward .grupobbva.com .
forward .paypal.com .
forward .google.com .
forward .gstatic.com .
forward .msn.com .
forward .microsoft.com .
forward .live.com .
forward .outlook.com .
forward .skype.com .
forward .com.mx .
forward .edu.mx .
forward .gob.mx .
forward .org.mx .
forward .net.mx .
forward .youtube.com .
forward .ytimg.com .
forward .googlevideo.com .
forward .youtu.be .
forward .ggpht.com .
forward .youtube-nocookie.com .

Si se dispone de otro servidor proxy y se desea utilizar éste para para acceder algunos dominios, se puede hacer algo similar a lo anterior, pero utilizando la dirección y puerto utilizado por ese servidor proxy en lugar de un punto. En el siguiente ejemplo se solicita a Privoxy utilizar un servidor proxy en 127.0.0.1:8080 para algunos sitios y conexión directa para otros (bancos y sector gubernamental):

#  The "hide-console" option is specific to the MS-Win console
#  version of Privoxy. If this option is used, Privoxy will
#  disconnect from and hide the command console.
#
#hide-console
#
#
#
forward-socks5   /    127.0.0.1:9050 .

# Dominios que jamás se navegarán a través de Tor
forward .alcancelibre.org 127.0.0.1:8080
forward .akamaihd.net 127.0.0.1:8080
forward .facebook.com 127.0.0.1:8080
forward .fbcdn.net 127.0.0.1:8080
forward .akamaihd.net 127.0.0.1:8080
forward .twitter.com 127.0.0.1:8080
forward .banamex.com .
forward .banamex.net .
forward .citybank.com .
forward .bbva.com .
forward .bbva.es .
forward .bbva.net .
forward .grupobbva.com .
forward .paypal.com .
forward .google.com 127.0.0.1:8080
forward .gstatic.com 127.0.0.1:8080
forward .msn.com 127.0.0.1:8080
forward .microsoft.com 127.0.0.1:8080
forward .live.com 127.0.0.1:8080
forward .outlook.com 127.0.0.1:8080
forward .skype.com 127.0.0.1:8080
forward .com.mx 127.0.0.1:8080
forward .edu.mx 127.0.0.1:8080
forward .gob.mx .
forward .org.mx 127.0.0.1:8080
forward .net.mx 127.0.0.1:8080
forward .youtube.com 127.0.0.1:8080
forward .ytimg.com 127.0.0.1:8080
forward .googlevideo.com 127.0.0.1:8080
forward .youtu.be 127.0.0.1:8080
forward .ggpht.com 127.0.0.1:8080
forward .youtube-nocookie.com 127.0.0.1:8080

También se puede aplicar un enfoque totalmente contrario a todo lo anterior. Éste consiste en utilizar Tor sólo para una lista selecta de dominios. Ejemplo:

#  The "hide-console" option is specific to the MS-Win console
#  version of Privoxy. If this option is used, Privoxy will
#  disconnect from and hide the command console.
#
#hide-console
#
#
#

# Dominios que se navegarán sólo con Tor
forward-socks5 .torproject.org localhost:9050 .
forward-socks5 .4chan.org localhost:9050 .
forward-socks5 .onion localhost:9050 .
forward-socks5 .taringa.net localhost:9050 .
forward-socks5 .t26.net localhost:9050 .
forward-socks5 .kn3.net localhost:9050 .
forward-socks5 .itaringa.net localhost:9050 .
forward-socks5 .whatismyip.com localhost:9050 .
forward-socks5 .it localhost:9050 .
forward-socks5 .li localhost:9050 .
forward-socks5 .se localhost:9050 .

O bien utilizar otro proxy en la red de área local para todo excepto los bancos y sector gubernamental —que serán accedidos exclusivamente de manera directa— y una lista selecta de dominios que serán accedidos exclusivamente a través de Tor. Ejemplo:

#  The "hide-console" option is specific to the MS-Win console
#  version of Privoxy. If this option is used, Privoxy will
#  disconnect from and hide the command console.
#
#hide-console
#
#
#

# De modo predeterminado todo se navega usando otro servidor proxy
forward / localhost:8080

# Bancos y gobierno se navegan sólo de forma directa
forward .banamex.com .
forward .banamex.net .
forward .citybank.com .
forward .bbva.com .
forward .bbva.es .
forward .bbva.net .
forward .grupobbva.com .
forward .paypal.com .
forward .gob.mx .

# Dominios que se navegarán sólo con Tor
forward-socks5 .torproject.org localhost:9050 .
forward-socks5 .4chan.org localhost:9050 .
forward-socks5 .onion localhost:9050 .
forward-socks5 .taringa.net localhost:9050 .
forward-socks5 .t26.net localhost:9050 .
forward-socks5 .kn3.net localhost:9050 .
forward-socks5 .itaringa.net localhost:9050 .
forward-socks5 .whatismyip.com localhost:9050 .
forward-socks5 .it localhost:9050 .
forward-socks5 .li localhost:9050 .
forward-socks5 .se localhost:9050 .

Inicie el servicio tor ejecutando lo siguiente:

service tor start

Inicie el servicio privoxy ejecutando lo siguiente:

service privoxy start

Agregue tor a los servicios de arranque del sistema ejecutando lo siguiente:

chkconfig tor on

Agregue privoxy a los servicios de arranque del sistema ejecutando lo siguiente:

chkconfig privoxy on

Configure todos los navegadores que utilice dentro de su red de área local para utilizar como servidor proxy, para todos los protocolos, la dirección IP utilizada por el servidor que se acaba de configurar y el puerto 8118.


Configuración de proxies para acceso a Internet en Firefox.

Verifique que está realmente utilizando Tor visitando https://check.torproject.org/?lang=es_ES. Debe mostrarse en su navegador una pantalla similar a la siguiente:


Verificación de de Tor.

Cualquier aplicación que utilice esta misma configuración de proxy está accediendo hacia Internet de manera anónima a través de los distintos nodos de la red de Tor.

Cabe señalar que debido a que se pretende evitar que la red Tor se popularice entre las comunidades de descargas ilegales y se vea inevitablemente saturada, el ancho de banda disponible de la muchos de los nodos suele ser limitado, por lo que muy seguramente la navegación será un poco más lenta de lo habitual durante las horas pico de las regiones geográficas donde se localicen los nodos de salida.

A fin de mejorar el esquema de privacidad que se ha implementado con los procedimientos descritos en este documento, reducir la carga de trabajo sobre Privoxy y obtener un mejor aprovechamiento del ancho de banda, se recomienda utilizar algunos complementos para los navegadores como serían ADBlock Plus y Ghostery.

Control del ancho de banda.

A fin de evitar que se sature el ancho de banda disponible en el enlace, es posible definir que se limite el uso de ésta a través del servicio tor. Edite el archivo /etc/tor/torrc.

vi /etc/tor/torrc

Alrededor de las líneas 107 y 108 encontrará dos ejemplos comentados con almohadillas y que muestran cómo limitar el uso del ancho de banda que podrán utilizar los clientes. El ancho de banda disponible para el propio servidor quedará intacto.

## Define these to limit how much relayed traffic you will allow. Your
## own traffic is still unthrottled. Note that RelayBandwidthRate must
## be at least 20 KB.
## Note that units for these config options are bytes per second, not bits
## per second, and that prefixes are binary prefixes, i.e. 2^10, 2^20, etc.
#RelayBandwidthRate 100 KB  # Throttle traffic to 100KB/s (800Kbps)
#RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps)

Los dos ejemplos combinados limitan el ancho de banda disponible para los clientes a 100 kB/s (alrededor de 800 kbps) permitiendo ráfagas de hasta 200 kB/s (alrededor de 1600 kbps). Las ráfagas se refieren al uso que se puede hacer por unos cuantos segundos como cuando se visita a una página de cualquier sitio o bien se descarga un mensaje de correo electrónico.

Elimine las almohadillas de ambas líneas y asigne el ancho de banda que desee asignar.

## Define these to limit how much relayed traffic you will allow. Your
## own traffic is still unthrottled. Note that RelayBandwidthRate must
## be at least 20 KB.
## Note that units for these config options are bytes per second, not bits
## per second, and that prefixes are binary prefixes, i.e. 2^10, 2^20, etc.
RelayBandwidthRate 384 KB  # Throttle traffic to 384KB/s (3072Kbps)
RelayBandwidthBurst 768 KB # But allow bursts up to 768KB/s (6144Kbps)

Lo anterior limita el ancho de banda disponible para los clientes a 384 kB/s (3072 kbps) permitiendo ráfagas de hasta 768 kB/s (6144 kbps). Es decir, si se accede a una página en algún sitio de Internet, se podrá descargar ésta a una tasa de transferencia de 768 kB/s (6144 kbps), pero si se descarga un archivo grande —como sería el caso de una imagen ISO o una película— o bien se utiliza un servicio que consuma continuamente el ancho de banda —como sería el caso de una estación de radio— la tasa de transferencia se reducirá a 384 kB/s (3072 kbps).

Reinicie el servicio tor para aplicar los cambios.

service tor restart

Espere unos segundos antes realizar comprobaciones a fin de dar tiempo a que el servicio se integre a la red de Tor.

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Última Edición: 13/05/2014, 19:39|Hits: 18,569 Ver la versión para imprimir