Wiki [Tuto/HowTo] Ajouter des Tor Hidden Service a vos frontends HaProxy

0
26
juin
2018

Introduction

Je pars du principe que vous avez déjà installez au moins un Frontend et un Backend et êtes donc capable de lire et traduire (avec l'aide des moteurs de recherche) les configurations d'HaProxy suivantes sans me forcer à entrer trop dans le détails.
Pour rappel HaProxy est un proxy permettant de répartir la charge réseau sur une ou plusieurs machines. Tor Hidden Service est quant à lui un mécanisme permettant de disposer d'un nom de domaine unique au monde et ne nécessitant rien qu'un accès internet et une connexion au réseau Tor pour fonctionner.
Plusieurs Hidden Service peuvent bien entendu pointer vers le même backend qui affichera, ou non, la même page.

Configuration de HaProxy.

Éditez le fichier de configuration de HaProxy /etc/haproxy/haproxy.cfg

sudo nano /etc/haproxy/haproxy.cfg

Adaptez puis ajoutez la configuration du Frontend suivante.

frontend Frontend_Tor_HTTP
        bind 127.0.0.1:81 # on utilise un autre ports afin d'éviter les conflits avec les autres frontends
        mode http
        option httpclose
        option forwardfor
        reqadd X-Forwarded-Proto:\ http
#        default_backend serveur_web # NE DECOMMENTEZ QUE SI VOUS VOULEZ RENVOYER VERS UN BACKEND QUAND LE NOM DE DOMAINE EST ERRONÉ (FORTEMENT DÉCONSEILLÉ, au risque de diminuer l'anonymat du serveur face aux bots)

                # www.mon.domaine.com
        acl host_tor_www.mon.domaine.com hdr(host) -i mon_adresse_tor.onion
        use_backend serveur_web if host_tor_www.mon.domaine.com

                # www.HelloWorld.com
        acl host_tor_www.HelloWorld.com hdr(host) -i blablablablablab.onion
        use_backend serveur_web if host_tor_www.HelloWorld.com

Adaptez puis ajoutez la configuration du Backend suivante.

backend serveur_web
        mode http
        balance roundrobin
        option forwardfor
        option httpchk HEAD /haproxytest.txt HTTP/1.0
        cookie SERVERID insert indirect nocache
        server superRaspberry superRaspberry:80 cookie superRaspberry #ssl verify none #check inter 10000

Configuration de Tor.

Créez le dossier qui hébergera la configuration de votre Hidden Service.

mkdir -p /var/lib/tor/hidden_service/http_mon_domaine

Accordez au dossier et à son éventuel contenu les bonnes permissions (rwx--S--- pour debian-tor:root)

chown debian-tor:root -R /var/lib/tor/hidden_service/http_mon_domaine
chmod 2700 -R /var/lib/tor/hidden_service/http_mon_domaine

Éditez le fichier de configuration de tor /etc/tor/torrc

sudo nano /etc/tor/torrc

À la fin du fichiers, adaptez puis ajoutez les lignes suivantes:

        HiddenServiceDir /var/lib/tor/hidden_service/http_mon_domaine
        HiddenServicePort 80 127.0.0.1:81

Recommencez pour chaque Hidden Service.

Appliquez et testez

Redémarrez Tor et HaProxy

( service tor restart ; service haproxy restart )

Attendez un peu que Tor crée ses routes puis tentez de vous connecter sur la page avec votre client préféré.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.