I. GNUnet

GNUnet est le réseau P2P du projet GNU.

Créé pour résister à la censure, c'est historiquement le premier système de P2P sécurisé, il utilise surtout AES-256, un chiffrement très rapide et sécurisé. C'est le premier réseau à utiliser des nodes (de 1 à 4 noeuds) pour le transfert d'informations.

On peut noter parmi ses caractéristiques :

  • la décentralisation (pas de serveur unique, ni de réseau de serveur) ;
  • la sécurisation (les connexions sont chiffrées) ;
  • l'anonymat (impossible de savoir si le message vient d'un pair ou si le pair route ; uniquement le message)
  • le fonctionnement sous forme de démon (invisible).

I-A. Installation

Pour Ubuntu 8.04 LTS uniquement

Ajouter à vos sources de logiciels le PPA ppa:teamgnunet/ppa1, rechargez la liste de paquets puis installez le paquet gnunet pour installer la base du logiciel et son deamon, ainsi que gnunet-gtk pour l'interface graphique.

Lors de l'installation, vous pouvez choisir de démarrer le deamon au démarrage du système. Sinon, vous devrez le démarrer vous même.

Il faut savoir que Gnunet met du temps à se connecter et à devenir fonctionnel, ce qui inciterai à démarrer le deamon au démarrage. Par contre il est gourmand en ressources et pour ceux qui n'ont pas une machine très perfomante il est préférable de le démarrer uniquement lorsqu'on en a besoin…

I-B. Configuration

Après avoir installé GNUnet, il faut le configurer avec cette commande :

 
Sélectionnez
sudo gnunet-setup -d gconfig -c /etc/gnunetd.conf

Les valeurs par défaut sont communément admises.

Ensuite pour lancer le démon GNUnet:

 
Sélectionnez
sudo gnunetd

Pour lancer l'outil de configuration graphique, lancez la commande suivante dans un terminal :

 
Sélectionnez
sudo gnunet-setup -d wizard-gtk

Pour lancer la version graphique de GNUnet:

 
Sélectionnez
sudo gnunet-gtk

Pour partager automatiquement un répertoire:

 
Sélectionnez
sudo gnunet-auto-share /chemin.du.répertoire/

Après avoir démarré de cette manière, gnunet-auto-share se placera lui-même en tâche de fond (en tant que démon) et vérifiera régulièrement si de nouveaux fichiers ont été copiés dans les répertoires spécifiés. Exécuté en arrière plan, gnunet-auto-share s\′assurera que tous les fichiers du répertoire fourni sont disponibles pour gnunetd et par conséquent disponibles sur le réseau. Vous devrez redémarrer gnunet-auto-share à chaque fois que votre ordinateur est redémarré (de la même façon que vous devrez redémarrer gnunetd).

Pour effectuer une recherche sur GNUnet (mode console) :

 
Sélectionnez
sudo gnunet-search [-t TIMEOUT] KEYWORD [Mot Clé]

L'option -t spécifie que la requête devra s'arrêter après approximativement TIMEOUT secondes. Une valeur à zéro est interprétée comme pas de time out. Si plusieurs mots sont passés comme clé et ne sont pas séparés par un AND, gnunet-search les concaténera en un seul mot clé.

Exemple:

 
Sélectionnez
sudo gnunet-search -t 3600 KEYWORD Linux Ubuntu

→ Cherche les mots clés "Linux" & "Ubuntu" sur le réseau pendant 3600 secondes.

 
Sélectionnez
sudo gnunet-search -t 3600 KEYWORD Linux AND Ubuntu

→ Cherche un fichier contenant les 2 mots clés "Linux" et "Ubuntu" sur le réseau pendant 3600 secondes.

Pour récupérer un fichier sur le réseau (mode console) :

 
Sélectionnez
sudo gnunet-download -o FILENAME GNUNETURL

FILENAME specifie le nom du fichier ou GNUnet est supposé écrire les informations récupérées. Tout fichier déja existant est effacé.

Exemple:

 
Sélectionnez
sudo gnunet-download -o "/home/O'Reilly - Linux Device Drivers - 2nd Edition.pdf" gnunet://ecrs/chk/95CNQJ3BTNCK324UFNGPEEKB6C2RUJJGSANBE2S0D7Q8TUSKHMCJ4GOV8BG5FR52A68T6SU39R2PG159EP9P0AHDOB7EHLJKV8JQ0OO.3O6G8OJGNP45BEJMSSION53E0V9JCQKCECOAH79R1HB33G7NHTQI5ABBPOBBP8PHU0JOHSBFRBQKUMNR8EKD1SQM75EU3BOB2JOHD88.7718811

→ Télécharge le Livre d' O'Reilly dans mon /home.

I-B-1. Pare Feu

Si vous utilisez un routeur ou un pare feu, il vous faudra ouvrir les ports 2086 et 1080 en TCP et UDP.

I-C. Références

II. Le système de fichiers/stockage décentralisé Tahoe-lafs

Le Tahoe-Least-Authority Filesystem(Tahoe-lafs) est système de stockage opensource, sécurisée, décentralisée, tolérant aux pannes, magasin de données distribué en peer-to-peer et système de fichiers distribué. Il est utilisé comme un système de sauvegarde en ligne par les entreprises. Il peut aussi servir comme un fichier hôte ou sur le Web similaire à Freenet, en fonction du front-end permet d'insérer et d'accéder à des fichiers dans le système de Tahoe. Tahoe peut également être utilisé d'une manière analogue au RAID afin d'utiliser plusieurs disques pour faire une seule grande copie de stockage de données fiable.

II-A. Présentation

Tahoe-lafs peut être vu comme un raid au niveau de réseau. Lorsque vous avez des disques durs en raid, vous pouvez perdre un disque, le second prend le relais. Il suffit de remplacer le disque dur défectueux et l'incident est fini. Les données se recopient sur le premier disque.

C'est la même chose avec Tahoe, les différents composants de la grille constituent un espace de stockage redondant. Si une partie de la grille est perdue, les fichiers sont encore présents sur d'autre machine. Un des points fort de Tahoe c'est que la sécurité de vos informations ne repose pas sur les composants de la grille. Si des nœuds sont corrompus, la personne qui les gère n'aura pas accès à vos documents. Vos données sont donc en sécurité dans la grille.

Les différents composants de la grille sont :

  • l'introducer, la machine qui met en relation les différents storage server et les gateway ;
  • les storage server, qui stockent des fragments de vos fichiers ;
  • les gateway qui sont chargé de chiffrer/déchiffrer les fichiers avant de les uploader/downloader dans la grille ;
  • les clients, qui utilisent les gateway pour stocker ou retrouver leur fichier dans la grille.

Un petit schéma :

Actuellement nous disposons d'un introducer et d'un storage server up 24/24. (Avec la prochaine release nous tenterons d'avoir deux ou trois introducer pour garantir une disponibilité 24/24 à la grille). Comme il s'agit d'une grille privée, avec de petits moyens technique (et financier, le but est d'utiliser le matériel existant), chaque participant devra mettre en place une gateway et un storage server pour accéder au ressource de la grille. Sa gateway garantira que ses informations restent personnelles. Comme chacun stockera des fichiers chez d'autre participant, il est normal qu'il partage un peu d'espace disque en échange (le storage sever). L'installation fera l'objet d'un prochain post.

II-B. Installation

II-B-1. Dépot ubuntu

II-C. Tahoe-lafs anonymat avec I2P

II-D. Utilisation

II-E. Voir aussi

III. Freenet : Réseau Anonyme

Freenet est un réseau informatique anonyme et décentralisé bâti au dessus d'Internet visant à permettre une liberté d'expression et d'information totale et profitant de la sécurité de l'anonymat.

III-A. Pré-requis

Java doit être installé pour faire fonctionner Freenet.

III-A-1. Vérifier si Java est installé.

Dans un terminal taper :

 
Sélectionnez
java -version

La réponse doit ressembler à ça :

 
Sélectionnez
java version "1.6.0" 
Java(TM) SE Runtime Environment (build 1.6.0-b105) 
Java HotSpot(TM) Server VM (build 1.6.0-b105, mixed mode)

Pour changer sa version de Java (si plusieurs versions sont installées)

 
Sélectionnez
sudo update-alternatives --config java

Il est recommandé de ne pas choisir une version de java antérieure à Java 1.5 update 4 pour des raisons de sécurité.

III-B. Installation

III-B-1. Installation automatique

Dans la plupart des cas vous pouvez lancer l'installation simplement en cliquant sur le lien : Lancer l'installation de freenet

Pour la dernière version qui fonctionne avec openjdk 6 et javaws

III-B-2. Installation manuelle

Télécharger et lancer l'installeur :

 
Sélectionnez
wget -c -P /tmp https://freenet.googlecode.com/files/new_installer_offline_1440.jar -O new_installer_offline.jar

Puis :

 
Sélectionnez
sudo update-alternatives --config java

Il est recommandé de ne pas choisir une version de java antérieure à Java 1.5 update 4 pour des raisons de sécurité.

III-C. Installation

III-C-1. Installation automatique

Dans la plupart des cas vous pouvez lancer l'installation simplement en cliquant sur le lien : Lancer l'installation de freenet

Pour la dernière version qui fonctionne avec openjdk 6 et javaws

III-C-2. Installation manuelle

Télécharger et lancer l'installeur :

 
Sélectionnez
wget -c -P /tmp https://freenet.googlecode.com/files/new_installer_offline_1440.jar -O new_installer_offline.jar

Puis :

 
Sélectionnez
java -jar /tmp/new_installer_offline.jar

Laissez-vous guider pour l'installation qui se déroule ensuite de la même manière dans les deux cas.

Choisir un chemin d'installation (par défaut dans votre répertoire home). Choisir les paquetages à installer (laissez tout sélectionné par défaut).

III-C-3. Configuration

Si tout se passe bien, un navigateur web a dû s'ouvrir sur une page d'accueil. Il faut se rendre sur l'assistant de démarrage Freenet en cliquant sur "Débuter sur Freenet" qui mène à http://127.0.0.1:8888/wizard/.

Répondre aux questions.

Se connecter à votre interface (node) : http://localhost:8888/

III-D. Lancement

Pour lancer Freenet :

 
Sélectionnez
bash /[chemin_du_dossier]/Freenet/run.sh start

Création du dossier pour y déplacer les fichiers de Freenet :

 
Sélectionnez
sudo mkdir /usr/local/freenet

Déplacez-y tous les fichiers du logiciel :

 
Sélectionnez
sudo mv /[chemein_du_dossier]/Freenet/* /usr/local/freenet/

Création du script de démarrage :

 
Sélectionnez
sudo ln -s /usr/local/freenet/run.sh /etc/init.d/freenet-new
sudo update-rc.d freenet-new defaults

Modification de ce script pour qu'il fonctionne avec l'utilisateur Freenet :

 
Sélectionnez
sudo nano /usr/local/freenet/run.sh

Modification de la ligne ~45 :

 
Sélectionnez
#RUN_AS_USER=

devient

 
Sélectionnez
RUN_AS_USER=freenet

Test & lancement du daemon freenet :

 
Sélectionnez
/etc/init.d/freenet-new start

III-D-1. Configurer le parefeu de votre machine (et/ou de votre box)

Chaque node a un port différent. Pour connaître le port à ouvrir rendez-vous en bas de la page : http://127.0.0.1:8888/connectivity/ Vous trouverez la liste des ports utilisés par les différents services.

Exemple: Ports utilisés par le noeud

  • Darknet FNP : xxxxx/UDP (communication entre les noeuds ; vous voudrez sans doute ouvrir ce port dans votre firewall)
  • Opennet FNP : xxxxx/UDP (communication entre les noeuds ; vous voudrez sans doute ouvrir ce port dans votre firewall)
  • FProxy: 8888/TCP (cette interface web)
  • FCP : 9481/TCP (pour les clients comme Frost et Thaw)
  • TMCI: 2323/TCP (interface simple en ligne de commande, à la telnet)

Ouvrir le port udp correspondant (xxxxx dans l'exemple) et éventuellement le router vers votre machine.

III-D-2. Gestion des connexions au Darknet

La gestion des connexions au Darknet se fait sur la page http://localhost:8888/darknet/ :

  • Le bloc "Mes amis" liste tous les noeuds que le vôtre connaît ainsi que l'état de la connexion.
  • Le bloc "Ma Référence" contient le bloc de texte qui identifie votre noeud et permettra à un autre de se connecter à lui. vous devez donner ce bloc de texte à la personne avec qui vous voulez vous connecter.
  • Le bloc "Ajouter un noeud" permet d'ajouter à votre noeud la référence d'un autre soit en faisant un copier/coller, soit en donnant l'URL d'un fichier qui la contient, soit en lui donnant directement ce fichier.

Pour établir une connexion avec quelqu'un, vous devez lui donner votre référence et ajouter la sienne à votre noeud. Le plus simple est de faire un copier-coller de votre référence sur http://dark-code.bulix.org et de noter l'adresse de la page obtenue. Vous pourrez ainsi donner un lien simple plutôt qu'un bloc de code indigeste.

Faire un copier coller de « Ma référence » (dans l'onglet "Amis") sur http://dark-code.bulix.org

La référence doit être copiée TELLE QUELLE. Elle sera inutile si elle est modifiée.

Cliquer sur la référence type #xxxxxxxx et enregistrer l'adresse de la page que vous donnerez à vos amis.

III-D-2-a. Connexion à des inconnus

Si vous ne connaissez personne utilisant Freenet, le mode opennet se chargera de vous connecter à des inconnus. Il est inutile de se connecter Darknet à des inconnus : cela n'améliore ni la sécurité, ni les performances, et cela nuit au réseau.

III-D-3. FROST

Frost est un logiciel qui utilise un nœud Freenet pour remplir deux fonctions : l'échange de fichiers et la discussion (forum).

Attention, depuis plusieurs semaines, Frost est victime d'attaques massives à coup de "spam" mal formés. Le résultat est que Frost est aujourd'hui considéré comme mort (rien n'ayant été prévu initialement dans le développement de ce soft pour lutter contre ce type d'attaque. Bref, certains opposants à la libre expression ont gagné une (petite) bataille et ce programme n'est pour le moment plus du tout utilisable. Un nouvel outil de messagerie type "newsgroup" a vu le jour : FMS (outil en plein développement mais déjà parfaitement utilisable.

III-D-3-a. Installation

Se placer dans le répertoire /Freenet/frost

 
Sélectionnez
cd /[chemin_du_dossier]/Freenet/frost

Rendre exécutable les fichiers .sh

 
Sélectionnez
chmod +x *.sh

III-D-3-b. Si vous utilisez Beryl

III-D-3-c. Si vous utilisez Beryl

Vous devez ajouter une ligne dans le fichier frost.sh situé dans votre repertoire /Freenet/frost :

Éditer le fichier: /[chemein_du_dossier/Freenet/frost/frost.sh.

Ajouter :

export AWT_TOOLKIT="MToolkit" avant la ligne java -jar frost.jar "$@"

Votre fichier frost.sh devrait ressembler à ceci :

 
Sélectionnez
[...]
cd $PROGDIR
export AWT_TOOLKIT="MToolkit"
java -jar frost.jar "$@"
[...]

III-D-3-d. Lancer Frost

Lorsque vous lancez Frost pour la première fois, il ne connaît qu'un nombre limité de "Boards" (forums de discussion) et aucun fichier. La liste des boards est publiée régulièrement et viendra s'ajouter automatiquement à la liste des boards que vous pouvez consulter.

Il existe un certain nombre de boards francophones où vous pourrez discuter, demander de l'aide, annoncer vos insertions (fichiers ou freesites), etc. Si aucune board ne traite du sujet que vous souhaitez aborder, il vous est bien sûr possible de la créer.

Pour lancer Frost :

 
Sélectionnez
bash /[chemin_du_dossier]/Freenet/frost/frost.sh

III-E. Désactiver Freenet

Il suffit de lancer la commande :

 
Sélectionnez
bash /[chemin_du_dossier]/Freenet/run.sh stop

Pour le réactiver :

 
Sélectionnez
bash /[chemin_du_dossier]/Freenet/run.sh start

III-F. Désinstallation

Dans un terminal saisissez :

 
Sélectionnez
bash /[chemin_du_dossier]/Freenet/run.sh stop
sudo update-rc.d freenet-new remove

*Vérifiez le chemin d'installation de Freenet

Éditez la crontab :

 
Sélectionnez
crontab -e

et supprimez la ligne liée à Freenet qui commence par :

@reboot "/home/islesv/Freenet/run.sh" start 2>&1 >/dev/null #FREENET AUTOSTAR$

Par défaut l'éditeur crontab est nano, quittez en faisant CTRL+O (lettre O), puis CTRL+X.

Il ne vous reste plus qu'à supprimer le dossier Freenet dans votre répertoire personnel (~$) en ayant pris soin de récupérer d'éventuels fichiers (comme dans downloads par exemple)

III-G. Voir aussi