Visualiser une révision

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

voxdemonix : révision n°2 (26 juin 2018 13:10:59)

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](https://www.haproxy.org/) est un [proxy](https://fr.wikipedia.org/wiki/Proxy) permettant de [répartir la charge](https://fr.wikipedia.org/wiki/R%C3%A9partition_de_charge) réseau sur une ou plusieurs machines. [Tor Hidden Service](https://www.torproject.org/docs/onion-services.html.en) 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](https://fr.wikipedia.org/wiki/Tor_%28r%C3%A9seau%29) pour fonctionner.
Plusieurs Hidden Service peuvent bien entendu pointer vers le même backend.

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 (_drwx--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é.**



Farm Link
=========

* [[Tuto/HowTo] Ajouter des Tor Hidden Service a vos frontends HaProxy](https://www.0rion.netlib.re/forum4/viewtopic.php?f=79&t=788) (article original)
* [[Tuto/HowTo] HaProxy - bannir User-Agent](https://linuxfr.org/wiki/tuto-howto-haproxy-bannir-user-agent)
[Configuring Onion Services for Tor](https://www.torproject.org/docs/tor-onion-service.html.en)
* [[Tuto/HowTo] [Ubuntu/Debian] Load Balancing - redirection vers plusieurs vhost avec HaProxy](https://linuxfr.org/forums/linux-general/posts/tuto-howto-ubuntu-debian-load-balancing-redirection-vers-plusieurs-vhost-avec-haproxy)
* [[Tuto/HowTo] [Debian/Ubuntu] Clusteriser vos bases de données MariaDB avec Galera Cluster et HaProxy](https://linuxfr.org/wiki/tuto-howto-debian-ubuntu-clusteriser-vos-bases-de-donnees-mariadb-avec-galera-cluster-et-haproxy)