Comment héberger votre propre VPN avec Algo et Cloud Hosting

Des entreprises du monde entier vendent des services VPN pour sécuriser votre activité en ligne, mais pouvez-vous vraiment faire confiance à un fournisseur VPN? Si vous le souhaitez, vous pouvez créer votre propre réseau privé virtuel avec l’open-source Logiciel Algoet le fournisseur d’hébergement cloud de votre choix.

VPN et confiance

Indépendamment de ce que dit ou se vante la politique de confidentialité sur les audits de sécurité sur un blog d’entreprise, rien n’empêche un VPN de surveiller tout ce que vous faites en ligne. En fin de compte, choisir un service VPN revient à faire confiance.

Si faire confiance aux services en ligne sans visage n’est pas votre truc, une alternative consiste à exécuter votre propre serveur VPN. C’était une tâche ardue, mais grâce à la projet open-source Algo de la société de sécurité Sentier des bits, créer votre propre VPN est désormais facile.

Pour 5 $ par mois, vous pouvez exécuter et contrôler votre propre serveur VPN à plein temps. Mieux encore, vous pouvez utiliser Algo pour configurer et démanteler les serveurs VPN selon vos besoins et économiser de l’argent dans le processus.

Pour configurer Algo, vous devez utiliser la ligne de commande. Si cela est déconcertant, ne vous inquiétez pas, nous vous guiderons à chaque étape.

Ces instructions peuvent sembler beaucoup, mais ce n’est que parce que nous expliquons autant que possible. Une fois que vous avez créé un VPN avec Algo à plusieurs reprises, cela ne devrait pas prendre très longtemps. De plus, vous ne devez configurer l’environnement d’installation d’Algo qu’une seule fois. Après cela, vous pouvez créer un nouveau serveur VPN en quelques touches.

Mais pouvez-vous être sûr que les scripts d’Algo ne font rien de mal? Eh bien, la bonne nouvelle est Le code d’Algo est public sur GitHub à tout le monde à regarder. De plus, de nombreux experts en sécurité sont intéressés par le projet Algo, ce qui rend les méfaits moins probables.

Ce qu’Algo peut (et ne peut pas) faire

Un VPN est un bon moyen de protéger votre activité en ligne, en particulier sur un réseau Wi-Fi public dans un aéroport ou un café. Un VPN rend la navigation Web plus sécurisée et bloque tous les acteurs malveillants qui pourraient se trouver sur le même réseau Wi-Fi local. Un VPN peut également aider si votre FAI limite certains types de trafic, comme les torrents.

Mais attention, pirates! Le téléchargement de butin via votre propre VPN n’est pas une bonne idée, car l’activité peut plus facilement vous être retracée.

De plus, si vous voulez regarder Netflix via votre VPN, vous devrez chercher ailleurs – Algo ne fonctionne pas avec. Cependant, il existe de nombreux services commerciaux qui prennent en charge Netflix.

Prérequis pour Algo

Pour faire fonctionner un serveur VPN Algo, vous avez besoin d’un shell Unix Bash. Sur un système Mac ou Linux, vous pouvez utiliser votre programme Terminal, mais sous Windows, vous devrez activer le sous-système pour Linux. Voici comment installer et utiliser le shell Linux Bash sur Windows 10.

Vous aurez également besoin d’un compte chez un fournisseur d’hébergement de serveur cloud. Algo prend en charge tous les éléments suivants:

DigitalOcean
Amazon Lightsail
Amazon EC2
Vultr
Microsoft Azure
Google Compute Engine
Scaleway
Nuage Hetzner
Il s’installe également sur les instances OpenStack et CloudStack.

  Qu'est-ce que l'attaque de phishing Punycode et comment rester en sécurité

Si vous n’avez jamais utilisé l’un de ces services, nous vous recommandons DigitalOcean, car il est très convivial. C’est aussi le service que nous utilisons dans ce tutoriel. Le processus sera un peu différent si vous utilisez un autre fournisseur.

Lorsque votre compte DigitalOcean est prêt à être utilisé, connectez-vous, puis, dans le tableau de bord principal, sélectionnez «API» dans le panneau de gauche sous l’en-tête «Compte».

Sur la page suivante, cliquez sur « Générer un nouveau jeton ». Un jeton d’accès est une longue chaîne de lettres et de chiffres qui permet d’accéder aux ressources du compte sans nom d’utilisateur ni mot de passe. Vous devrez nommer le nouveau jeton. En général, c’est une bonne idée de le nommer d’après l’application que vous utilisez, par exemple «algo» ou «ian-algo» (si votre prénom se trouve être Ian).

le Menu «Applications et API» de DigitalOcean.

Une fois le nouveau jeton généré, copiez-le et collez-le dans un document texte sur votre bureau. Vous en aurez besoin dans quelques minutes.

Configuration de votre environnement

De retour sur votre bureau, ouvrez une nouvelle fenêtre de terminal, tapez cd (pour «changer de répertoire», qui est ce que les dossiers sont appelés dans le monde Unix), et appuyez sur Entrée. Cela garantira que vous travaillez à partir du répertoire personnel du terminal.

Au moment d’écrire ces lignes, Algo nécessite Python 3.6 ou version ultérieure. Tapez ce qui suit dans votre programme de terminal:

python3 --version

Si vous obtenez une réponse comme Python 3.6.9, vous êtes prêt à partir; sinon, vous devrez installer Python 3.

Pour installer Python 3 sur Mac, vous pouvez utiliser le gestionnaire de packages Homebrew. Lorsque Homebrew est prêt à fonctionner, tapez la commande suivante dans une fenêtre de terminal:

brew install python3

Si vous utilisez Ubuntu Linux ou WSL sous Windows, ils devraient avoir Python 3 par défaut. Sinon, les méthodes d’installation varient en fonction de votre version de Linux. Recherchez en ligne «installer Python 3 sur [insert your version of Linux here]»Pour les instructions.

Ensuite, vous devez installer Virtualenv de Python3 pour créer un environnement Python isolé pour Algo. Tapez ce qui suit dans Bash sur un Mac:

python3 -m pip install --upgrade virtualenv

Sur Ubuntu Linux et WSL, la commande est la suivante:

sudo apt install -y python3-virtualenv

Notez que nous adaptons ce didacticiel à Ubuntu et aux distributions associées, mais ces instructions fonctionneront également pour d’autres versions de Linux avec quelques modifications mineures. Si vous utilisez CentOS, par exemple, vous substituerez les instructions utilisant apt par dnf.

Ensuite, nous devons télécharger Algo avec la commande wget. Les Mac n’ont pas installé wget par défaut, donc pour l’obtenir via Homebrew, tapez ce qui suit:

brew install wget

L'utilitaire wget dans une fenêtre de terminal.L’utilitaire wget récupérant les fichiers d’installation d’Algo.

Maintenant, téléchargeons les fichiers d’Algo:

wget https://github.com/trailofbits/algo/archive/master.zip

Une fois wget terminé, il y aura un fichier compressé appelé «master.zip» dans le répertoire personnel de votre terminal; vérifions cela avec ls.

Si vous voyez «master.zip» dans la liste des fichiers et dossiers qui s’affiche, vous êtes prêt à partir. Sinon, essayez à nouveau d’exécuter wget.

Maintenant, nous devons décompresser le fichier, nous tapons donc ce qui suit:

unzip master.zip

Une fois que c’est fait, appuyez à nouveau sur ls. Vous devriez maintenant voir un nouveau dossier dans votre répertoire personnel appelé «algo-master».

Nous sommes presque prêts pour l’action, mais d’abord, nous devons configurer notre environnement isolé et installer quelques dépendances supplémentaires. Cette fois, nous travaillerons dans le dossier «algo-master».

  Comment configurer l'authentification à deux facteurs à partir de votre iPhone

Tapez ce qui suit pour basculer vers le dossier:

cd ~/algo-master

Assurez-vous que vous êtes là avec cette commande:

pwd

Cela signifie «imprimer le répertoire de travail», et il devrait vous montrer quelque chose comme / home / Bob / algo-master ou / Users / Bob / algo-master. Maintenant que nous sommes au bon endroit, préparons tout.

Copiez et collez ou tapez la commande ci-dessous sur une seule ligne (n’appuyez pas sur Entrée jusqu’à la fin):

python3 -m virtualenv --python="$(command -v python3)" .env && source .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt

Le terminal Bash fonctionnant dans une fenêtre de terminal.

Cela déclenche de nombreuses actions dans le répertoire Algo pour se préparer à s’exécuter.

Ensuite, vous devez nommer vos utilisateurs pour le VPN. Si vous ne les nommez pas tous maintenant, vous devrez soit conserver les clés de sécurité (ce qui est moins sécurisé), soit démarrer un nouveau serveur à partir de zéro plus tard.

Dans tous les cas, saisissez ce qui suit dans le terminal:

nano config.cfg

Un fichier de configuration Algo dans une fenêtre de terminal.

Cela ouvre l’éditeur de texte de ligne de commande convivial, Nano. Le fichier de configuration Algo contient beaucoup d’informations, mais nous ne sommes intéressés que par la partie qui dit «utilisateurs». Tout ce que vous avez à faire est de supprimer les noms d’utilisateur par défaut (téléphone, ordinateur portable, ordinateur de bureau) et de saisir un nom pour chaque appareil que vous souhaitez sur votre VPN.

Par exemple, si je crée un VPN pour moi-même, Bill et Mary, le fichier de configuration peut ressembler à ce qui suit:

users: - Ian_PC - Bill_Mac - Mary_PC - Ian_Android - Bill_iPhone - Mary_iPhone

Une fois que vous avez nommé tout le monde, appuyez sur Ctrl + O pour enregistrer le fichier, suivi de Ctrl + X pour quitter.

Nous sommes presque prêts à passer à l’action, mais les utilisateurs de Windows doivent d’abord faire un petit détour. WSL ne définit généralement pas les autorisations utilisateur correctes pour le dossier Algo, ce qui perturbe Ansible (l’outil sur lequel Algo s’appuie pour déployer un serveur).

Sur WSL, tapez ce qui suit pour revenir à votre répertoire de base:

cd

Ensuite, tapez ce qui suit:

chmod 755 -R ~/algo-master

Pour revenir au dossier Algo, tapez:

cd ~/algo-master

Exécution d’Algo

Fichiers d'installation d'Algo s'exécutant dans une fenêtre de terminal.

Et c’est maintenant le moment de vérité.

Dans le dossier algo-master, saisissez ce qui suit dans la fenêtre du terminal:

./algo

La configuration Algo devrait commencer à s’exécuter. Vous saurez que cela fonctionne lorsqu’il vous demandera quel fournisseur de cloud vous souhaitez utiliser. Dans notre cas, nous sélectionnons le numéro (1) pour DigitalOcean.

Si Algo échoue, cela pourrait être un certain nombre de raisons que nous ne pouvons pas prévoir ici. Si l’erreur indique que votre répertoire est «configurable en écriture mondiale», suivez les instructions ci-dessus pour modifier les autorisations.

Si vous obtenez une erreur différente, vérifiez le page de dépannage dans le référentiel de projet Algo sur GitHub. Vous pouvez également copier le message d’erreur et le coller dans Google pour le rechercher. Vous devriez trouver un message sur le forum qui vous aidera, car il est peu probable que vous soyez la première personne à recevoir cette erreur.

Ensuite, il vous sera demandé le jeton d’accès que vous avez copié précédemment à partir de votre compte DigitalOcean. Copiez-le et collez-le dans le terminal. Vous ne verrez rien car Bash n’affiche pas les caractères pour les entrées de mot de passe et de phrase de sécurité. Tant que vous appuyez sur Coller, puis sur Entrée, cela devrait aller.

  Comment mesurer un objet à l'aide de la RA sous iOS

Si cela échoue, vous avez peut-être tout gâché la pâte, ce que tout le monde fait dans Bash. Tapez simplement ce qui suit pour réessayer:

./algo

Lorsque Algo est en cours d’exécution, répondez aux questions qu’il pose. Ce sont tous assez simples, comme ce que vous voulez nommer votre serveur (utiliser «algo» dans le nom est une bonne idée).

Ensuite, il vous demandera si vous souhaitez activer «Connexion à la demande» pour les appareils Mac et iOS. Si vous n’utilisez aucun de ces appareils, tapez N pour non. Il vous demandera également si vous souhaitez conserver les clés PKI pour ajouter plus d’utilisateurs plus tard; généralement, vous tapez N ici aussi.

C’est ça! Algo prendra maintenant environ 15 à 30 minutes pour que votre serveur soit opérationnel.

Utiliser Algo

Le logo WireGuard.

Lorsque Algo a terminé sa configuration, le terminal revient à une invite de ligne de commande, ce qui signifie que le VPN est prêt à fonctionner. Comme beaucoup de services commerciaux, Algo utilise le protocole WireGuard VPN, qui est la nouveauté la plus en vogue dans le monde des VPN. En effet, il offre une bonne sécurité, des vitesses plus élevées et est plus facile à utiliser.

Comme exemple de ce qu’il faut faire ensuite, nous allons activer Algo sur Windows. Pour configurer d’autres appareils, vous pouvez consulter le Dépôt Algo sur GitHub.

Tout d’abord, nous allons installer le client de bureau Windows générique à partir du Site WireGuard. Ensuite, nous devons alimenter le programme avec notre fichier de configuration pour le PC. Les fichiers de configuration sont stockés profondément dans le dossier algo-master à: ~ / algo-master / configs /[VPN server IP address]/ wireguard /.

Il existe deux types de fichiers pour configurer les périphériques clients VPN: .CONF et .PNG. Ces derniers sont des codes QR pour des appareils comme les téléphones, qui peuvent scanner des codes QR. Les fichiers .CONF (configuration) sont des fichiers texte pour les clients WireGuard de bureau.

Sur Mac et Ubuntu, il ne devrait pas être difficile de trouver le dossier algo-master en dehors de la ligne de commande. Sur Mac, algo-master se trouve dans le dossier Accueil; utilisez simplement Finder> Aller> Accueil pour vous y rendre. Sur Ubuntu, vous pouvez ouvrir Nautilus, et ce sera dans le dossier Accueil.

Sous Windows, cependant, WSL est distinct du reste du système d’exploitation. Pour cette raison, il est simplement plus facile de copier les fichiers avec la ligne de commande.

En utilisant notre exemple précédent, disons que nous voulons que le fichier de configuration «Mary-PC.conf» soit utilisé sur un PC Windows 10. La commande ressemblerait à quelque chose comme ceci:

cp ~/algo-master/configs/[VPN server IP address]/wireguard/Mary-PC.conf /mnt/c/Users/[your Windows user account name]/Desktop/

Notez l’espace entre Mary-PC.conf et / mnt /; c’est ainsi que Bash sait où se trouve le fichier à copier et où il va. La casse compte également, alors assurez-vous de saisir des majuscules à l’endroit spécifié.

Il est naturel sur Windows de vouloir mettre en majuscule le C dans le lecteur «C:», mais dans Bash, ce n’est pas le cas. N’oubliez pas non plus de remplacer les bits entre parenthèses par les informations réelles de votre PC.

Par exemple, si votre dossier utilisateur se trouve sur le lecteur «D:», et non sur «C:», remplacez / mnt / c / par / mnt / d /.

Une fois le fichier copié, ouvrez le client WireGuard pour Windows. Cliquez sur «Importer des tunnels à partir d’un fichier», puis sélectionnez votre fichier de configuration sur le bureau. Une fois cela fait, cliquez sur « Activer ».

En quelques secondes, vous serez connecté à votre propre VPN!