Comme vous le savez, la protection de la vie privée est devenu un enjeu très important depuis les révélation de notre cher Snowden. Dans ce post je vais vous expliquer comment créer un installer votre propre VPN sur votre appareil iOS grâce à OpenVPN.

OpenVPN

Pourquoi avoir son propre serveur VPN alors que pleins de services gratuits ou payants sont disponibles ? Et bien certains VPN Providers gardent en stock les logs de connexions permettant d’obtenir votre IP réelle ou même d’acceder à d’autres données plus sensibles si elles ne sont pas chiffrées, telle que les mots de passe.

D’autres fournisseurs limitent la bande passante ou le temps d’utilisation du VPN dans le cas d’un service gratuit.

Le fait d’avoir son propre serveur VPN permet de tout contrôler, d’autant plus que Open VPN que je vais utiliser dans ce post est Open Source ce qui est très important pour travailler en toute transparence.

logo

Installation

Je vais séparer l’installation en deux parties : serveur et client. Le serveur est un Linux Ubuntu 16.0 hébergé chez OVH. Et le client est un iPhone (peut importe quel model)

Serveur

Le fait est que le configuration peut être perilleuse et vous pouvez vite vous retrouver avec des failles dans votre configuration, alors on va passer par un script écrit par Stanislas Lange : OpenVPN-install. Ce script fonctionne uniquement sur des machines GNU/Linux.

On va d’abord cloner le repo Github sur le serveur comme ceci :

$ git clone https://github.com/Angristan/OpenVPN-install
Cloning into 'OpenVPN-install'...
remote: Counting objects: 832, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 832 (delta 0), reused 1 (delta 0), pack-reused 829
Receiving objects: 100% (832/832), 164.54 KiB | 0 bytes/s, done.
Resolving deltas: 100% (443/443), done.
Checking connectivity... done.

Le repo est maintenant sur votre machine, pour le lancer il faut d’abord le rendre executable puis on pourra la lancer en tant que root grâce à sudo

$ cd OpenVPN-install
$ chmod +x chmod +x openvpn-install.sh
$ sudo ./openvpn-install.sh

A ce moment là vous devrez rentrer votre mot de passe utilisateur puis le script se lance. Celui-ci va poser plusieurs questions pour la configuration du VPN. Pour des raisons de sécurité il est préférables de laisser les options par défaut.

Welcome to the secure OpenVPN installer (github.com/Angristan/OpenVPN-install)

I need to ask you a few questions before starting the setup
You can leave the default options and just press enter if you are ok with them

I need to know the IPv4 address of the network interface you want OpenVPN listening to.
If your server is running behind a NAT, (e.g. LowEndSpirit, Scaleway) leave the IP address as it is. (local/private IP)
Otherwise, it should be your public IPv4 address.
IP address: 192.168.72.133

[...]

Finally, tell me a name for the client certificate and configuration
Please, use one word only, no special characters
Client name: client

Okay, that was all I needed. We are ready to setup your OpenVPN server now
Press any key to continue...

Après avoir appuyé sur n’importe quelle touche de votre clavier, le script va lancer l’installation d’OpenVPN ainsi que sa configuration.

Finished!

Your client config is available at /home/mathieu/client.ovpn
If you want to add more clients, you simply need to run this script another time!

Après l’installation et la configuration un nouveau profile est créé dans votre repertoire personnel dans mon cas c’est : mathieu.ovpn

Client

Vous avez fait plus de la moitié du boulot. Maintenant que vous avez un profile pour le VPN, copiez-le sur une machine avec iTunes dessus.

Sur votre iBidule il vous faudra télécharger le client iOS Open VPN disponible sur l’App Store.

ovpn

Une fois installé, connectez votre appareil iOS sur iTunes. Dans la section Apps cliquez sur l’icone OpenVPN puis sur Ajouter un fichier et vous ajoutez le profile que vous avez au préalable copié sur votre machine

itunes1

Lancez l’application OpenVPN, celle-ci aura detecté le profile de connexion automatique, il ne vous reste plus qu’à appuyer sur le +.

vpn1

La connexion est lancée, toutes les connexions de votre appareil passent par votre serveur OpenVPN

vpn2

En esperant que ce post ai été utile.

Si vous avez besoin d’infos contactez-moi sur twitter: @matteyeux 

Github : https://github.com/matteyeux