Installer son propre serveur VPN sur le Cloud (Pritunl / AWS)

Installer son propre serveur VPN sur le Cloud (Pritunl / AWS)

Toujours dans la série “Offre gratuite d’AWS donc en profite“, nous allons voir comment installer son propre serveur VPN sur une instance EC2 !

Comme dit dans le titre, nous allons installer un serveur VPN sur une instance EC2 du Cloud d’Amazon. Je ne vais pas revenir ici sur ce qu’est un VPN, son mode de fonctionnement, etc etc étant donné les articles que j’ai déjà fait à ce sujet, et idem pour le fonctionnement d’EC2.

Sans plus attendre, lançons nous dans le vif du sujet !

I) Pritunl, c’est quoi ?

Pour faire simple, Pritunl est une surcouche à OpenVPN permettant de réaliser très simplement son propre serveur VPN. Que ce soit du site à site ou client à site, il est entièrement configurable et propose d’une interface web pour créer facilement des organisations, utilisateures, et serveurs. Il propose aussi un client desktop (MacOS/GNU-Linux/Windows) permettant de facilement se connecter à ses services.

Il propose d’ailleurs une intégration complète avec AWS pour relier plusieurs sites entre eux, un peu comme ceci :

Mais ici nous allons plutôt partir sur quelque chose du genre :

Client -> Internet -> Instance EC2 (VPN) -> Internet

Ce qui nous permettra donc d’utiliser Pritunl comme un “vrai” serveur VPN semblable à NordVPN, ProtonVPN et autre du même acabit. De cette manière, le site que l’on visitera verra l’IP de notre instance EC2 et non la nôtre. C’est certes classique, mais ça permettra de vous présenter l’outil et si vous disposez d’un petit VPS Offshore, ça peut être très sympa pour ne pas devoir faire confiance aveuglément aux prestataires listés juste avant 😛

II) Installation

On part donc sur notre classique Ubuntu 18.04 LTS et on suit la doc’ officielle :

sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list << EOF
deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse
EOF

sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb http://repo.pritunl.com/stable/apt bionic main
EOF

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv E162F504A20CDF15827F718D4B7C549A058F8B6B
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
sudo apt-get update
sudo apt-get --assume-yes install pritunl mongodb-server
sudo systemctl start pritunl mongodb
sudo systemctl enable pritunl mongodb

Mise à jour des dépôts, ajout des clés, mise à jour, et installation de MongoDB/Pritunl puis activation des services et démarrage automatique.

Au passage, ne pas oublier de désactiver la vérification source/destination de notre instance EC2 en se rendant dans les paramètres réseau, sinon cela peut provoquer quelques soucis :

Une fois fait nous devons générer la clé de setup via la commande sudo pritunl setupkey, comme expliqué sur l’interface web :

On génère ensuite un mot de passe initial via la commande sudo pritunl default-password :

Ensuite nous devons simplement changer le mot de passe par défaut, on ne touche pas au reste de la configuration et on poursuit. La prochaine étape est donc la création d’une Organisation :

Puis la création d’un utilisateur, avec un nom et un code PIN :

Puis la création du serveur lui-même, avec un nom, un port/protocole (le choix par défaut est très bien), un serveur DNS qui sera attribué au client, et le choix du subnet pour le réseau virtuel (ici un /29 pour limiter à 5 clients maximum) :

Vous noterez que l’on peut même activer la double authentification !

On continue en rattachant notre organisation à notre serveur créé juste avant :

A partir de là il nous suffit de télécharger la configuration en allant sur Users et démarrer notre serveur en allant sur Servers (qui a parlé de difficulté ?).

II) Installation du client et connexion

On peut donc se rendre sur le site officiel pour télécharger le fameux client, qui est une surcouche graphique à OpenVPN. Ici rien de très sorcier, vous rajoutez simplement la configuration, et en cliquant sur Connect le PIN de l’utilisateur vous sera demandé, rentrez-le et admirez !

La connexion est correctement établie, niquel !

Et si l’on veut tester ça pour être sûr :

Comme on peut le voir, l’adresse IP de notre instance EC2 est bien la même que celle de notre IP publique, c’est tout bon !

Et bien c’est déjà la fin de cet article qui j’espère vous aura fait découvrir ce logiciel plutôt génial, de par sa simplicité et sa stabilité. Pour ceux le connaissant déjà, j’espère vous avoir aidé en vous proposant ce rapide tutoriel en français 🙂

3 commentaires

comments user
Roland Emmanueli NGASSAKI ITOUA

bonjour Mairien Anthony je suis étudiant en réseaux je prépare mon mémoire sur l’étude et la mise en place du principe Zero trust
Je veux le faire avec pritunl mais je suis vraiment perdu sur la problématique et j’ai pas vraiment des documents sur cette solution

    comments user
    Mairien Anthony

    Que recherches-tu exactement ? Car là comme ça difficile de t’aider :S

      comments user
      Roland Emmanueli NGASSAKI ITOUA

      je veux installer et configurer pritunl zero afin de mettre en place un Serveur BeyondCorp offrant une sécurité zéro confiance pour un accès privilégié aux applications SSH et Web mon mail afin de me répondre je serais plus reactifs la bas itouamanu@gmail.com

Laisser un commentaire

You May Have Missed