Comment faire un VPN rapidement ?

160
Partager :

WiRegard VPN est une application logicielle totalement libre qui nous permettra de créer des tunnels VPN. Ce logiciel complet inclut tous les protocoles de communication et de cryptographie nécessaires pour créer un réseau privé virtuel entre plusieurs clients et le serveur. WiRegard fournit de meilleures performances que IPsec et OpenVPN (à la fois en termes de vitesse et de latence de connexion), aujourd’hui nous allons vous expliquer ses principales fonctionnalités, comment les installer facilement et les configurer.

A lire également : Comment puis-je envoyer un mot de passe en toute sécurité ?

A découvrir également : Comment donner un avis sur l'entreprise ?

Fonctionnalités de WiRegard VPN

WiRegard VPN est un logicielpour créer un réseau privé virtuel (VPN) configuration très simple ,très rapidement (plus rapide que IPsec et OpenVPN) et utilise lacryptographie de pointe par défaut , sans avoir besoin d’un choix entre différents algorithmes de chiffrement symétriques, asymétrique et hachage. L’objectif de WiRegard VPN est de devenir standard et plus d’utilisateurs domestiques et d’entreprises commencent à l’utiliser, au lieu d’utiliser IPsec ou le populaire OpenVPN, qui est plus difficile à configurer et à ralentir. Ce logiciel est conçu pour que tous les spectateurs puissent l’utiliser, à la fois pour les utilisateurs à domicile et les superordinateurs.

Avec WiRegard VPN, vous n’ avez pas besoin de gérer les connexions , de prendre soin de l’état du réseau privé virtuel lui-même, de gérer les processus, ou de savoir ce qui se trouve sous le logiciel, de le faire fonctionner, tout comme IPsec, où il est souvent nécessaire de regarder les protocoles et de voir ce qui se passe sur. Un autre avantage est que la configuration est extrêmement basique, mais très forte.

Ce logiciel est L3 VPN , c’est qu’il utilise seulement le tunnel , il ne devient pas comme OpenVPN, où nous avons la possibilité de travailler en mode transport ou en tunneling mode. Dans ce cas, nous utiliserons toujours le mode tunnel, de plus, il est compatible à la fois avec les réseaux IPv4 et IPv6 , en outre, il peut encapsuler les paquets IPv4 dans IPv6 et vice versa. Le protocole de couche de transport utilisé par le programme WiRegard est UDP , donc dans notre routeur qui effectue NAT, nous devons ouvrir un certain port (sélectionner, il peut être changé).

Compatibilité du système d’exploitation

Ce nouveau logiciel VPN a d’abord été publié pour le noyau Linux, mais est une plate-forme car il est compatible avec Windows, Linux, macOS, FreeBSD, Android et iOS . L’une des forces de ce logiciel est que la configuration client et serveur est la même sur différents systèmes d’exploitation, en utilisant la même syntaxe, de sorte que vous pouvez configurer le serveur et les clients sous Linux, puis « passer » la configuration à d’autres périphériques avec d’autres systèmes d’exploitation à l’intérieur.

Cryptographie utilisée

Pour IPsec et OpenVPN, le client et le serveur doivent « s’entendre » sur les protocoles cryptographiques à utiliser, à la fois en Phase 1 et Phase 2 (IPsec) et dans le canal de contrôle et de données (OpenVPN)), sinon la connexion ne sera pas établie correctement. WiRegard fournit l’ensemble du « paquet » cryptographique , fournissant des connexions sans avoir à sélectionner quoi que ce soit. Si à un moment donné l’un des protocoles cryptographiques utilisés par ce VPN est considéré comme non sécurisé, il est aussi facile que d’exécuter une deuxième version de WiRegard avec un nouveau protocole qui n’a pas d’erreur de sécurité, et entre les clients et le serveur sera indiqué que nous utilisons « version 2″, ce qui nous est complètement transparent.

Un autre détail très important est que ce VPN utilise très peu de code source . Comparé à StrongSwan ou OpenVPN, il y a juste très peu de lignes de code, de sorte que les vérifications pourraient être faites en très peu de temps, il sera également plus facile de trouver des vulnérabilités ou des bogues de sécurité possibles. Avec moins de lignes de code, la zone d’attaque possible sur la programmation VPN est également plus petite.

WiRegard VPN utilise actuellement ChaCha20 pour le chiffrement symétrique, vérifié à l’aide du Poly1305 , en utilisant la conception AEAD. Il utilise également Curve25519 pour ECDH, BLAKE2 pour le hachage, Siphash24 pour les clés de hachage et HKDF pour la dérivation des clés, ce qui signifie que nous utilisons des algorithmes cryptographiques de pointe afin d’assurer une sécurité et des performances maximales.

Encourager l’itinérance et le meurtre

Ce logiciel est conçu pour être en mesure d’ errer facilement et rapidement si nos appareils change de réseau et change logiquement IP publique, par exemple, lorsque nous basculons du réseau Wi-Fi de notre opérateur et du réseau 4G/LTE, la connexion VPN restera annulée car ils se réauthentifient rapidement avec le serveur VPN, de sorte que nous serons toujours connectés à un VPN.

Nous pouvons également activer Kill-Switch sur l’appareil , de cette façon, si la connexion VPN est cassée, le logiciel lui-même sera également responsable de l’interruption de tout le trafic réseau jusqu’à ce que la connexion VPN soit restaurée, afin de ne pas naviguer sans la protection que ce VPN nous fournit.

Installation du VPN WiRegard

L’ installation de ce logiciel est vraiment facile, il suffit d’aller sur le site officiel WiRegard et de télécharger l’exécutable pour les systèmes d’exploitation Windows ou macOS. Si vous exécutez un système d’exploitation Linux avec des référentiels correspondants, vous devrez peut-être ajouter un Stockage WiRegard car il n’est pas « stable » dans la branche par défaut.

Par exemple, nous avons installé un serveur VPN dans la dernière version de Debian. Lors de l’installation, nous avons suivi les étapes indiquées sur le site officiel. Les privilèges de superutilisateur sont requis pour effectuer l’installation correctement.

sudo echo « deb http://deb.debian.org/debian/ unstable main”> /etc/apt/sources.list.d/unstable.list sudo printf ‘Package :*/nPIN : release a = instable/npin – Priorité : 90/n’>

/etc/apt/ preferences.d/limit-unstable sudo apt update sudo apt install wireguard Il ne faut pas oublier que ce VPN est également compatible avec les systèmes d’exploitation tels que FreeBSD, OpenBSD et même OpenWRT pour les routeurs, car il suffit de l’installer en utilisant « opkg », car généralement tous les autres logiciels sont installés.

Si vous allez installer un client VPN sur un smartphone Android ou iOS, nous avons actuellement des applications officielles, de sorte que vous pouvez l’installer sans problème à partir de Google Play et App Store dans cet ordre :

Configuration WiRegard : clés publiques, privées et fichiers de configuration

Une fois que nous avons installé WiRegard correctement, à la fois sur l’ordinateur qui agit comme un serveur et sur tous les clients que nous voulons connecter, il est nécessaire de le configurer. La première chose que nous devons faire est de créer une paire de clés publiques et privées sur le serveur ainsi que sur tous les clients que nous voulons connecter. Nous avons utilisé le système d’exploitation Debian pour générer des clés et aussi pour configurer le serveur, mais nous pourrions aussi le faire directement dans le logiciel Windows.

Le chemin d’exécution du serveur WiRegard sur Debian est/etc/wireguard/, donc nous allons sur ce chemin en utilisant la commande suivante :

cd /etc/filaireguard/

Générer une clé publique et privée pour

serveur Pour générer une paire de clés publiques et privées directement à cet emplacement, insérez simplement :

wg genkey | tee claveprivadaservidor | wg pubkey > clavepublicaservidor

Maintenant, nous aurons deux fichiers, un avec une clé publique et un avec un fichier privé :

  • Clé privée : 6jcQuylVTJshnCDWryMJ28xSlifJuvJlR2Y5O27Ro2c =
  • Clé publique : xetkjjBuyp8paxtGajwda qwjrd2rpxljrshmwcgdq =

Nous utiliserons ces clés pour le « serveur » WiRegard VPN.

Génération d’une clé privée et privée pour un client

Pour générer une autre paire de clés publiques et privées que nous utilisons dans le client, nous pouvons les créer dans un nouveau dossier ou les créer au même emplacement, mais sous un nom différent.

wg genkey | tee claveprivadacliente1 | wg pubkey > clavepublicacliente1

Maintenant, nous aurons deux fichiers, un avec une clé publique et un avec un fichier privé :

  • Clé privée : ypmpp2ray4Focejkmzqmlxzm/6RbiW9HKJy6PVFioni =
  • Clé publique : 6C12JLKZgu9Len1kQ/6FC61xm LL98TPPLLSri8kle =

Ces clés sont celles que nous utilisons pour le client VPN WiRegard.

Fichier de configuration du serveur

La configuration du serveur WiRegard est assez simple par rapport aux serveurs IPsec ou OpenVPN, mais nous devons prendre en compte quelques choses que nous expliquerons ci-dessous.

Sur le serveur, nous devrons avoir une « Interface », Dans cette section, nous pouvons marquer une adresse IP privée qui identifie le serveur lorsque le client se connecte. Nous devons nous rappeler que ce VPN est L3, donc nous pouvons donner n’importe quelle adresse IP privée qui n’est pas utilisée à tout moment. Par exemple, dans OpenVPN, le sous-réseau par défaut est 10.8.0.0/24, ici nous pouvons placer le même sous-réseau ou tout autre sous-réseau 192.168.2.0/24 (et 192.168.2.1 est le serveur lui-même et l’autre IP qui sont des clients). Avec syntaxe » Adresse  » Nous plaçons le réseau VPN que nous voulons.

Dans ” PrivateKey » Nous devrons entrer la clé privée que nous avons précédemment générée pour le serveur. Dans ” Listen  » Nous plaçons le port UDP que nous voulons utiliser pour le serveur, ce port est celui que nous devrons plus tard « ouvrir » dans NAT si nous sommes derrière le routeur avec NAT.

Enfin, dans cette section « Interface », nous pouvons également définir des commandes à exécuter après avoir levé l’interface virtuelle en utilisant « Procédure » et après avoir invoqué l’interface virtuelle en utilisant « PostDown ». Comme vous pouvez le voir, nous avons ceci actuellement commenté parce que nous ne voulons pas faire de NAT contre cette interface, mais cela pourrait être parfaitement fait.

Dans la section « Peer » Il y a un endroit où nous devrons mettre une liste de clients que nous pouvons rejoindre. Dans ce cas, nous attachons uniquement « pair », donc nous définissons votre clé publique en utilisant « Publickey » Ce que nous avons créé plus tôt (ou que le client nous a fourni parce qu’il est possible qu’il l’ait généré), et nous pouvons également indiquer si nous autorisons la connexion de cette adresse IP spécifique au client. Avec le « EIPS  » de la directive, nous pouvons filtrer les adresses IP source, si nous insérons 0.0.0.0/0, cela signifie que nous autorisons toute adresse IP.

Adresse = 192.168.2.1/24 PrivateKey = 6jcQuylVTJShnCDWryMJ28xSlifJuvjlR2Y5O27Ro2c = ListenPort = 51820

#PostUp = iptables -A avant -i% i -j ACCEPTER ; iptables -A avant -o% i -j Adopter ; iptables -t nat -A POSTROUGING -o ens33 -j MASQUERADE #PostDown = iptables -D avant -i% i -j Adopter ; iptables -D avant -o% i -j Adopter ; iptables -t nat -D POSTROUGHING -o ens33 -j MASQUERADE

Clé publique = 6C12JLKKZgu9Len1kQ/6FC61xm LL98TPPLLSri8kle = Allowedips = 0.0.0.0/0

Si nous voulons ajouter plus de « pairs », il suffit de les définir individuellement dans le fichier de configuration comme suit :

Adresse = 192.168.2.1/24 PrivateKey = 6jcQuylVTJShnCDWryMJ28xSlifJuvjlR2Y5O27Ro2c = ListenPort = 51820

#PostUp = iptables -A avant -i% i -j ACCEPTER ; iptables -A avant -o% i -j Adopter ; iptables -t nat -A POSTROUGING -o ens33 -j MASQUERADE #PostDown = iptables -D avant -i% i -j Adopter ; iptables -D avant -o% i -j Adopter ; iptables -t nat -D POSTROUGHING -o ens33 -j MASQUERADE

Clé publique = 6C12JLKKZgu9Len1kQ/6FC61xm LL98TPPLLSri8kle = Allowedips = 0.0.0.0/0

Clé publique = Clé publique client 2 Allowedips = 0.0.0.0/0

Clé publique = Clé publique du client 3 Allowedips = 0.0.0.0/0

Le fichier de configuration peut être appelé « wg0.conf » car WiRegard crée une interface virtuelle avec ce nom, ce qui le rend idéal pour leur résolution parfaite. Pour exécuter ce fichier de configuration, il vous suffit d’exécuter :

root @debian -vm : /etc/wireguard # wg-quick up wg0

Lorsque vous l’exécutez, WiRegard sera chargé de créer une interface virtuelle, d’insérer une adresse IP, MTU et même de créer des routes correspondantes dans la table de routage :

root @debian -vm : /etc/wireguard # wg-quick up wg0 lien ip ajouter wg0 type wireguard wg setconf wg0 /dev/fd/63 adresse ip -4 ajouter 192.168.2.1 dev wg0 jeu de liens ip mtu 1420 jusqu’à dev wg0 wg set wg0 fwmark 51820 ip -4 route ajouter 0.0.0.0/0 dev wg0 table 51820 ip -4 règle ajouter pas fwmark 51820 table 51820 ip -4 règle ajouter la table principale suppress_prefixlength 0 sysctl -q net.ipv4.conf.all.src_valid_mark=1 iptables-restore -n

Fichier de configuration pour les clients

La configuration du client WiRegard est assez simple par rapport aux serveurs IPsec ou OpenVPN, mais nous devons prendre en compte quelques choses que nous expliquerons ci-dessous.

Dans le client, nous devrons avoir une « Interface », Dans cette section, nous pouvons marquer adresse IP privée qui identifie le client lorsque nous nous connectons. Nous devons nous rappeler que ce VPN est L3, donc nous pouvons donner n’importe quelle adresse IP privée qui n’est pas utilisée à tout moment. Par exemple, dans OpenVPN le sous-réseau par défaut est 10.8.0.0/24, ici nous pouvons également mettre le même ou tout autre sous-réseau 192.168.2.0/24 (et 192.168.2.1 est le serveur lui-même et l’adresse 192.168.2.2 à partir de maintenant, être clients, avec la syntaxe « Adresse « Nous plaçons le réseau VPN que nous voulons.

Dans ” PrivateKey  » Nous devrons entrer la clé privée que nous avons précédemment générée pour le client.

Dans la section « Peer « Là, nous devrons mettre la clé publique » clé publique « du serveur WiRegard auquel nous allons nous connecter, c’est-à-dire, nous avons dû cette clé publique pour fournir le serveur. A cette occasion, nous pouvons également utiliser EnableIPs « , Mais l’opération est différente, à cette occasion, nous pouvons définir si nous voulons seulement parcourir VPN vers un certain sous-réseau (ou plusieurs sous-réseaux) ou nous voulons rediriger tout le trafic Internet en utilisant un réseau privé virtuel. Si nous plaçons des sous-réseaux séparés par des virgules, nous pouvons accéder à plusieurs serveurs que nous avons sur le serveur, si nous voulons renvoyer tout le trafic, nous insérons simplement 0.0.0.0/0, comme cela arrive avec IPsec.

Enfin, avec le « Point final  » de la directive, nous définissons l’adresse IP publique du serveur sur lequel s’exécute le VPN WiRegard, suivie des deux points ( 🙂 du port UDP utilisé. Nous devons nous rappeler que WiRegard utilise UDP, donc nous ne devrions pas le filtrer sur les pare-feu.

Logiciel et communication avec WiRegard tente de passer autant que possible inaperçue s’il n’est pas utilisé, c’est-à-dire qu’il n’envoie pas de données en continu via VPN pour maintenir le tunnel actif, idéal pour stocker des batteries et des données mobiles sur smartphones. Dans la plupart des configurations habituelles, cela fonctionne parfaitement, mais si nous sommes derrière NAT ou pare-feu, il est possible que la communication soit rompue car aucune donnée n’est transmise, il est donc nécessaire de configurer « garder vivant ». Pour configurer Keep Alive, il suffit de marquer la directive « PersistentKeepAlive » et d’entrer un entier qui signifie quelques secondes de maintien en vie. Selon la documentation officielle, la définition de 25 secondes pour la plupart des pare-feu et des systèmes NAT suffira, si nous définissons 0, cette fonctionnalité sera désactivée. Si nous sommes derrière NAT ou pare-feu et que nous voulons recevoir des connexions entrantes après une longue période sans trafic, cette directive sera nécessaire, sinon nous n’avons pas besoin de le donner.

PrivateKey = ypmpp2ray4Focejkmzqmlxzm/6RbiW9HKJY6PVFioni = Adresse = 192.168.2.2/32

Clé publique = xetkJJBuyp8paxtGajwda qwjrd2rpxljrshmwcgdq = Allowedips = 0.0.0.0/0 Point d’extrémité = 10.10.2. 86:51820

#PersistentKeepalive = 25

Sur les systèmes d’exploitation Windows, nous pouvons importer la même configuration et nous l’aurons prêt à se connecter, bien que nous puissions nous connecter à partir de zéro, mais la clé publique générée nous avons besoin de « passer » le serveur WiRegard.

Il est également très important d’examiner les protocoles WiRegard pour vérifier que la connexion VPN a été correctement établie. Nous ne pouvons pas insérer dans la section « Interface/Address » une adresse IP privée déjà utilisée avec les clients Windows car nous aurons une erreur dans la connexion.

Comme vous l’avez vu, la configuration VPN WiRegard est vraiment simple et rapide

Performances VPN WiRegard comparées à L2TP/IPsec et OpenVPN

Dans RedesZone nous avons vérifié les performances de WiRegard VPN par rapport à L2TP/IPsec et OpenVPN, les tests ont été fait sur le réseau local pour éviter les problèmes d’opérateur, afin que nous puissions mesurer les performances maximales réelles qui peuvent nous fournir un matériel spécifique.

La configuration du serveur VPN que nous avons utilisée (pour L2TP/IPsec, OpenVPN et WiRegard) est la suivante :

  • QNAP TS-1277 : processeur AMD Ryzen 7 2700 ; RAM : 64 Go RAM DDR4 ; Connexion réseau : QNAP QXG-10G2T-107 à 10 Gb/ avec câble Cat7 et commutateur D-Link DXS-1210-10TS .
  • Le logiciel VPN pour L2TP/IPSec et OpenVPN (en utilisant UDP) est QVPN 2 de QNAP
  • Dans le deuxième test avec OpenVPN (en utilisant UDP) et AES-256-GCM, nous avons utilisé Virtualization Station avec Debian.
  • iperf3 installé manuellement dans QTS et aussi dans Debian virtualisée.

La configuration du client VPN que nous avons utilisée (pour L2TP/IPsec, OpenVPN et WiRegard) est la suivante :

  • PC PROCESSEUR AMD Ryzen 7 3800x ; RAM : 32 Go de RAM DDR4 3200 MHz ; Connexion réseau : ASUS XG-C100C à 10 Gbit/s avec câble CAT7 et commutateur D-Link DXS-1210-10TS pour connecter les deux appareils . Système d’exploitation utilisé dans les tests : Windows 10 1909.
  • Windows 10 Client L2TP /IPsec
  • Dernière version d’OpenVPN (2.4.8)
  • iperf 3 dans Windows 10.

La puissance obtenue dans les essais est la suivante :

Comme vous pouvez le voir, la vitesse réelle de WiRegard est double de celle de L2TP/IPSec ou OpenVPN, donc nous pouvons dire que ce VPN est vraiment rapide.

Nous espérons que ce guide d’installation vous aidera et que vous pourrez facilement déployer des serveurs et des clients WiRegard pour vous connecter en toute sécurité à notre domicile, à votre entreprise ou à Internet depuis n’importe où et de manière sûre.

Partager :