Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.
Bonjour,
Derrière ce titre accrocheur et pas vachement explicite je vais vous montrer comment se protéger de l’espionnage passif et massif de nos futures amies les boites noires autorisé par la future loi sur le renseignement (qui sont peut-être déjà en place depuis 2001 va savoir …).
Si vous atterrissez et que vous découvrez la loi sur le renseignement (les médias sont sous silence alors ce n’est pas étonnant, mais pas pour autant pardonnable) sachez que vous pouvez rattraper votre retard avec la dernière vidéo de DataGueule pour commencer :
Pour une explication plus complète, vous pouvez lire l’EXCELLENT article de NextImpact :
Vous commencez à avoir plus peur de votre gouvernement que d’un clodo mal rasé caché dans une montagne en Syrie ?
Normal, notre pays se transforme peu à peu en gouvernement totalitaire alors je vais essayer d’apporter ma petite pierre à l’édifice contre cette armée de malade (Le gouvernement Français hein).
Le matériel nécessaire :
Dans mon cas, le Raspberry est branché sur une batterie externe qui sert d’UPS pour la bête. Cette batterie externe est connectée en USB sur ma Livebox.
J’ai acheté tout mon matos chez Amazon :
- Raspberry Pi 2
- Sandisk MicroSDHC 16 Go
- Boitier pour le Raspberry (optionnel)
- Câble USB
- Batterie 10000 mah (optionnel)
Tout cela vous coutera 80€. Si vous enlevez les composants optionnels, vous tombez à 60€ à peu près.
Pour ceux qui ne visualise pas bien les connexions électriques, voici un schéma rapide :
La partie logicielle :
Maintenant, je vais vous expliquer ce que l’on va faire au niveau logiciel.
Nous aurons besoin :
- De la dernière version de Raspbian (fichier .torrent).
- D’un serveur OpenVPN déjà configuré (lien vers mon dernier article).
- De DNSmasq (serveur DHCP + DNS).
- Du client OpenVPN pour Debian.
- D’une main droite et d’une main gauche (pour ceux qui ont deux mains gauches, je ne promets rien).
Le but est de faire passer absolument tout le trafic par le Raspberry Pi qui se chargera ensuite de tout faire passer par le tunnel OpenVPN.
Voici encore un schéma pour vous aider à saisir l’idée :
L’installation :
Avant tout, vous devez mettre l’image de Raspbian sur votre carte MicroSD.
Ça tombe bien, Florian a fait un article qui casse 3 pattes à un canard sur ce sujet.
Maintenant que votre Raspbian est ready, connectez-vous en root :
sudo -i
Maintenant, installez les paquets nécessaires :
apt-get install dnsmasq openvpn -y
On va d’abord configurer OpenVPN. Allez dans le répertoire du logiciel :
cd /etc/openvpn/
Rapatriez votre fichier .ovpn (voir mon article sur l’installation d’un serveur OpenVPN) et remplacez le fichier client.conf avec ça :
cp client.conf clienf.conf.old cp client.ovpn client.conf
Redémarrez le service OpenVPN et ça devrait être vert :
C’est cette manipulation qui permettra d’avoir une connexion permanente à votre serveur VPN externe.
Maintenant, on va aussi configurer DNSmasq. Nettoyez et ouvrez le fichier de configuration avec les commandes suivantes :
rm /etc/dnsmasq.conf nano /etc/dnsmasq.conf
Collez la configuration suivante dans le fichier :
domain-needed expand-hosts bogus-priv interface=eth0 domain=home.local cache-size=256 dhcp-range=192.168.1.150,192.168.1.200,16h dhcp-option=23,64 dhcp-option=1,255.255.255.0 dhcp-option=3,192.168.1.254 dhcp-option=6,192.168.1.254 server=80.67.169.12 server=80.67.169.40
Rapidement, cela configure un pool d’adresse qui s’étend de 192.168.1.150 à 192.168.1.200 /24 (50 adresses disp donc) qui oblige les clients à passer par le raspberry pour tout le trafic (DNS aussi).
Ici, le Raspberry dispose de l’adresse IP suivante : 192.168.1.254
Si ce n’est pas le cas chez vous, adaptez en conséquence.
Si vous voulez un article qui vous expliquera tout en détail mieux que moi, celui de Carla Schroder est excellent (en anglais).
Une fois que c’est fait, redémarrez DNSmasq avec la commande suivante :
service dnsmasq restart
Et non, je ne ferais pas la blague sur le Cinquième élément une deuxième fois (si vous n’aviez pas compris la référence, quittez ce site. Merci) 🙂
Pensez à désactiver tous les autres serveurs DHCP présents sur votre réseau. Celui de la box de votre F.A.I. notamment, sinon vous allez avoir un beau boxon.
Pour finir, nous allons forcer tout le trafic réseau à passer par le vpn.
Avant tout, je tiens à préciser que j’utilise l’interface eth0 du Raspberry. Encore une fois, adaptez en conséquence.
Ouvrez le fichier de configuration des interfaces et rajoutez la ligne suivante à la fin de l’interface eth0 :
post-up iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE post-up echo 1 > /proc/sys/net/ipv4/ip_forward
Votre fichier DOIT ressembler à ceci :
auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.254 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.254 post-up iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Maintenant, redémarrez votre Raspberry Pi avec la commande suivante :
reboot
Redémarrez aussi toutes les machines de votre réseau.
Par exemple, avec un petit coup d’ipconfig sous Windows on peut voir que les serveurs DHCP et DNS ont bien l’adresse du Raspberry Pi :
Maintenant, sans rien configurer d’autre vous pourrez voir que votre adresse IP a changée :
Et voilà, vous n’êtes pas invulnérables maintenant et si vous continuez de donner toutes vos infos à google et facebook c’est même inutile.
Toutefois, la surveillance passive de ces boites noires sera inefficace sur vous et c’est déjà ça de pris 😉
Les partisans de la loi sur le renseignement ressembleront bientôt à ceci :
Hello,
Je suis tombé sur ce poste qui est de février 2017 https://itchy.nl/raspberry-pi-3-with-openvpn-pihole-dnscrypt …
Qu’en penses-tu ? es-ce-que dnscrypt et dnsmasq c’est la même chose ? quel est la différence ?
Merci d’avance
Salut,
Pour cet article (07/06/2015) tu utilises une raspi 2 B ….
A mon grand étonnement les prix de la 2B sont égaux aux prix de la 3B, je pourrais donc envisager de prendre une 3B ?
Et la raspi zero W conviendrait-elle ?
Hello,
Prends plutôt un 3B.
Bonjour, je viens de tomber sur cet article super interessant. Merci. Comme ca date de plus de 2 ans, peux-tu eventuellement faire une MAJ s’il y a du nouveau (mato ou logiciel plus performant, etc). Par ailleurs il y a des routeurs avec VPN integre, donc ca fait la meme chose que ce Pi Zero non?
Par contre, je vois pas trop l’intérêt de la batterie.
La batterie sert d’UPS tout simplement, en cas de coupure de courant.
J’ai un peu du mal à comprendre… là tu connecte juste le raspberry pi à un VPN, en quoi ça impacte les autres machines locales ?
Bonjour, il n’y a qu’un connecteur rj45, comment fais tu pour connecter tout tes postes au Raspberry et lui le connecter a la box???
J’ai du louper un truc….
Bonjour,
Tu connecte le tout à un switch.
Soit je suis con, soit je suis fatigué, mais là, il me semble qu’au final tu ne fais que connecter tes machines du réseau local à un VPN local, qui se trouve donc derrière la box, ce qui fait que tout le trafic de sortie finalement passe par la box, et donc sniffables par les boites noires. Pour que ça fonctionne, il faut que le VPN se trouve dans un réseau hors contrôle de ton FAI, mais là encore, ça ne t’épargne pas celles qui seront installées chez les hébergeurs français, qui seraient alors à éviter aussi. Et si ça… Voir plus »
Ok, faudrait peut-être mettre un peu plus d’emphase sur la configuration de la partie client du Pi (préciser que c’est grâce à ce fichier qu’on fait tout transiter vers le vpn extérieur). Parce que là, ça parait magique au final.
D’ailleurs, normalement y’a pas que le fichier de conf à rapatrier, faut aussi la clé et le certificat 😉
Mais c’est parce que c’est magique 🙂
Pour ce qui est de la clé et du certificat, ils sont inclus dans le fichier .ovpn qui est généré à l’aide du tutoriel que j’ai mis en lien 😉