Surfer en toute anonymat avec un vpn.

Surfez couverts

Sommaire

Quand on choisit d’utiliser un vpn pour protéger sa vie privée, il me semble qu’il convient par principe de ne pas recourir à des revendeurs de solution vpn toutes faites (et toutes sales). Surtout qu’un simple vps peut faire l’affaire, on en trouve entre 3 ou 5€. Il faut juste faire attention à ce que le serveur ne soit pas en France; afin de faire plaisir au ministre de l’intérieur et à ses politiques en faveur de la liberté.

D’ici cet été, je réviserai sans doute mon avis puisque Prontonmail devrait sortir de beta son offre de vpn (le code du service étant sous licence MIT, et au vu du sérieux du groupe, ce sera sans doute LA solution d’ici quelque temps).

Edit du 21/04/2017: j’ai testé protonvpn, et c’est effectivement un excellent service. Je complète l’article pour ajouter la manip qui permet d’automatiser la connexion à ce vpn au démarrage.

Choisir son script

Une fois votre serveur en main, il convient de choisir entre 3 manières d’installer votre vpn: - La première étant de tout faire à la main: je suis loin d’être un expert, et ainsi je ne me fais pas assez confiance. Rien de plus absurde que d’utiliser un VPN qui fait aussi passoire. - La seconde et la troisième que je propose est d’utiliser un script de configuration; soi celui de Nyr, soi celui d’Angristan. Les deux sont hébergés sur github (oui, personne n’est parfait); mais ils ont bonne presse. Le script d’Angristan est un fork de Nyr puisqu’il désirait renforcer le chiffrement. C’est effectivement une bonne idée, même si pour ma part je me suis basé sur la popularité pour faire mon choix. Ici, je vous laisse prendre votre décision.

Les deux s’installent simplement, un git clone, un chmod a+x, et un bash suffiront pour lancer un script interactif où vous n’aurez qu’à répondre à quelques questions simples. En bout de course vous devriez disposer d’un fichier de configuration de la forme: votre-pseudo.ovpn.

Mise en place de la connexion à openvpn

L’étape suivante est de programmer la connexion de votre machine au vpn au lancement de votre session. Cela se fait très facilement avec openvpn et systemctl.

On télécharge le fichier votre-votre-pseudo.ovpn, on se place dans son répertoire et on lance:

~$ cp votre-pseudo.ovpn /etc/openvpn/votre-pseudo.conf

On copie, on renomme en .conf, et on colle dans le répertoire /etc/openvpn le fichier de configuration.

~$ systemctl enable openvpn@votre-pseudo

Un reboot, et c’est dans la boite! Pour aller un peu plus loin, on peut ajouter DNScrypt comme résolveur de son VPN, ce qui commence alors à faire quelque chose de très propre. Je vous laisse lire mon précédent papier pour installer et faire fonctionner ensemble DNScrypt et Dnsmasq, parce qu’on va en avoir besoin.

Ces deux services en fonction, il suffit de dire à openvpn de faire ses requêtes sur son ip (localement), et à Dnsmasq d’écouter cette ip. Normalement l’ip de votre serveur vpn devrait être 10.8.0.1, pour en être sûr faites ifconfig, et regardez l’ip sur l’interface tun0.

~$ nano /etc/openvpn/server.conf
      push "dhcp-option DNS 10.8.0.1"
      #Commentez, où supprimer les lignes "dhcp-option" restantes
~$ nano /etc/dnsmasq.conf
      listen-address=127.0.0.1, 10.8.0.1
~$ systemctl restart dnsmasq.service
~$ systemctl restart openvp

Bonus: Se connecter automatiquement

Ajout du 21/04/2017: Pour les amateurs de protonvpn, vous pouvez oubliez l’ajout de dnscrypt (vous n’avez pas la main sur le serveur), et il y a une étape supplémentaire à réaliser pour se connecter automatiquement au démarrage. En effet il va vous être nécessaire d’indiquer votre mot de passe et votre login protonvpn afin de vous connecter. Pour se faire il faut créer un simple fichier texte auth.txt où vous renseignerez les informations demandées, ainsi que de modifier le fichier de conf de protonvpn XXX.protonvpn.com.udp1194.conf afin qu’openvpn sache où sont stockés l’identifiant et le mot de passe.

~$ nano /etc/openvpn/auth.txt
      votre-login-protonvpn
      votre-mot-de-passe-protonvpn
~$ nano /etc/openvpn/XXX.protonvpn.com.udp1194.conf
      auth-user-pass /etc/openvpn/auth.txt

Terminons en protégeant ce document auth.txt des regards “normaux”.

~$ chmod 600 /etc/openvpn/auth.txt

Bisous et calins à toi camarade!