17 de septiembre de 2007

Navegación Anónima con Iceweasel y TOR en Debian Etch

Tor según su página web "es un conjunto de herramientas para un amplio abanico de organizaciones y personas que quieren mejorar su seguridad en Internet. Usar Tor puede ayudarte haciendo anónima la navegación y publicación web, mensajería instantánea, IRC, SSH y demás aplicaciones que usan el protocolo TCP."

Esta guía es una adaptación de las instrucciones de instalación que aparecen en su página oficial y ésta otra, adaptadas a Debian Etch.


1. Nos logueamos como root en una terminal (KONSOLE) y añadimos los siguientes repositorios:

$ su -
password:

# vi /etc/apt/sources.list - Añadimos las siguientes líneas al final del fichero:
# TOR
deb http://mirror.noreply.org/pub/tor etch main
deb-src http://mirror.noreply.org/pub/tor etch main

# gpg --keyserver subkeys.pgp.net --recv 94C09C7F
gpg: requesting key 94C09C7F from hkp server subkeys.pgp.net
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 94C09C7F: public key "Peter Palfrader" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1

# gpg --fingerprint 94C09C7F
pub 1024D/94C09C7F 1999-11-10
Key fingerprint = 5B00 C96D 5D54 AEE1 206B AF84 DE7A AF6E 94C0 9C7F
uid Peter Palfrader
uid Weasel
uid Peter Palfrader
uid Peter Palfrader
uid Peter Palfrader
uid [jpeg image of size 7974]
sub 1024D/AFA44BDD 2003-07-09 [expires: 2008-08-02]
sub 2048g/E8F4A328 2003-07-09 [expires: 2008-08-02]

# gpg --export 94C09C7F | apt-key add -
OK


2. Actualizamos la lista de los repositorios e instalamos TOR.

# aptitude update
Des:1 http://ftp.fr.debian.org etch Release.gpg [378B]
Des:2 http://mirror.noreply.org etch Release.gpg [189B]
Obj http://mirror.noreply.org etch Release

Des:3 http://security.debian.org etch/updates Release.gpg [189B]
Obj http://ftp.fr.debian.org etch Release

Obj http://security.debian.org etch/updates Release

Ign http://mirror.noreply.org etch/main Packages/DiffIndex

Ign http://ftp.fr.debian.org etch/main Packages/DiffIndex

Ign http://security.debian.org etch/updates/main Packages/DiffIndex

Ign http://mirror.noreply.org etch/main Sources/DiffIndex
Ign http://mirror.noreply.org etch/main Packages

Ign http://ftp.fr.debian.org etch/contrib Packages/DiffIndex

Ign http://security.debian.org etch/updates/contrib Packages/DiffIndex

Ign http://security.debian.org etch/updates/non-free Packages/DiffIndex

Ign http://security.debian.org etch/updates/main Sources/DiffIndex
Ign http://mirror.noreply.org etch/main Sources

Ign http://security.debian.org etch/updates/contrib Sources/DiffIndex
Ign http://security.debian.org etch/updates/non-free Sources/DiffIndex

Obj http://security.debian.org etch/updates/main Packages
Ign http://ftp.fr.debian.org etch/non-free Packages/DiffIndex

Obj http://mirror.noreply.org etch/main Packages

Obj http://security.debian.org etch/updates/contrib Packages

Obj http://security.debian.org etch/updates/non-free Packages

Obj http://mirror.noreply.org etch/main Sources

Ign http://ftp.fr.debian.org etch/main Sources/DiffIndex
Obj http://security.debian.org etch/updates/main Sources
Obj http://security.debian.org etch/updates/contrib Sources

Obj http://security.debian.org etch/updates/non-free Sources

Ign http://ftp.fr.debian.org etch/contrib Sources/DiffIndex
Ign http://ftp.fr.debian.org etch/non-free Sources/DiffIndex
Obj http://ftp.fr.debian.org etch/main Packages

Obj http://ftp.fr.debian.org etch/contrib Packages

Obj http://ftp.fr.debian.org etch/non-free Packages

Obj http://ftp.fr.debian.org etch/main Sources

Obj http://ftp.fr.debian.org etch/contrib Sources
Obj http://ftp.fr.debian.org etch/non-free Sources

Descargados 191B en 3s (51B/s).

Leyendo lista de paquetes... Hecho

# aptitude install tor
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho

Leyendo la información de estado extendido

Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán automáticamente los siguientes paquetes NUEVOS:
doc-base privoxy socat tsocks
Se instalarán los siguiente paquetes NUEVOS:
doc-base privoxy socat tor tsocks

0 paquetes actualizados, 5 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 2759kB de ficheros. Después de desempaquetar se usarán 6287kB.
¿Quiere continuar? [Y/n/?] y
Escribiendo información de estado extendido... Hecho

Des:1 http://mirror.noreply.org etch/main tor 0.1.2.17-1~~etch.1 [985kB]
Des:2 http://ftp.fr.debian.org etch/main doc-base 0.7.21 [34,7kB]

Des:3 http://ftp.fr.debian.org etch/main privoxy 3.0.6-2 [1284kB]

Des:4 http://ftp.fr.debian.org etch/main tsocks 1.8beta5-3 [242kB]

Des:5 http://ftp.fr.debian.org etch/main socat 1.4.3.1-1 [213kB]
Descargados 2759kB en 37s (73,2kB/s).

Seleccionando el paquete doc-base previamente no seleccionado.

(Leyendo la base de datos ...
99679 ficheros y directorios instalados actualmente.)
Desempaquetando doc-base (de .../doc-base_0.7.21_all.deb) ...
Seleccionando el paquete privoxy previamente no seleccionado.

Desempaquetando privoxy (de .../privoxy_3.0.6-2_i386.deb) ...

Seleccionando el paquete tsocks previamente no seleccionado.

Desempaquetando tsocks (de .../tsocks_1.8beta5-3_i386.deb) ...

Seleccionando el paquete tor previamente no seleccionado.

Desempaquetando tor (de .../tor_0.1.2.17-1~~etch.1_i386.deb) ...

Seleccionando el paquete socat previamente no seleccionado.

Desempaquetando socat (de .../socat_1.4.3.1-1_i386.deb) ...

Configurando doc-base (0.7.21) ...

(re)registering 37 documents from /usr/share/doc-base ...

error in control file: `Index' value missing for format `info' at
/usr/sbin/install-docs line 709, line 16.


Configurando privoxy (3.0.6-2) ...

Starting filtering proxy server: privoxy.


Configurando tsocks (1.8beta5-3) ...
Configurando tor (0.1.2.17-1~~etch.1) ...

Raising maximum number of filedescriptors (ulimit -n) to 8192.

Starting tor daemon: tor...
Sep 01 02:49:46.179 [notice] Tor v0.1.2.17. This is experimental software. Do not
rely on it for strong anonymity.

Sep 01 02:49:46.182 [notice] Initialized libevent version 1.1a using method epoll.
Good.

Sep 01 02:49:46.183 [notice] Opening Socks listener on 127.0.0.1:9050

done.


Configurando socat (1.4.3.1-1) ...



3. Configuramos privoxy para que utilice TOR:

# vi /etc/privoxy/config

Comentar ésta línea situada en la posición 429 (comentar es poner una "#" delante):
# logfile logfile

Seguramente ya tenemos ésta línea (posición 459) comentada. En caso contrario, comentarla:
# jarfile jarfile

Añadir a la altura de la línea 1074. El punto al final de la línea es indispensable ponerlo.
forward-socks4a / localhost:9050 .


4. Reiniciamos Privoxy para que coja la nueva configuración:
# /etc/init.d/privoxy restart


5. Instalamos la extensión Torbutton a nuestro navegador Iceweasel:
https://addons.mozilla.org/es-ES/firefox/addon/2275


6. Una vez instalado reiniciamos el navegador Iceweasel. Nos aparecerá en la esquina inferior derecha un recuadro que pone en letras rojas "Tor Disabled". Si queremos navegar de forma anónima picamos sobre él y nos pasará a color verde las letras "Tor Enabled".



7. Comprobamos que TOR está activado accediendo al siguiente enlace:

http://torcheck.xenobite.eu/

Si vemos la pantalla siguiente, significa que TOR está activado:


De lo contrario veremos ésta otra:



Más información:
http://tor.eff.org/docs/tor-doc-unix.html.es
http://tor.eff.org/index.html.es
http://wiki.noreply.org/noreply/TheOnionRouter/TorOnDebian


Saludos y Suerte.
Domi - Gran Canaria (Islas Canarias)

11 comentarios:

Anónimo dijo...

Excelente tutorial. Hace tiempo que uso tor, pero últimamente tengo un problema con la firma para aptitude. Mi salida es esta:

gpg --keyserver subkeys.pgp.net --recv 94C09C7F
gpg: requesting key 94C09C7F from hkp server subkeys.pgp.net
gpgkeys: key 94C09C7F not found on keyserver
gpg: invalid radix64 character 2E skipped
gpg: invalid radix64 character 3A skipped
gpg: invalid radix64 character 5F skipped
gpg: invalid radix64 character 2E skipped
gpg: invalid radix64 character 2E skipped
gpg: invalid radix64 character 2D skipped
gpg: invalid radix64 character 3A skipped
gpg: invalid radix64 character 3B skipped
gpg: malformed CRC
gpg: read_block: read error: invalid keyring
gpg: Total number processed: 0

No sé donde puede estar el problema. ¿Alguna idea?

Gracias por anticipado.

Romario dijo...

Hola. No se me ocurre mucho.
Acabo de probar otra vez el comando y me responde bien.
¿uilizas Debian Etch?
¿estás ejecutando la orden como root?

La página en la que me basé es la siguiente:
http://wiki.noreply.org/noreply/TheOnionRouter/TorOnDebian

Simplemente he hecho lo que dice y a mi me ha funcionado.
Ésta firma es utilizada por apt en las versiones superiores a la 0.6.x.

Saludos suerte.
Domi

Anónimo dijo...

Gracia por responder :)

Uso Debian Etch y por supuesto ejecuto el comando com root. También seguí el tutorial de http://wiki.noreply.org/noreply/TheOnionRouter/TorOnDebian y por eso creo que el problema está en la configuración de gpg o en algo relacionado con la codificación:

LANG=es_ES.ISO-8859-15@euro
LANGUAGE=es_ES.ISO-8859-15@euro
LC_ALL=es_ES.ISO-8859-15@euro

Y más cosas, el mensaje de aptitude cada vez que actualizo:

GPG error: http://mirror.noreply.org etch Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY CFF71CB3AFA44BDD

También busqué un poco en google y encontré algo sobre una sub-clave, pero tampoco me llevó a ningún resultado. La consecuencia es que tengo que instalar las sucesivas versiones de tor de una fuente posiblemente fiable pero no firmada :|

En fín, lo mejor es que se hable de ello en algún sítio porque puede que le pase a alguien más.

Gracias de nuevo :)

Romario dijo...

Hola de nuevo. El directorio de las llaves creo que /root/.gnupg.
Te listo el contenido del mio y compara con lo que tienes.

~/.gnupg# ll
total 716
-rw------- 1 root root 358739 2007-09-01 02:48 pubring.gpg
-rw------- 1 root root 358739 2007-09-01 02:48 pubring.gpg~
-rw------- 1 root root 0 2007-05-30 11:45 secring.gpg
-rw------- 1 root root 1200 2007-09-01 02:48 trustdb.gpg

Borra el archivo trustdb.gpg que creo que es el que está relacionado. Haz una copia de seguridad por si acaso te deja de funcionar las llaves de los repositorios oficiales de Debian Etch.

Una vez borrado, vuelve a ejecutar los pasos a ver si hay suerte.

Yo tengo ésta codificación:
LANG=es_ES.UTF-8

Suerte.

Romario dijo...

Mira éste enlace. Aparece la llave que necesitas, pero no se ahora mismo como la puedes importar.
http://keyserv.nic-se.se:11371/pks/lookup?op=index&search=Peter+Palfrader

Es la que te pone:
pub 1024D/94C09C7F 1999-11-10 Peter Palfrader

Si picas sobre 1024D/94CP9C7F la verás.

Creo que copiando toda esa llave en un archivo de texto en tu pc y ejecutando la órden "gpg --import archivo_clave" puede que funcione.
Luego ejecuta el comando "gpg --export 94C09C7F | apt-key add -" a ver si hay suerte.

Saludos.

Anónimo dijo...

¡Bingo! :)

Efectivamente cuando se tiene un problema lo mejor es hablar de el :)

La solución que he encontrado es bajar a un fichero local la clave pública de Peter Palfrader que se obtiene de http://keyserver.noreply.org/ con los campos Search String: Peter Palfrader y retrieve ascii-armored keys (el campo Show PGP "fingerprints" for keys desactivado)

Una vez hecho esto hago:

gpg --import peter_palfrader.asc
gpg: key 25135F7A: public key "Peter Palfrader (Jabber ID) <weasel@jabber.noreply.org>" imported
gpg: key 3CD35EBA: public key "Peter Palfrader (Jabber ID) <weasel@jabber.noreply.org>" imported
gpg: key C82E0039: "Peter Palfrader" 6 new signatures
gpg: key C8B76BD3: public key "Peter Palfrader (remote email signing key) <peter@palfrader.org>" imported
gpg: key 125430CC: public key "Peter Palfrader (Usenet signing key) <lusenet-200202@valiant.palfrader.org>" imported
gpg: key 30FF2BEB: public key "Peter Palfrader (Jabber ID) <weasel@jabber.noreply.org>" imported
gpg: key 744E9E5C: public key "Peter Palfrader (Jabber ID) <weasel@jabber.noreply.org>" imported
gpg: key 94C09C7F: "Peter Palfrader" 5 new user IDs
gpg: key 94C09C7F: "Peter Palfrader" 2215 new signatures
gpg: key 94C09C7F: "Peter Palfrader" 3 new subkeys
gpg: key D1A3A329: "Peter Palfrader <peter@palfrader.org>" not changed
gpg: key 46D71B75: public key "Peter Palfrader <palfrader@writeme.com>" imported
gpg: key 36AFF58A: public key "Peter Palfrader <palfrader@writeme.com>" imported
gpg: key 1D9B39C1: public key "Peter Palfrader <palfrader@writeme.com>" imported
gpg: Total number processed: 12
gpg: imported: 9 (RSA: 2)
gpg: unchanged: 1
gpg: new user IDs: 5
gpg: new subkeys: 3
gpg: new signatures: 2221
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u

Lo siguiente es lo habitual:

gpg --fingerprint 94C09C7F
pub 1024D/94C09C7F 1999-11-10
Key fingerprint = 5B00 C96D 5D54 AEE1 206B AF84 DE7A AF6E 94C0 9C7F
uid Peter Palfrader
uid Weasel <weasel@netalive.org>
uid Peter Palfrader <weasel@debian.org>
uid Peter Palfrader <peter@palfrader.org>
uid Peter Palfrader <ppalfrad@cosy.sbg.ac.at>
uid [jpeg image of size 7974]
sub 1024D/AFA44BDD 2003-07-09 [expires: 2008-08-02]
sub 2048g/E8F4A328 2003-07-09 [expires: 2008-08-02]

y

gpg --export 94C09C7F | apt-key add -
OK

;)

¡¡GRACIAS!!

Anónimo dijo...

Bueno, parece que hemos encontrado de forma independiente y simultánea la misma solución al problema. Aunque parezca increible esas cosas pasan :D

En el servidor keyserv.nic-se.se la versión es SKS 1.0.9, mientras que en keyserver.noreply.org es SKS 1.0.10 Salvo eso lo demás es igualito :)

Lo que ocurre es que soy un pelín lento posteando y mientras yo escribía uno tú escribias dos :)

Muchas gracias de nuevo.

Por cierto (y esto es OT total) pero ya que estamos hablando de firmas criptográficas.. ¿Has visto ya lo que están haciendo con el SHA1 los de Kriptópolis?

Anónimo dijo...

Hola, excelente tutorial.
Nunca habia usado tor, y se me hace interesante asi que decidí instalarlo y todo iba muy bien hasta el punto 3 ya que no existe el directorio:

etc/privoxy/config

A que se deberá?

gracias.

Anónimo dijo...

Listo, no me fijé que no se había instalado privoxy

etc/privoxy/config

todo funcionamuy bien, saludos y gracias

Anónimo dijo...

Perfecto.

viagra online dijo...
Este comentario ha sido eliminado por un administrador del blog.