Installer une boîte à outils permanente comme un nul(l) 4/6

Vous voulez partager facilement des fichiers avec vos amis, tout en passant sous les radars de nos chers politiciens bureaucrates ?

Rien de plus simple ! Si vous avez votre  propre serveur bon marché, vous pouvez installer votre tracker bittorent personnel, doublé d’un client bittorent permanent et d’un serveur FTP sécurisé pour accéder à vos fichiers où que vous soyez !

La baie des pirates

Prérequis

Pour mener à bien les étapes décrites dans cet article, vous devez avoir :

  • un serveur avec Debian installé et fonctionnel.
  • une connexion Internet.
  • les droits suffisants pour ouvrir des ports sur votre routeur ADSL (voir la documentation de votre boîtier ADSL)

L’installation décrite dans cette article est compatible avec les autres installations de la même série. (Installer un serveur de mailsInstaller un serveur de gestion de sources)

Introduction

Le partage de fichiers peut rapidement utiliser beaucoup de bande passante. Je me concentrerai sur une solution légère, ne nécessitant qu’une bande passante limitée :

  • Un tracker bittorrent très simple mais efficace (opentracker). Il suffit d’un seul tracker pour que tout un cercle d’amis puisse partager des fichiers en toute simplicité. Un tracker, en soi, n’utilise que très peu de bande passante.
  • Un client bittorrent, encore une fois très simple mais efficace (transmission). Ce client Web vous permettra d’administrer vos téléchargements à distance et pourra télécharger vos fichiers 24h/24 7j/7. Vous pouvez configurer la bande passante qu’il utilisera.
  • Un client FTP sécurisé, très répandu sur la toile (proftpd). Ce serveur n’est là que pour faciliter la récupération de vos fichiers vers votre ordinateur. Pour ne pas utiliser la bande passante Internet, vous devriez l’utiliser uniquement sur votre réseau local.

Je n’aborderai pas la marche à suivre pour créer vos torrent, car beaucoup de tutoriels à ce sujet existent déjà sur la toile. Pensez juste à utiliser votre tracker personnel à la place des trackers publics. 🙂

Installer Opentracker

La documentation officielle est très simple et bien expliquée.

Installation

Si vous ne l’avez pas déjà, vous aurez besoin d’installer l’outil de gestion de sources cvs :

sudo apt-get install cvs

Nous devrons ensuite récupérer et compiler libowfat, utilisé par opentracker :

cd /usr/local/etc/
sudo cvs -d :pserver:cvs@cvs.fefe.de:/cvs -z9 co libowfat
cd libowfat
sudo make

Aucune erreur ne devrait survenir, tout au plus un ou deux avertissements…

Récupérons ensuite les sources de opentracker :

cd ..
sudo cvs -d:pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot co opentracker
cd opentracker

Éditons le fichier Makefile pour activer certaines options :

# Nous voulons contrôler les fichiers gérés par notre tracker (tracker privé)
FEATURES+=-DWANT_ACCESSLIST_WHITE
# Nous respectons les standards bittorent
FEATURES+=-DWANT_IP_FROM_QUERY_STRING
# Nous ne voulons pas que n'importe qui puisse accéder aux statistiques de notre tracker
FEATURES+=-DWANT_RESTRICT_STATS

Il ne nous reste qu’à compiler !

sudo make

Configuration

Opentracker se paramètre dans le fichier opentracker.conf. Éditons-le et activons quelques lignes :

# On utilise les interfaces réseau disponibles
listen.tcp 0.0.0.0
# Les hash des fichiers que nous souhaitons partager se trouvent dans le fichier mytorrents.list
access.whitelist ./mytorrents.list
# Nous restreignons l'accès aux statistiques à la seule adresse IP 192.168.0.1
access.stats 192.168.0.1

Il ne nous reste qu’à créer le fichier mytorrents.list et démarrer opentracker :

sudo touch mytorrents.list
./opentracker -f opentracker.conf

Vous devriez obtenir un avertissement :

Warning: Can't open accesslist file: ./mytorrents.list (but will try to create it later, if necessary and possible).

Pas de panique ! Tant que votre fichier mytorrents.list sera vide, vous aurez cet avertissement.

Vous pouvez modifier mytorrents.list à tout moment. Exécutez simplement « kill -SIGHUP `pgrep -f opentracker` » pour prendre en compte vos modifications.

Arrêtons opentracker pour le moment. (Ctrl + C)

Lancement au démarrage du serveur

Nous devons créer un script de lancement pour un démon opentracker. Voici le mien :

#! /bin/sh
### BEGIN INIT INFO
# Provides: opentracker
# Required-Start: 
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Opentracker server daemon
# Description: Starts the Opentracker daemon
### END INIT INFO
OPENTRACKER_HOME="/usr/local/etc/opentracker"
RETVAL=0
PROG="opentracker"
DAEMON="$OPENTRACKER_HOME/$PROG"
DAEMON_ARGS="-f $OPENTRACKER_HOME/opentracker.conf"
PID_FILE=$OPENTRACKER_HOME/opentracker.pid
runlevel=`runlevel | awk '{print $2}'`
start()
{
 start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PID_FILE --exec $DAEMON --test > /dev/null || return 1
 start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_ARGS || return 2
}
stop()
{
 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PID_FILE --name $PROG 
 RETVAL="$?"
 rm -f $PID_FILE
 [ "$RETVAL" = 2 ] && return 2
 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --name $PROG
 [ "$?" = 2 ] && return 2
 rm -f $PID_FILE
 return "$RETVAL"
}
case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 stop
 start
 ;;
 *)
 echo "Usage: $0 {start|stop|restart}"
 RETVAL=1
esac
exit $RETVAL

Ce script est assez archaïque mais fonctionne bien 🙂

Il ne nous reste qu’à l’installer et le tester :

sudo ln -s /usr/local/etc/opentracker/opentracker-daemon /etc/init.d/
sudo service opentracker-daemon start

Si tout s’est bien passé, activons-le au démarrage du système :

sudo insserv opentracker-daemon

Accéder à opentracker

Vous pouvez maintenant utiliser opentracker aux adresses suivantes :

  • <VOTRE IP>:6969/stats à partir de l’ordinateur autorisé, vous permettra d’accéder aux statistiques
  • <VOTRE IP>:6969/announce vous permettra de publier un fichier. Ouvrez le port 6969 sur votre boîtier ADSL et utilisez votre nom de domaine pour le partager avec vos amis !
  • <VOTRE IP>:6969/scrape est utilisé par les clients bittorrent.

Installer transmission

L’installation de transmission est franchement simple. Commençons par récupérer le paquet nécessaire :

sudo apt-get install transmission-daemon

Arrêtons ensuite transmission (qui a démarré automatiquement) pour pouvoir modifier sa configuration.

sudo service transmission-daemon stop

Si vous n’arrêtez pas transmission avant de modifier le fichier /etc/transmission-daemon/settings.json, ce dernier sera écrasé automatiquement…

Dans le fichier /etc/transmission-daemon/settings.json, modifions quelques variables :

  • rpc-password : Un mot de passe en clair (il sera chiffré au prochain démarrage de transmission)
  • rpc-username : Un nom d’utilisateur
  • rpc-whitelist-enabledfalse. (Nous voulons accéder à transmission de n’importe où)

Il ne nous reste qu’à redémarrer transmission :

sudo service transmission-daemon start

Et voilà !

Notre client bittorrent n'attendant que de nouveaux fichiers à télécharger !

Notre client bittorrent n’attendant que de nouveaux fichiers à télécharger !

Installer proftpd en mode sécurisé

Le mode TLS de proftpd est tellement simple à activer qu’il serait bête de s’en priver ! 😉

Installation

Commençons par récupérer le paquet qui va bien :

sudo apt-get install proftpd

Au cours de l’installation, il vous sera demandé de choisir entre inetd et indépendant. Je préfère un processus indépendant.

Vous pouvez bien entendu choisir inetd.

Vous pouvez bien entendu choisir inetd.

Configuration

La configuration principale se trouve dans le fichier /etc/proftpd/proftpd.conf. Activons et configurons quelques options :

# Nous voulons que notre serveur FTP se comporte comme un serveur standard pour les utilisateurs classiques
DefaultRoot                     ~ !torrentusers
# Nous configurerons des utilisateurs spéciaux qui pourront uniquement accéder aux fichiers téléchargés par transmission
DefaultRoot                     /var/lib/transmission-daemon/downloads torrentusers
# Nous activons la configuration TLS
Include /etc/proftpd/tls.conf

La sécurisation du serveur se paramètre dans le fichier /etc/proftpd/tls.conf. Encore une fois, activons et configurons quelques options :

# On active TLS
TLSEngine                  on
# Les logs TLS se trouveront dans ce fichier
TLSLog                     /var/log/proftpd/tls.log
# Nous utiliserons le protocole standard
TLSProtocol                SSLv23
# Nous évitons les certificats
TLSOptions                 NoCertRequest
# On configure nos propres clef et certificat
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
# On ne vérifie pas le client
TLSVerifyClient            off
# On ne pourra se connecter à notre serveur qu'en mode sécurisé
TLSRequired                on

Générons maintenant notre clef privée et notre certificat à l’aide d’openssl :

sudo mkdir /etc/proftpd/ssl
sudo openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Ajoutons enfin un (ou plusieurs) utilisateurs pour accéder aux fichiers téléchargés par transmission :

sudo groupadd torrentusers
sudo adduser --no-create-home --shell /bin/sh torrentuser1
sudo usermod -a -G torrentusers torrentuser1

Vous devrez bien entendu remplacer « torrentuser1 » par le nom d’utilisateur de votre choix…

Il ne nous reste qu’à redémarrer proftpd :

sudo service proftpd restart

Accéder à notre serveur FTP à l’aide de Filezilla

Si tout s’est bien passé, nous devrions être capable d’accéder au dossier de téléchargement de transmission avec Filezilla à partir de n’importe quel ordinateur sur le réseau… Il faut néanmoins savoir comment configurer le mode sécurisé sous Filezilla 🙂

Vous devrez pour cela configurer un nouveau serveur dans le gestionnaire de sites (la petite icône en haut à gauche).

Eh non ! Vous ne verrez pas le nom de mes fichiers ! ;-)

Eh non ! Vous ne verrez pas le nom de mes fichiers ! 😉

Configurez l’adresse de votre serveur, le type d’authentification (Normale), renseignez le nom d’utilisateur que vous venez de créer et son mot de passe et sélectionnez « TLS explicite » comme méthode de chiffrement.

Vous ne verrez pas non plus la liste de mes serveurs ;-)

Vous ne verrez pas non plus la liste de mes serveurs 😉

Après avoir cliqué sur « OK », vous n’aurez qu’à sélectionner votre serveur, dans la liste déroulante du gestionnaire de site, pour vous connecter.

Conclusion

Vous disposez maintenant d’un serveur de partage de fichiers complet, ne nécessitant que peu de bande passante si vous avez beaucoup d’amis (c’est le principe du peer to peer).

Vous avez peut-être remarqué au passage que plus vous installez des outils simples, plus leur configuration est aisée, et moins vous rencontrez de problèmes… et ce n’est pas pour autant que ces outils ne font pas un excellent boulot !

Vous pouvez également utiliser votre tout nouveau serveur FTP pour partager directement des fichiers entre des ordinateurs. Mais si vous ne voulez pas voir votre bande passante exploser, je vous conseille de ne l’utiliser que pour des petits fichiers (quelques kilo-octets) ou uniquement sur votre réseau local.

La solution P2P est là pour une optimisation de la bande passante pour le partage de gros fichiers (la vidéo de votre mariage ou de vos dernières vacances, par exemple… on s’est compris 😉 )

Les torrents sont également très pratiques pour partager de gros fichiers entre de nombreuses personnes. Vous pourrez, par exemple, mettre à disposition les derniers échanges de mails confidentiels que vous aurez piratés, en partageant simplement un torrent sur un forum ou un site quelconque où se côtoient des hackers.

Parce que je n’ai pas la science infuse : sources

Publicités
À propos

Un informaticien, qui tente de faire comprendre au public que l'informatique n'est pas si compliquée, malgré des acronymes et autres termes obscurs pour faire croire que c'est difficile (et que c'est de votre faute si "ça ne marche pas")

Tagged with: , , , , , , , , , , , , , , , ,
Publié dans Installations
6 comments on “Installer une boîte à outils permanente comme un nul(l) 4/6
  1. koloce dit :

    Quand j’y pense, tu aurai pu faire un hyperviseur pour gérer tous les services. Que donne ton serveur si tu avais fais du openvz ?

    • mystcaster dit :

      Très bonne question… Je dois avouer que je ne connaissais pas openvz.
      Je n’avais pas envisagé la virtualisation car je pensais que ça utiliserait plus de ressources.
      Merci pour le retour.

      Je note le sujet « Openvz » pour un prochain article, ce qui pourrait compléter cette série. 🙂

  2. koloce dit :

    C’est trop tard. Car tu devras migrer tes services dans les conteneurs… En fin de fil rouge ça fait plaisir de tout recommencer.

  3. Sam dit :

    Pourquoi un pirate qui veut nous aider à nous affranchir des géants du web héberge t’il sont blog sur wordpres et pas sur son serveur personnel???

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

MystCaster
octobre 2013
L M M J V S D
« Sep   Nov »
 123456
78910111213
14151617181920
21222324252627
28293031  
Catégories
Archives
%d blogueurs aiment cette page :