Mejorando el uso del Tor con Privoxy y Squid

Iniciado por ANTRAX, Julio 18, 2015, 08:18:02 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Tor (The Onion Router) es una implementación libre de un sistema de encaminamiento llamado onion routing que permite a sus usuarios comunicarse en Internet de manera anónima. Originado en el US Naval Research Laboratory y hasta noviembre de 2005 patrocinado por la Electronic Frontier Foundation, Tor es desarrollado por Roger Dingledine y Nick Mathewson junto con otros desarrolladores.

Tor provee un canal de comunicación anónimo y está diseñado para ser resistente a ataques de análisis de tráfico (traffic analysis). Por lo tanto, usando Tor es posible realizar una conexión a un equipo sin que este o ningún otro tenga posibilidad de conocer el número de IP de origen de la conexión.

Tor es usualmente combinado con Privoxy para acceder a páginas web de forma anónima y segura. Privoxy es un proxy HTTP diseñado para proteger la privacidad en la navegación de internet. La interfaz de Tor es un proxy SOCKS (usualmente en el puerto 9050).

En este manual les daré dos variantes para integrarlo a  SQUID, la 1ra es la básica y la 2da es para cuando el squid es hijo de otro proxy.

Para las dos variantes instalaremos los paquetes correspondientes: tor, privoxy y squid, yo realicé esta instalación en Ubuntu 9.10 Karmic Koala y en los repos de esta versión ya no se encontraba el paquete tor, por lo que agregué los repos del server oficial de tor, no les explicaré la instalación con las fuentes para no alargar el manual,  al que le interese mejor de esta forma lo pueden ver en las documentacion del sitio oficial.

Agregar en el sources.list

Código: bash
sudo nano /etc/apt/sources.list


Esta línea
   
Código: bash
deb http://deb.torproject.org/torproject.org karmic main


Agregar las llaves de los repositorios

Código: bash
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
sudo apt-get update


Actualizar el listado de paquetes
   
Código: bash
sudo aptitude update


Instalar los siguientes paquetes

Código: bash
sudo aptitude install tor privoxy squid


Luego de realizado estos pasos iremos a la 1ra variante.

Variante #1 (Básica)

Configurar el archivo de configuración del privoxy agregando la línea que le pongo + abajo:
   
Código: bash
sudo nano /etc/privoxy/config


#fijar esta linea
   
forward-socks4a / localhost:9050

No olvidar el pto. final (es importante)

En /etc/squid/squid.conf agregar esto:
   
Código: bash
cache_peer 127.0.0.1 parent 8118 7 no-query
acl sites_tor dstdomain "/etc/squid/sites_tor"
cache_peer_access 127.0.0.1 allow sites_tor
never_direct allow sites_tor


Aquí les pongo parte de mi /etc/sites_tor:

.sourceforge.net
code.google.com
googlecode.com
dl.google.com
tools.google.com
download.virtualbox.org
.java.com
.sun.com
.openoffice.org

Hasta aquí fueron los pasos básicos para la integración de Tor, Privoxy y Squid. Ahora les explicaré como montarlo cuando el tor depende de un proxy con autenticación para salir y el squid será hijo de dicho servidor proxy.


2da Variante (Dependiendo tanto el tor como el squid de un proxy con auntenticación)(Ejemplificación generalizada)

Después de haber instalado Tor+Privoxy+Squid y haber agregado la línea de los repos oficiales en el sources.list, haber agregado las llaves de los repos, haber agregado la línea de forwarding en el archivo de configuración de privoxy, pasaremos a configurar el tor y luego el squid.

Abrir el archivo de configuración del tor en /etc/tor/torrc y agregar estas líneas:
   
Código: bash
sudo nano /etc/tor/torrc


Estas son las líneas:
   
Código: text
ControlPort9051
HashedControlPassword 16:622BFE503B16A60560A13CE9BC3F65B66C78048D763BE1AC3A9687CBB0
HttpProxy x.x.x.x:3128
HttpProxyAuthenticator user:password
HttpsProxy x.x.x.x:3128
HttpsProxyAuthenticator user:password
Log notice stdout
ReachableAddresses *:80,*:443
ReachableAddresses reject *:*


nota: De + esta decir que las x es donde deberán poner la ip correspondiente al servidor proxy que este por encima de ustedes. Y en el puerto yo puse el 3128 pero puede que el servidor de ustedes use otro puerto y el user and pass es el usuario y contraseña que tienen que usar en caso de que la comunicación con este servidor proxy sea con autenticación de usuario, en caso contrario las lineas de autenticación no deberán ponerlas. Luego reiniciamos el tor y luego el privoxy:
   
Código: bash
sudo /etc/init.d/tor restart
sudo /etc/init.d/privoxy restart


Ahora pasaremos a configurar el squid, yo les aconsejo hacer un backup de su squid.conf para empezar con uno nuevo.
   
Código: bash
cd /etc/squid
sudo mv squid.conf squid-backup.conf


Con esto renombraron el archivo squid.conf a squid-backup.conf Ahora abriremos uno limpio.
   
Código: bash
sudo nano /etc/squid/squid.conf


Agregaremos todo lo que les pondré, no necesariamente tienen que hacerlo todo como está aquí, lo hacen depende de las necesidades que tengan. Les pondre comentadas las explicaciones de las líneas.
   
Código: text
visible_hostname nameserver
http_port 3128
cache_peer x.x.x.1 parent 3128 0 no-query default login=user:password name=server1
cache_peer 127.0.0.1 parent 8118 7 no-query name=server2
acl sites_tor dstdomain '/etc/squid/sites_tor"
cache_peer_access server1 allow !sites_tor
cache_peer_access server2 allow sites_tor
never_direct allow sites_tor
nonhierarchical_direct os
prefer_direct os
access_log /var/log/squid/access.log
cache_mem 100 MB
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
acl commandline src x.x.x.2
http_access allow commandline
http_access deny all


Esto es parte de lo que contiene mi archivo /etc/squid/sites_tor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta .java.com .sun.com .openoffice.org .sourceforge.net Lueg reinicien el squid
   
Código: bash
sudo /etc/init.d/squid restart



Fuente: armandof



El proxy padre lo agrego cada vez o esta estatico soy novato en ese punto pero donde esa las xx no se que podern si proxy de freeproxy list
Ми повинні мати віру в себе. У цьому і полягає секрет. Навіть коли я був у дитячому будинку і ходили по вулицях у пошуках їжі, щоб жити, навіть тоді, я вважав найбільшим актором в світі. Без абсолютної впевненості, один приречена на провал.