ds620slim.synology.me

fonctionne sur un DS620slim

Synology DS620slim

Créer un service web caché simple avec Tor (testé avec DSM 6.2.2)

Cette manipulation nécessite que le gestionnaire de paquets opkg soit installé ainsi que l'accès SSH au serveur, pour l'installation des paquets et la modification des fichiers de configuration notamment avec l'éditeur de texte en ligne de commande nano.

Prérequis avant de commencer :

Pour des raisons de ressources et de sécurité, le choix du serveur web se porte sur lighttpd, léger, rapide et sûr. Le serveur ne distribue que des fichiers en HTML, c'est-à-dire des fichiers statiques. Aucun languages de script (PHP, ...) n'est utilisé pour éviter les failles de sécurité.

Les paquets suivants sont à installer : tor, tor-geoip, lighttpd et lighttpd-mod-access.

Le fichier de configuration de Tor /opt/etc/tor/torrc est :

Log notice file /opt/var/log/tor/notices.log
DataDirectory /opt/var/lib/tor
HiddenServiceDir /opt/var/lib/tor/hidden_service/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:81

En considérant que les fichiers HTML du site sont placés dans le dossier partagé /web/site, le fichier de configuration de lighttpd /opt/etc/lighttpd/lighttpd.conf est :

server.document-root        = "/volume1/web/site"
server.upload-dirs          = ( "/tmp" )
server.pid-file             = "/opt/var/run/lighttpd.pid"

index-file.names            = ("index.html")

server.port                 = 81
server.bind                 = "127.0.0.1"
server.tag                  = "lighttpd"

include "/opt/etc/lighttpd/mime.conf"
include "/opt/etc/lighttpd/conf.d/*.conf"

Pour des raisons de sécurité, le serveur web ne doit être accessible qu'en local sur l'adresse 127.0.0.1 et donc non-accessible sur le web "en clair". Cela explique la ligne :

server.bind                 = "127.0.0.1"

Il faut supprimer la signature du serveur afin de donner le moins d'information possible sur la version du serveur web utilisé :

server.tag                  = "lighttpd"

Les modules comme lighttpd-mod-status doivent être désactivés et en règle générale le maximum de modules doivent être désactivés.

Il faut ensuite démarrer les deux services, Tor et lighttpd :

root@DS620slim# /opt/etc/tor# /opt/etc/init.d/S80lighttpd start
Starting lighttpd...              done.
root@DS620slim:/opt/etc/tor# /opt/etc/init.d/S35tor start
Starting tor...              done.

Au premier démarrage, Tor va créer les clés et l'adresse du site que l'on récupère par la commande more :

root@DS620slim# more /opt/var/lib/tor/hidden_service/hostname
vxwdkmapybquv7lm55cycoftni2ggajqqhr4i6awk7vdbxahlydsfvqd.onion

Et il suffit de copier-coller dans le navigateur Tor l'adresse de votre site. Le site ds620slim.synology.me est par exemple aussi disponible à l'adresse : vxwdkmapybquv7lm55cycoftni2ggajqqhr4i6awk7vdbxahlydsfvqd.onion.

Deux liens pour explorer la sécurité des services cachés sous Tor :

On peut aussi augmenter la sécurité en isolant les deux services dans deux conteneurs docker.