Por defecto, Privoxy, Polipo y TOR vienen configurados para iniciar su servicio únicamente en la máquina local donde se ejecutan, sin embargo es posible cambiar este comportamiento y permitir que otras maquinas puedan utilizar TOR y uno o varios Proxy SOCKS para acceder a la red de TOR de forma centralizada, de este modo, si se tiene la necesidad de brindar acceso a múltiples usuarios a la red de TOR, no será necesario realizar una instalación en cada una de las máquinas de los clientes, en lugar de esto, dichas máquinas utilizarán un servicio ya iniciado en una máquina en el segmento de red que actuará como servidor proxy para las demás que se encuentran en el mismo segmento de red, evitando de esta forma, múltiples instalaciones de software sobre cada una de las maquinas, lo que evidentemente puede conllevar a un pequeño “infierno” de soporte en la medida que el número de usuarios (y de instalaciones) aumente.

Por esta razón, se indica el procedimiento a seguir para configurar un servidor proxy SOCKS y TOR como servicio accesible por otras maquinas en el segmento de red, se trata de un procedimiento sencillo que involucra la configuración de Polipo y TOR

  1. Configuración de Polipo:

    En primer lugar es necesario indicar a Polipo que debe “abrir” el servicio al segmento de red en donde se encuentra ejecutándose, permitiendo de esta forma, que otras maquinas puedan ver el puerto abierto y realizar conexiones con él, para llevar a cabo esta configuración es necesario utilizar las siguientes opciones en el fichero de configuración de Polipo (normalmente ubicado en /etc/polipo/conf):

    # proxyAddress = «::0» # both IPv4 and IPv6

    proxyAddress = «0.0.0.0»

    # IPv4 only

    #proxyAddress = «127.0.0.1»

    proxyPort = 8123


    # If you do that, you’ll want to restrict the set of hosts allowed to

    # connect:

    # allowedClients = «127.0.0.1, 134.157.168.57»

    # allowedClients = «127.0.0.1, 134.157.168.0/24»

    allowedClients = 127.0.0.1, 192.168.1.0/24


    allowedPorts = 1-65535

    En el fichero de configuración anterior se han definido en negrita las opciones más importantes, en principio para que esto funcione como debe, la opción proxyAddress debe tener el valor correspondiente tipo de red (IPv4 o IPv6) tal como se enseña en los comentarios, por otro lado las propiedades allowedClients y allowedPorts indican las maquinas y los puertos que pueden acceder al servicio, en este caso se indica solamente el segmento de red local.

  2. Configuración de TOR:

    Para configurar TOR y habilitarlo “al publico” es necesario indicar las siguientes opciones de configuración

    SocksListenAddress 192.168.1.33:9100

    SocksPolicy accept 192.168.1.0/24

    SocksPolicy accept 127.0.0.1

    SocksPolicy reject *

    El fichero de configuración recomendado, utilizaría un relay y hidden services, por ejemplo el resultado final del fichero de configuración de TOR de las ultimas entradas en este blog tiene el siguiente contenido

    ContactInfo adastraTORY at gmail dot com

    ControlPort 9051

    DataDirectory /home/adastra/tor

    ExitPolicy accept *:80,accept *:443,accept *:110,accept *:143,accept *:993,accept *:995,reject *:*

    HashedControlPassword 16:E73A00A7CC2A2F3F601B4B2DF5651F36744DBE0C96C26A0574DF63238A

    HiddenServiceDir /home/adastra/hidden_service_tomcat/

    HiddenServicePort 80 127.0.0.1:8080

    HiddenServiceDir /home/adastra/hidden_service_ssh/

    HiddenServicePort 22 127.0.0.1:22

    Log notice stdout

    Nickname AdastraTORY

    ORPort 443

    RelayBandwidthBurst 10485760

    RelayBandwidthRate 5242880

    SocksListenAddress 127.0.0.1

    #Central Service

    SocksPort 9050

    SocksListenAddress 192.168.1.33:9100


    SocksPolicy accept 192.168.1.0/24

    SocksPolicy accept 127.0.0.1

    SocksPolicy reject *

    Con este fichero de configuración será suficiente para ejecutar TOR en el segmento de red escuchando por el puerto 9100

  3. Configuración de TorButton

    Ahora solamente es necesario configurar TorButton para que funcione con Polipo, para esto se escribe (suponiendo que el servidor proxy Polipo y TOR se encuentran en ejecución en la máquina 192.168.1.33):

    Proxy HTTP 192.168.1.33 Port 8123
    Proxy SSL 192.168.1.33 Port 8123
    Host SOCKS 192.168.1.33 Port 9100
    SOCKS v5
    No hay proxies para: localhost; 127.0.0.1; <local>

  4. Torify de peticiones

    Finalmente, se puede ejecutar cualquier aplicación con TOR utilizando Torsocks, por ejemplo, se puede utilizar lynx para verificar el funcionamiento de TOR desde linea de comandos:

    >usewithtor lynx https://check.torproject.org/

    Lynx es un navegador web por linea de comandos, la ejecución anterior (si todo esta correctamente configurado) debería enseñar un mensaje indicando que el navegador web utiliza TOR

Por otro lado, en el caso de que se utilice Privoxy en lugar de Polipo, se puede emplear el mismo mecanismo, solamente que las opciones de configuración cambian en el caso de Privoxy, no obstante los demás pasos permanecen igual, en concreto es necesario editar el fichero de configuración de privoxy (normalmente ubicado en /etc/privoxy/config) y establecer la opción listen-address escribiendo la dirección IP asignada en el segmento de red, (no vale la dirección local que es el valor por defecto) solamente es necesario incluir la siguiente linea

listen-address 192.168.1.33:8118

Suponiendo que la dirección IP de la maquina donde se ejecuta Privoxy sea la 192.168.1.33 esta opción normalmente se encuentra en el fichero de configuración por defecto en la sección “# 4.1. listen-address”