Configurar YaCy Tor/es

Aus i2pwiki.mk16.de
Zur Navigation springen Zur Suche springen

Introducción[Bearbeiten]

YaCy no reconoce las URLs Tor, por lo que solo puede ser configurado y usado dentro mismo de Tor. Al ser YaCy un buscador P2P es importante configurarlo correctamente para que no envíe URLs (ni información sensible) a la superficie. Por favor configúrelo responsablemente.

Es importante que los pares YaCy en la superficie no puedan, ni quieran recopilar URLs de la red Tor. YaCy tiene dentro de su configuración una lista negra o Blacklist, la cual se activará al usar algo como *.onion/.*.

Es importante saber que todavia no se conocen Listas Negras publicas, por lo que es importante revisar y mantener actualizada la propia, principalmente de aquellos web-proxies como .link y otros.

En los foros de YaCy se trabaja con el tema de Listas Blancas:


Objetivo[Bearbeiten]

Se debe construir una red relativamente segura YaCy independiente, capaz de indexar los servicios ocultos dentro de Tor (Onion). Al mismo tiempo esta debe evitar (ni intentar) agregar paginas de la superficie.

También existe la posibilidad de indexar contenidos mixtos: Tor + I2P.


Ayuda(r)[Bearbeiten]

Si se tienen preguntas, comentarios y aportes, por favor consultar la sección del foro: Komplett getrenntes YaCy-Netz für Tor und I2P? (principalmente en alemán, pero también hay otra en ingles)


1ra Parte - Configurar Tor y Privoxy[Bearbeiten]

Primero se deben instalar Tor y Privoxy. El procedimiento de instalación dependerá de cada sistema operativo. Por favor, lea la documentación que corresponda.


Configurar Tor[Bearbeiten]

Para comenzar se necesitara al menos tener Tor solo como, aunque posteriormente se creara un servicio oculto. La configuracion basica que viene en Tor es suficiente para usarlo inmediatamente, sin embargo, se recomienda editar /etc/tor/torrc) para mejorar la seguridad del sistema.

Se busca la informacion sobre el puerto que se usara para Socks, que normalmente viene dado como

SocksPort 9050

Este se puede cambiar por cualquiera que este disponible en la red. Si lo cambia, debe recordarlo para los siguientes pasos.

Es importante que si se desea usar Tor unicamente con ese ordenador, entonces se deberá fijar Tor para que solo pueda escuchar a localhost

SocksListenAddress 127.0.0.1:9050

Para mejorar aun mas el nivel de seguridad también se recomienda limitar el acceso al puerto de Tor

SocksPolicy accept 127.0.0.0/8
SocksPolicy reject *

La configuracion para ORPort, ORListenAddress, DirPort o DirListenAddress solo se necesita modificar cuando se desee tener un servidor Tor, y por lo mismo deben quedar descomentados.

ControlPort debería quedar descomentado en caso de no necesitar o querer usar ninguna herramienta para la administración de Tor.

Se debe tomar en cuenta solo usar o mantener Logs de Tor con fines de debug (búsqueda de fallos, errores o sospechas) y reducirlos al máximo, de lo contrario se estarán dejando huellas de las propias actividades en la red invisible (muy peligroso y se recomienda borrarlos tan pronto se pueda o usarlos solo temporalmente por periodos muy cortos).

Log notice syslog

Esta es la configuración mínima recomendada, pues deja constancia solo de su estatus en el Systemlog (registro de actividades del sistema). Log notice debe quedar así configurado, o de lo contrario Tor puede no funcionar correctamente. Las opciones pueden ser diferentes, dependiendo del sistema operativo.

Quien quiera sentirse mas seguro con el cliente Tor, puede colocar al principio del archivo de configuración la siguiente linean

ExitPolicy reject *:*

Y al final, de forma opcional

BandwidthRate 50 KB

Esta ultima configuración nos protegerá mejor contra daños causados por eventuales excesos de trafico o conexiones indeseadas.




A continuación, un resumen del archivo de configuración para el cliente Tor (en Linux)

ExitPolicy reject *:*
User tor
Group tor
PIDFile /var/run/tor.pid
SocksPort 9050
SocksListenAddress 127.0.0.1:9050
SocksPolicy accept 127.0.0.0/8
SocksPolicy reject *
Log notice syslog
DataDirectory   /var/lib/tor/data
# ControlPort 9051
# RunAsDaemon 1 ### esto dependera del sistema operativo
BandwidthRate 50 KB


Configurar Privoxy[Bearbeiten]

La siguiente propuesta de configuración para Privoxy/es asume que se usara en exclusiva con Tor.

Primero, se debe editar el archivo de configuracion /etc/privoxy/config). Comprobaremos las siguientes opciones.

Hay que comentar o corregir la opción debug 1 para evitar que deje registros de todas las paginas que se visiten. Es importante que queden reportes solo de errores basicos importantes para el sistema (errores de inicio o de ejecución). Lo mejor es desactivar el registro de toda actividad. En las versiones mas actuales de Privoxy ya viene configurado así.

debug 0 

Hay que controlar que Privoxy sea accesible solo localmente con ayuda de la opción listen-adress.

listen-address 127.0.0.1:8118

Para la presente guía, Privoxy no contempla ser configurado como Filtro de contenidos, sino mas bien como mero Intermediario entre YaCy y Tor. Para desactivar las funciones de filtrado se usan las opciones relacionadas con toggle. Tampoco se necesitaran ninguna de las funciones remotas.

toggle 0
enable-remote-toggle 0
enable-remote-http-toggle 0

La edición de filtrado también se pueden desactivar.

enable-edit-actions 0

Lo mas importante es que todas las llamadas al puerto Socks de Tor (9050) sean aceptadas y re-enviadas correctamente. (No olvidar el punto al final de la linea)

forward-socks4a / 127.0.0.1:9050 .

El valor de forwarded-connect-retries define cuantas veces se debe intentar alcanzar una pagina web. Este valor se puede aumentar un poco para mejorar los resultados. El autor recomienda los valores 2 o 3.

forwarded-connect-retries 2




A continuación un resumen de la configuración propuesta para Privoxy (en Linux)

confdir /etc/privoxy
logdir /var/log/privoxy
actionsfile standard
actionsfile default
actionsfile user
filterfile default.filter
logfile privoxy.log
debug 0
# debug 1 # debug 1 unbedingt auskommentieren!
listen-address 127.0.0.1:8118
toggle  0
enable-remote-toggle 0
enable-remote-http-toggle 0
enable-edit-actions 0
buffer-limit 4096
forward-socks4a / 127.0.0.1:9050 .
forwarded-connect-retries 2


Prueba de Configuración[Bearbeiten]

Antes de seguir con el siguiente paso, de configurar YaCy, es recomendable hacer un test con lo realizado hasta ahora. Se deben re-iniciar tanto Tor como Privoxy.

$ (sudo) service tor restart
$ (sudo) service privoxy restart

Hay que esperar algún tiempo, pues nuestro cliente Tor necesita conectarse a la red Tor. A continuación se debe configurar el navegador para poder usarlo en Tor. Ir a la respectiva seccion referente a uso de Proxy/es y rellenar los campos correspondientes a Host Proxy localhost y el Port Proxy 8118. Ahora se puede probar con paginas de la onionland, como por ejemplo:

Si se consigue alcanzar alguna de esas direcciones con éxito, se puede seguir con la segunda parte de esta guía. De lo contrario se deben revisar los archivos de configuración y los cambios que se han realizado para determinar el posible error y corregirlo. También ayudara revisar la documentación, pues probablemente algunas funciones pueden haber cambiado en versiones recientes de Tor y Privoxy.

Ahora puede volver a quitar la configuración de Privoxy de su navegador, en caso que no desee usarla permanentemente.


2da Parte - Crear un Hidden-Service y configurar YaCy[Bearbeiten]

Solo se debería seguir con esta parte, una vez se halla conseguido con exito aplicar las configuraciones de la primera parte de esta guía.


Configurar un Hidden-Service[Bearbeiten]

Se debe detener Tor. A continuación se edita el archivo de configuración de Tor para usar YaCy como Servicio Oculto.

$ (sudo) nano /etc/tor/torrc
HiddenServiceDir /var/lib/tor/yacy/
HiddenServicePort 8181 127.0.0.1:8181

El valor designado para el Puerto es 8181 y corresponde al que usara posteriormente YaCy.

Después de re-iniciar Tor se encontrara en la carpeta definida en HiddenServiceDir, un nuevo archivo con el nombre de hostname. Dentro de el se encuentra el Hostname o nombre del Host en la onionland (por ejemplo 1a2b3c4d5e6f7g89.onion), que usaremos posteriormente en YaCy.


Configurar YaCy[Bearbeiten]

Introducción[Bearbeiten]

Lo primero que se debe saber, es que existen varias variantes de configuraciones para YaCy. Por ejemplo, a través del archivo yacy.init o de httpProxy.conf. Cada uno debe elegir cual cumple mejor a sus objetivos y, por supuesto, mejor llega a entender.

Para comenzar, hay que descargarse siempre la versión mas actual de YaCy, después descomprimirlo y en ningún caso, iniciarlo, sino primero editar el archivo yacy.init, pues hay que estar muy seguros de que YaCy todavía no ha tomado contacto con ningún otro nodo, ni ha comenzado a indexar contenidos. Se debe tener presente, que la primera vez que se ejecute YaCy, leera el contenido del archivo yacy.init y con ello creara DATA/SETTINGS/httpProxy.conf.

Para la edición de superseed.txt hay varias opciones, pero para evitar que en cada actualización de YaCy, se sobre-escriba y vuelva a crear el archivo superseed.txt se ha escogido un camino diferente.

De acuerdo a la experiencia del autor, este debería ser la solución optima, pero si Usted puede mejorarlo aun mas y ojala nos pueda informar de sus progresos. Pero cuidado, se debe saber muy bien lo que se esta haciendo.

Aquí se asume que es una instalación desde cero, que nunca todavía se ha ejecutado YaCy. En caso contrario, se recomienda mover la configuración actual o incluso borrarla completamente. En ningún caso se debería intentar modificar una configuración pre-existente, ya que existen muchos detalles que no están documentados aquí y que podrían poner en riesgo su nodo YaCy-Tor y comprometer la privacidad o la seguridad de la información, ademas, de no poder evitar eventuales conexiones o integrarse completa o parcialmente en una red de nodos de la superficie.

Y ahora a comenzar. Lo primero es trasladarse a la carpeta en donde se encuentra la instalación de YaCy. Todas las configuraciones propuestas a continuación se basaran en la dirección relativa a la carpeta de YaCy.


Cambiar los Archivos de Configuración[Bearbeiten]

A continuación se debe modificar yacy.init, y con esto se podrá cargar la configuración especifica deseada. En las siguientes instrucciones se ejecutaran solo las configuraciones básicas necesarias.

Lo primero es definir el puerto en el que la instalación del nodo YaCy deberá ser accesible. Se recomienda utilizar un numero de puerto diferente del estándar. Para el presente ejemplo se usara:

port = 8181

También se debe dejar ajustado el tipo de red al que accederá YaCy, pues ya que en una instalación estándar en cada actualización se sobre-escribirán, y YaCy volverá a la superficie, para evitarlo se debe editar:

network.unit.definition = ../yacy.network.unit.tor
network.group.definition = ../yacy.network.group.tor

A causa de que actualmente no se han realizado suficientes pruebas, es recomendable desactivar las actualizaciones automáticas, hasta que se este seguro, que estas no provocaran ningún tipo de problemas, así:

update.process = manual

También es muy importante la renovación de los filtros de la Lista Negra. En lugar de una Lista Negra también se puede usar una Lista Blanca, de esta manera se indexaran solo aquellos dominios que se encuentren admitidos ahí. Así se evita indexar una cantidad increíble de paginas que se encontrarían en la otra Lista. Con esto se estará seguro, que solo los servicios ocultos se indexaran, o sea, solo los dominios .onion. A esto le seguirá la configuración de la respectiva Lista Blanca:

BlackLists.class = de.lulabad.blacklist.advancedWhiteURLPattern

Ahora se debe limitar el acceso directo a la Internet de la instalación YaCy y derivar todo su trafico a través de Privoxy hacia los Servicios Ocultos de la red Tor:

remoteProxyUse = true
remoteProxyHost = localhost
remoteProxyPort = 8118

Para la resolución de DNS siempre se envía una dirección de red local, por lo cual se debe vaciar la Lista de Direcciones Prohibidas para el Proxy/es, o de lo contrario YaCy intentara establecer conexiones saltándose el Proxy a las paginas Tor y obviamente no lo conseguirá:

remoteProxyNoProxy =

A continuación las ordenes para que el archivo Seed de YaCy sea visible al resto de la red en Tor.

seedUploadMethod = File
seedFilePath = htroot/seed.txt
seedURL = http://1a2b3c4d5e6f7g89.onion:8181/seed.txt

También es conveniente asignarle un nombre al nodo YaCy, opcional y puede ser cualquiera, pero es importante que no vuelva a cambiar en el futuro:

peerName = TorYaCy

Otra opción importantes es indicarle a YaCy, que deba funcionar en modo Debug. La razón para esto es, que solo en este modo acepta YaCy usar direcciones locales, para poder funcionar de forma segura y correctamente dentro de Tor.

yacyDebugMode = true

YaCy debe informar ademas, desde cuál Hostname (dominio) es accesible, o de lo contrario no podrá establecer ninguna conexión hasta la instalación:

staticIP = 1a2b3c4d5e6f7g89.onion

Ahora se debe impedir, que se abra una nueva pestaña o ventana en el navegador, cada vez que YaCy se (re-)inicie. También se puede saltar este paso y dejarlo (true), si se desea que no suceda lo anterior:

browserPopUpTrigger = false

Ya que la onionland es bastante lenta se deben fijar valores relativamente altos para Timeout (tiempo de espera para los reintentos):

clientTimeout = 90000
crawler.clientTimeout = 90000
proxy.clientTimeout = 90000
indexControl.timeout = 180000
indexDistribution.timeout = 180000
indexTransfer.timeout = 360000

Las siguientes opciones a fijar son muy importantes para que el nodo evite contactar con la superficie, y lo haga solo con otros nodos Tor-YaCy:

CRDistOn = false
CRDist1Target =

Por razones de seguridad también es importante, que el proxy no sea accesible a través de la red Tor. Esta configuración asume, que YaCy y Tor corren sobre la misma maquina. Es por esto que debe evitarse usar localhost para acceder al nodo y en cambio fijar algo como la dirección local 192.168.1.2 (o la que corresponda a su maquina):

proxyClient = 192.168.*,10.*

Una de las ultimas opciones a fijar y así mejorar/proteger el anonimato del nodo dentro de la red Tor:

proxy.sendViaHeader = false
proxy.sendXForwardedForHeader = false
useYacyReferer = false
useYacyReferer__pro = false

Opcionalmente se pueden fijar detalles como limitar el tamaño máximo de archivos (aquí ~10MB) a indexar, el cache de YaCy por seguridad fijarlo en el mínimo posible (4MB), de lo contrario las paginas visitadas se guardaran localmente:

crawler.ftp.maxFileSize = 10000000
crawler.http.maxFileSize = 10000000
proxyCacheSize = 4

En el caso de que YaCy se instale en una maquina con Linux (o comparable), no se puede olvidar definir los derechos y/o los usuarios que puedan acceder a la carpeta de YaCy, principalmente a DATA/SETTINGS como también al archivo httpProxy.conf. El o los usuarios con derechos de lectura y escritura pueden fijarlos, por ejemplo, asi: chown -R yacy: ./


Activar Lista Blanca[Bearbeiten]

YaCy por defecto solo puede ejecutar una Lista Negra a la vez.

Lamentablemente todavía no hay ninguna Lista Negra, que acepte Listas Blancas, pero alternativamente se pueden agregar todos los dominios, que se quieren bloquear y debe mantenerse regularmente.

A causa de esas razones se debe descargar advancedBlacklist-0.3.jar (oder höher) y copiar en la carpeta libx. Despues se encontrara uno de los filtros configurados mas arriba en yacy.init.

Actualmente no funciona esta función y con esto YaCy no puede ser usado para la indexación de paginas en Tor.

Ahora se debe agregar la entrada respectiva, y con esto poder indexar solo paginas Onion:

  • Crear los subdirectorios en DATA
  • Crear las carpetas subyacentes a LISTS (como DATA/LISTS)
  • Crear los archivos subyacentes a url.default.black (como DATA/LISTS/url.default.black) con el siguiente contenido: *.onion/.*

Una solución alternativa a la Lista Negra es usar un Proxy de filtrado, que solo acepte dominios *.onion y rechace a los demás.


Definición de la Red YaCy-Tor[Bearbeiten]

Entre tanto YaCy puede definir y construir una red separada:

Las definiciones actuales se pueden descargar desde [1] y [2].

yacy.network.group.tor esta vacio, mientras que yacy.network.unit.tor contiene:

network.unit.name = torworld
network.unit.description = Yacy network for TOR https://www.torproject.org/
network.unit.domain = any
network.unit.search.time = 4
network.unit.dhtredundancy.junior = 1
network.unit.dhtredundancy.senior = 3
network.unit.bootstrap.seedlist0 =  http://byi4akelnxrz5tab.onion:8081/seed.txt
network.unit.bootstrap.seedlist1 = http://pah22f4rpnz4hoyn.onion:8084/seed.txt
network.unit.bootstrap.seedlist2 = http://zxbagwypsfbicebv.onion:8091/seed.txt
network.unit.update.location0 = http://yacy.net/Download.html
network.unit.update.location1 = http://latest.yacy.de
network.unit.update.location2 = http://www.findenstattsuchen.info/YaCy/latest/index.php
network.unit.protocol.control = uncontrolled


Iniciar YaCy[Bearbeiten]

Ahora YaCy puede ser iniciado. Entretanto es importante vigilar los archivos de registro (Logs) y si es necesario el comportamiento en el panel de control gráfico que viene con YaCy, pues probablemente en pocos minutos deberían conectarse otros nodos. En los registros debe observar que ninguna dirección abierta se ha conectado o indexado. Errores en los archivos Seeds al comienzo son absolutamente normal y se pueden observar hasta que se encuentre algún otro nodo Tor-YaCy.

Al iniciarse YaCy y abrir la dirección http://localhost:8181/ es necesario definir una clave para Admin.


Usar YaCy[Bearbeiten]

Ahora se debe configurar el navegador para acceder al nodo YaCy. Se abre la configuración de red del navegador y se coloca en el campo Host Proxy 192.168.1.2 (o la dirección IP del servidor) y el Puerto Proxy 8181. Desde ahora deberia estar en condiciones de poder buscar sitios de la onionland a traves de YaCy.


Observaciones[Bearbeiten]

Importante:

Tor es un sistema algo lento y un poco inestable. Es por esto, que puede durar un tiempo hasta que el nodo YaCy se conecte a otros nodos y comience a intercambiar información a indexar. ¡Paciencia!

Ademas:

  • Probablemente no todas las paginas Tor serán accesibles inmediata y regularmente
  • La transferencia vía DHT al parecer funciona en los nodos Tor-YaCy (todavía no comprobado)
  • La distribución del ranking a otros nodos Tor-YaCy aparentemente funciona (tampoco esta comprobado)
  • El estatus de un par (nodo) en Tor es muy dependiente de la conexion inestable de la red onionland y no hay que sorprenderse si a veces solo el Principal y otras solo el Junior estan disponibles
  • Evitar indexar paginas de la superficie desde el nodo Tor-YaCy. Esto pondrá en peligro el indice (anónimo) interno de la red Tor. Las reglas de filtrado, sobre que y como bloquear paginas de la Internet, pueden encontrarse también en otros nodos Tor. ¡Úselas!


Seguridad[Bearbeiten]

  • en todos los programas usados se debe estar desactivado el registro (Logs) o los archivos de registro deben estar ubicados en un disco RAM. Esto también incluye a YaCy.
  • el archivo de YaCy HTCACHE debería moverse o ubicarse dentro de un disco RAM
  • la función Crawl debe ser restringida, a través de los filtros Crawl, solo a dominios onion
  • wikis o blogs deberian ser usados/tratados con mucho cuidado
  • en ningún caso los marcadores abiertos (o directorios de la superficie) deberían ser usados
  • la función del cache y la historia del navegador deberían ser desactivados
  • los mas paranoicos usan un sistema de archivos cifrados para YaCy


Seeds para Tor-YaCy[Bearbeiten]

Aquí, por favor, solo agregar y compartir archivos de nodos Seeds estables y que sean accesibles, de tal forma que puedan entrar en el archivo de configuración Unit.

http://byi4akelnxrz5tab.onion:8081/seed.txt (offline)
http://pah22f4rpnz4hoyn.onion:8084/seed.txt (offline)
http://zxbagwypsfbicebv.onion:8091/seed.txt (offline)

Cuando ya este funcionando nuestro nodo Yacy-Tor, podemos agregar aquí el link al archivo Seed (que se encuentra en seedURL).


Demo-Peers[Bearbeiten]

Disponibilidad de pares Demo sin garantía la podemos encontrar en


Redes Cercanas a YaCy[Bearbeiten]

Cuando sea posible, es recomendable siempre integrarse en alguna de las redes existentes. Los recursos dentro de Tor son muy escasos y deberían optimizarse lo mejor posible, de por si ya es suficientemente difícil conseguir crear (y mas aun mantener) una red mínimamente estable.


freeworld[Bearbeiten]

En ningún caso constituyen una red independiente propiamente tal, sino simplemente se listan aquí todos los servidores disponibles, que también son accesibles en Tor.

Estos servidores no indexan ningún Servicio Oculto de Tor, sino que permiten buscar de forma anónima en la superficie.

Es deseable publicitar en todas partes, también dentro de la onionland, a los nuevos servidores, por ejemplo en las siguientes paginas:


anonymworld[Bearbeiten]

Todos los nodos existentes en la onionland y en otras redes invisibles fueron descontinuados por sus sostenedores.

Desde YaCy recomiendan invertir los escasos recursos en servidores para la freeworld (superficie), pero que sean accesibles desde la onionland o Tor y que solo indexen contenidos de la superficie, ya que esto ayuda a mas usuarios.

Desde aquí invitamos a crear servicios -por el contrario- exclusivos para las redes invisibles y no aceptar tales argumentos. Necesitamos de buenas herramientas en las redes invisibles.


Objetivo[Bearbeiten]

Al contrario de la configuración propuesta mas arriba, aquí se trata de un servicio de red híbrido, el cual deberá indexar tanto a los Servicios Ocultos como también a las paginas de la superficie, pero que solo puede ser accesible como Servicio Oculto en la onionland.


Diferencias[Bearbeiten]

Por favor, se deben observar los siguientes cambios referentes a los pasos anteriores:

  1. Ninguna Lista Blanca: Todas las opciones referentes a Listas Blancas/Negras (incluido el archivo JAR) estan caducos
  2. La Red Propia: Hay archivos Unit y Group especiales

Importante: Estas son las diferencias respecto de la descripción general!


Archivos Unit/Group[Bearbeiten]

Las definiciones actuales se pueden descargar desde http://jarwf7lglg3lbujb.onion:8086/yacy.network.unit.tor y http://jarwf7lglg3lbujb.onion:8086/yacy.network.group.tor.

yacy.network.group.tor esta vacío y yacy.network.unit.tor tiene el siguiente contenido:

network.unit.name = anonymworld 
network.unit.description = Yacy network for TOR https://www.torproject.org/ indexing whole world
network.unit.domain = any
network.unit.search.time = 4
network.unit.dhtredundancy.junior = 1
network.unit.dhtredundancy.senior = 3
network.unit.bootstrap.seedlist0 = http://jarwf7lglg3lbujb.onion:8086/seed.txt


Demo Peers[Bearbeiten]

Disponibilidad de pares Demo sin garantía.


Lista de Seeds[Bearbeiten]

Aquí por favor agregar unicamente archivos de Seeds que estén disponibles estable y regularmente, de tal forma que posteriormente entren en el archivo Unit:


Véase también[Bearbeiten]


Links Externos[Bearbeiten]


Referencias[Bearbeiten]

<references />