En I2P existen módulos adicionales que se pueden instalar en una instancia I2P en ejecución, los cuales permiten extender las funcionalidades que vienen incluidas en el sistema. Uno de los principales enfoques de estos Plugins son la seguridad de los mismos, dado que podría perfectamente ser un vector de ataque valido contra usuarios que los utilicen, por esta razón el equipo de desarrollo de este proyecto, antes de hacer publico cualquier plugin, primero realiza una comprobación sobre el código y obliga a que cualquier desarrollador firme digitalmente sus desarrollos antes de subirlos al repositorio de plugins de I2P.
La instalación de un Plugin en I2P puede realizarse de dos formas, descargando manualmente el plugin y almacenándolo en un eepsite o especificando directamente la ubicación de dicho plugin en el repositorio designado para tal fin. Independiente del mecanismo que se utilice es necesario hacerlo desde la interfaz de configuración de clientes, la cual se encuentra ubicada en
http://127.0.0.1:7657/configclients
En la parte inferior de esta página se encuentra un listado de Plugins instalados y un pequeño formulario donde se indica la ruta de un nuevo plugin que será instalado. Para conocer cuales Plugins se encuentran disponibles actualmente en la red de I2P, se puede consultar el sitio oficial en:
Evidentemente es necesario tener el Proxy HTTP de I2P configurado correctamente en el navegador para poder navegar hasta allí. En la siguiente imagen se enseña la interfaz donde se muestra el listado de los plugins instalados y el formulario donde se debe establecer la ubicación del plugin.
De esta forma se comenzará a instalar el plugin en la instancia local.
NOTA: En algunas ocasiones este procedimiento suele ser muy lento e incluso puede fallar “sin razón aparente” por lo tanto se recomienda tener paciencia al momento de instalar cualquier plugin, especialmente cuando se trata de una instancia I2P instalada recientemente. Todos los plugins quedan instalados en ~/.i2p/plugins/
A continuación se explican algunos de los Plugins más interesantes que permitirán extender las funcionalidades existentes de esta herramienta.
PEBBLE BLOGGING EN I2P
Pebble es una herramienta para la publicación de contenidos fácil de personalizar y escrita completamente en Java, aunque se instala como Plugin en I2P, es posible instalarla en cualquier plataforma que soporte Java y tenga instalado y configurado cualquier servidor web o servidor de aplicaciones. En este caso concreto se puede instalar como un Plugin en I2P, la ruta de instalación de este es http://i2plugins.i2p/download/pebble.xpi2p y el procedimiento de instalación es el mismo que se ha indicado anteriormente.
Una vez ha sido instalado, aparecerá en la página de configuración de clientes, así como en la sección de plugins instalados, además también aparecerá en el menú lateral izquierdo bajo la opción de “I2P Internal” dado que quedará instalada como una aplicación más de las que se incluyen en I2P como SusiDNS, I2PSnark, etc.
Su funcionamiento es muy simple y sigue la misma filosofía que cualquier sistema de blogging existente en el mercado, con un alto nivel de personalización sobre posts, apariencia, usuarios y otras características. A continuación se hace un breve listado de las principales opciones de configuración y administración que brinda Pebble.
-
Cuenta con la administración de usuarios del blog, de modo tal que es posible agregar, modificar o eliminar usuarios. Por defecto, la cuenta de administrador es “username” y como clave “password” es altamente recomendable cambiarla.
-
Es posible cambiar las propiedades del Blog, tales como el Nombre, Descripción, autor, dirección de correo, número de publicaciones por página, Lenguaje, País, etc.
-
Administración de comentarios y respuestas, permitiendo aprobar y rechazar comentarios de otros usuarios.
-
Administración de Post, Categorías, ficheros, directorios y páginas estáticas. Es posible crear un Post utilizando editores de texto enriquecido, en este caso concreto Pebble utiliza FCKEditor para la creación y edición de post.
-
Personalización de temas y estilos CSS de tal forma que es posible fácilmente cambiar el “Look and Feel” del blog.
-
Seguridad basada en roles de usuarios. Es posible seleccionar cuales usuarios pueden acceder a determinados contenidos que se han publicado, restringiendo o garantizando el acceso a contenidos es un modo muy efectivo de asegurarse la privacidad de información sensible que es publicada en el Blog.
Estas son solamente algunas de las posibilidades que brinda Pebble, sin embargo permite hacer muchas cosas más, ya que es altamente configurable. Por otro lado, es posible publicar este sitio web en la red de I2P de tal modo que otros usuarios puedan acceder a los contenidos de forma anónima, el procedimiento para hacer esto se ha explicado en lineas anteriores y consiste principalmente en el registro del blog (que al final de cuentas es un eepsite) en http://stats.i2p/ es un procedimiento muy sencillo y se ha explicado en el post anterior a este, sin embargo es necesario suministrar la clave en Base64 que se genera de forma automática, para esto se debe ver el fichero de ayuda generado por el plugin que se encuentra ubicado en <ruta_blog>/help.html
Además de las características funcionales de Pebble también es importante resaltar algunas características técnicas que resultan interesantes para cualquier desarrollador que desee extender las funcionalidades del sistema para satisfacer algunas necesidades particulares que no llega a cumplir la distribución de este sistema por si sola.
-
Uso de Log4j para generación de mensajes sobre los eventos producidos en el sistema a diferentes niveles de “gravedad”
-
La arquitectura técnica de toda la aplicación se centra en el uso de tecnología Java, haciendo un fuerte uso de Servlets para la generación dinámica de contenidos (Especificación JSP 2.0 y Servlet 2.4).
-
Es posible desarrollar listeners del Blog utilizando la API de Pebble que serán invocados ante una variedad de eventos que van desde el momento que se arranca o detiene el blog, hasta la manipulación de posts y comentarios ingresados por los usuarios.
-
Soporta algunas estrategias de confirmación de comentarios tales como CAPTCHAs.
-
Es posible integrar Pebble con infraestructuras seguras tales como LDAP Directory, Active Directory o un motor de bases de datos
-
Soporta RSS 2.0, Atom 1.0 y feeds para las entradas y respuestas a comentarios.
Estas son solamente algunas de las características que se encuentran en Pebble, no obstante es un sistema muy intuitivo y fácil de utilizar, un usuario con un nivel de conocimientos intermedios en informática puede utilizar este sistema fácilmente, simplemente navegando por sus opciones.
JIRCII CLIENTE IRC EN I2P
Se trata de un plugin interesante, dado que es el clásico cliente para mensajería instantánea JIRCII, el cual mantiene una interfaz al mejor estilo de los años 90 (pero con todas las características que puede ofrecer cualquier buen cliente IRC disponible hoy en día) su interfaz es completamente enfocada al ingreso manual de comandos IRC para realizar una conexión con un servidor IRC, buscar y unirse a un canal, autenticarse con un servidor, enviar mensajes, etc.
Se instala como cualquier plugin en I2P y cuando se inicia, se habilita una interfaz interactiva que permite ingresar comandos IRC para conectarse a diferentes servidores y canales IRC.
Su uso es realmente sencillo, cada conexión a un servidor se puede controlar por medio de pestañas y es posible establecer diferentes servidores IRC para realizar conexiones rápidas, la apariencia del cliente cuando se inicia desde I2P es la siguiente
Después de unos instantes (cerca de 1 minuto), el cliente intentará conectarse con los canales de I2P de forma automática y anónima, tal como se enseña en la imagen
Como puede apreciarse en las pestañas ubicadas en la parte inferior de la interfaz, se encuentran abiertos los canales #i2p y #i2p-chat.
Por otro lado, antes de cualquier cosa, es necesario establecer los valores del “nickname” y los servidores disponibles para realizar conexiones, esto es posible asignarlo en “Connection → Connect → Servers…” que es donde se encuentran las opciones de configuración del cliente.
Ahora, como se ha indicado con anterioridad, es posible utilizar comandos comunes de IRC para administrar el cliente y como interactuar con otros usuarios del chat. Los comandos soportados pueden encontrarse en “Help → Help” en la pestaña “Commands” tal como se enseña en esta imagen:
La lista de comandos que se expone aquí, pueden ser utilizados de forma manual en el campo de texto habilitado para ello, este se encuentra justo por encima de las pestañas que aparecen en la parte inferior de la ventana. Algunos comandos útiles pueden ser los siguientes:
Conexión a un servidor IRC./server irc.freenode.net
Unirse a un canal IRC. /join #debian Mostrar versión de IRC /sv Mostrar el tópico del canal actual /st Envio de mensajes /msg usuario Hola |
Por otro lado, el cliente soporta una característica que es particularmente interesante, el uso de “scripts” que permiten optimizar muchas de las tareas que pueden resultar muy repetitivas (como por ejemplo el simple hecho de cambiar colores o teclear los mismos comandos siempre). Estos scripts pueden ser programados manualmente con cualquier editor de texto y posteriormente cargados directamente al cliente con el comando “load” (ver el manual de comandos disponibles en el cliente tal como se ha indicado en lineas anteriores). También existen algunos scripts muy útiles que pueden ser utilizados directamente sin necesidad de escribirlos desde 0 y que permiten agilizar todo el proceso que implica utilizar este cliente IRC. Estos scripts se encuentran ubicados en el sitio oficial de JIRCII en http://www.oldschoolirc.com/scripts Para extender las funcionalidades de este sistema se recomienda ver dichos scripts y utilizar los que se adapten mejor a las necesidades particulares de cada usuario. Ver más sobre este proyecto aquí: http://www.oldschoolirc.com/about
I2PHEX CLIENTE PHEX PARA GNUTELLA EN I2P
Phex es un software escrito en Java que permite compartir ficheros en un entorno distribuido utilizando la red GNUTella, de esta forma permite que sus usuarios creen redes privadas virtuales (VPN). Se trata de una solución independiente de plataforma que permiten que sus usuarios puedan administrar y compartir información de forma segura y distribuida. Una de las características que resultan más llamativa, es el hecho de que las descargas de cada fichero se encuentran distribuidas en varios servidores, Phex intentará solicitar diferentes segmentos del archivo sobre cada host de forma paralela, una vez todos los segmentos son descargados, estos se mezclan en un único fichero, como resultado de esto, las descargas son muchísimo más rápidas.
Por otro lado, I2Phex es un plugin que se instala del mismo modo que todos los anteriores, el fichero de instalación se encuentra ubicado en: http://i2plugins.i2p/download/i2phex.xpi2p.
Una vez se ha descargado e instalado el plugin se inicia automáticamente el asistente de Phex ejecutándose desde I2P. Sin embargo, en las últimas versiones de I2P ejecutándose en Debian (probablemente no suceda lo mismo con otra plataforma) no inicia de forma correcta, por este motivo es necesario ejecutarlo como un proceso independiente desde consola, de esta manera se inicia adecuadamente el cliente Phex listo para configurarse cuando se ejecuta por primera vez. En el caso de que el lector presente problemas a la hora de ejecutar I2Phex desde la interfaz de administración de I2P, se recomienda ejecutar el siguiente comando:
>java -cp /usr/local/i2p/lib/i2p.jar:/usr/local/i2p/lib/mstreaming.jar:/usr/local/i2p/lib/streaming.jar:/usr/local/i2p/lib/jbigi.jar:/home/adastra/.i2p/plugins/i2phex/lib/phex.jar phex.Main -c /home/adastra/.i2p/plugins/i2phex |
Como puede apreciarse, existen dos ubicaciones a las que se hace referencia aquí, por un lado se encuentran todos los ficheros JAR necesarios que están incluidos en la distribución de I2P y por otro lado se encuentra el JAR “phex.jar” ubicado en el directorio de plugins de I2P (ruta donde se ha instalado el espacio de trabajo del software). Con este comando se inicia I2Phex sin ningún tipo de inconveniente y además utilizando la red de I2P. No obstante utiliza la versión 3.2 de Phex, mientras que la versión de este software actualmente es la 3.4, la cual tiene otras características interesantes que evidentemente no se incluye con I2Phex dada su dependencia interna con una versión tan anterior. El uso de este software es muy intuitivo y se ejecuta completamente desde una interfaz gráfica que permite controlar las descargas, conexiones con otros hosts, opciones de configuración, entre otras cosas.
I2P-BOTE CLIENTE DE CORREO ELECTRÓNICO SEGURO EN I2P
Anteriormente se ha hablado de SusiMail como un cliente de correo electrónico seguro y anónimo que se ejecuta en el contexto de la red I2P, se han explicado las principales características de este software y se ha resaltado que es altamente seguro soportando cifrado end-to-end, aunque SusiMail y I2P-Bote intentan resolver las mismas necesidades (recepción, envío y administración de correos electrónicos) existen algunas diferencias entre ambos clientes, en el caso de I2P-Bote, se trata de una aplicación de correo electrónico altamente anónima, segura y sobre todo, sin servidor, completamente descentralizada, que establece una red peer-to-peer entre emisores y receptores. Aunque I2P-Bote se apoya en los mecanismos de anonimato que soporta I2P, adicionalmente adhiere una capa extra de anonimato, esta capa extra es la que realmente marca la diferencia con cualquier otro cliente de correo electrónico en I2P.
Este concepto de “capa de anonimato” en I2P-Bote, permite configurar el cliente de tal forma que puede ser extremadamente anónimo y más lento, o menos anónimo y mucho más eficiente y rápido, sin embargo en cualquiera de los dos escenarios I2P-Bote siempre suministra un un buen nivel de seguridad y anonimato para emisores y/o receptores así como cifrado end-to-end. Para conseguir estos niveles de flexibilidad I2P-Bote ofrece la opción de activar o desactivar routers de correo de alta latencia, el uso de dichos routers es realmente la capa extra de anonimato, que hará que el envío de los correos electrónico sea mucho más lenta, pero mucho más segura, evidentemente en el caso de desactivar estos routers, estos serán “menos anónimos” y más rápidos en su envío, cuando esto ocurre, en realidad lo que hace I2P-Bote es enviar los mensajes de correo usando directamente I2P, de esta forma se garantiza los niveles de anonimato que soporta I2P. Con I2P-Bote se garantiza siempre que nunca se será menos “anónimo” que los niveles suministrados por el estándar de las conexiones I2P.
Para instalar I2P-Bote se utiliza el mismo mecanismo de instalación de Plugins explicado en los párrafos anteriores de esta entrada, la ubicación de este plugin es: http://i2plugins.i2p/download/i2pbote.xpi2p
Usando I2PBOTE
Una vez se ha instalado el software, es posible acceder a su interfaz web seleccionando la opción “SecureMail” que se encuentra en la interfaz de administración principal de I2P bajo el menú “I2P Internals” en la interfaz de I2P-Bote, lo primero que debe verificarse es que en el panel lateral izquierdo aparezca “Network Status” con el valor “Connected” tal como se enseña en la imagen:
En el caso de que se encuentre en el estado correcto, el siguiente paso es crear una identidad para emitir y recibir mensajes de correo electrónico, para ello se selecciona la opción “Identities” ubicada en el panel izquierdo y posteriormente se selecciona el botón “New Identity”, ahora se debe rellenar el formulario para crear la nueva identidad, cada uno de los campos que aparecen allí son auto-explicativos, se recomienda utilizar el mecanismo de cifrado 2048-bit ElGamal. Cuando la identidad se crea, automáticamente se establece la clave correspondiente a “email destination” este valor es la dirección de email I2P-Bote que debe de ser enviada a los receptores en el caso de que se desee darles la posibilidad de responder. Con esta identidad creada es posible enviar y recibir mensajes de correo electrónico por medio de I2P-Bote desde los botones “New” y “Check Mail” respectivamente, que se encuentran ubicados en el panel de izquierda.
Ahora bien, el mecanismo de envío y de recepción de correos, no es el mecanismo convencional, como por ejemplo, enviar un mensaje a una cuenta de gmail o yahoo, en I2P-Bote se necesita un “email destination” del receptor para poder recibir mensajes, esto indica que por defecto el sistema solamente funciona para el interior de la red I2P, en el caso de que se desee enviar mensajes de correo electrónico a internet, es necesario registrar un Email Gateway que sirva de pasarela entre la red I2P y “el mundo exterior”. El funcionamiento en este caso es exactamente igual al que tiene SusiMail, dicho cliente se conecta con el Gateway “Postman” (a la fecha de escribir este documento es el único que se encuentra habilitado). Para activar el Email Gateway, se siguen los siguientes pasos:
-
Crear una cuenta en Postman tal como se ha indicado en entradas anteriores sobre SusiMail.
- Ahora se debe administrar la cuenta que se ha creado en Postman para activarla con I2P-Bote, para ello ir a http://hq.postman.i2p/?page_id=16 desde allí es necesario ingresar las credenciales de acceso de la cuenta, una vez hecho esto, se debe marcar la opción “Use account for bote forwards?” así como también se debe ingresar el “Email Destination” de la identidad anteriormente creada en I2P-Bote, con esto se hará la relación entre la cuenta Postman y la identidad I2P-Bote creada. Con esto será suficiente para recibir mensajes de correo al cliente I2P-Bote cuando sean enviados a “cuenta@mail.i2p” o “cuenta@i2pmail.org” donde “cuenta” es la cuenta creada en postman.
-
Ahora para no solamente recibir mensajes, sino también para enviarlos, es necesario seleccionar la opción “Settings” desde “Configuration” y marcar la opción “Use a gateway when sending to non-I2P email addresses” es necesario establecer la clave del servicio, ver este enlace: http://hq.postman.i2p/?page_id=10 la destination key para postman es: “AUVlGWmbU0qNUBGvu1ls5OQcdZNjq7k1OPzqkhheGlc3HoQFi97-3BZevo4ThjL0WxHoBIMagAfXjAEm7EegzYqkfGtQ5TpEVAxg01eIGO-Lqq46MqbOFX~edpgi9StZIAPaXJps0MPtSfh0FsL-N5PTW2nqkITrMPxOuhyl8CvAdR~TxHSImMI5nNzCW39xkDrEBx5Mkn1s~xm2XdhyttG2z~g6~nec4X3rpV0sO1Fq2T1sgaKcHWUvJofzUV1y~bKnltJEB~KZpkkOxjz3SdcJzn8SPblyWAm3SUiAVY8ev2XwSaLl7-xe2bQtrnjbPfpHZ50yhGY-00wTcXEfSgt20DkibP7xg3cSAcVFla2IiGeJc~4WTCP3vkBipTnSFdNr3Ez2kCEa50kMiRfDkIk4S2E64~JBrgyNURXL4YNC~FV7qaK2gqHUJkhRiRQP2Hbq2lDygJGFjr2vIi0TBoZ0lWaX6cu8Jywhp-jZgrvun-F~n87iRvnNjkjuG6BYAAAA”
Este valor se debe ingresar en el campo de texto “Email Destination of the gateway”
Con las indicaciones anteriores, es posible utilizar I2P-Bote para el envío de mensajes de correo electrónico a Internet, así como usar Email Destinations para enviar mensajes a otros usuarios en la red I2P.
Una respuesta a «Preservando el Anonimato y Extendiendo su Uso – Servicios Anonimos, Plugins en I2P – Parte XXVII»
[…] – http://thehackerway.com/2011/12/09/preservando-el-anonimato-y-extendiendo-su-uso-servicios-anonimos-… […]