Depuis 9 ans, nous aidons les entreprises à intégrer et à créer des solutions pour les réseaux. 

Zen-Networks est une entreprise technologique axée sur les valeurs.

Contacts

France

66 Avenue des Champs Elysées
75008 ParisFrance

Maroc

410-411-412, Technoparc
Boulevard Dammam 20150
Casablanca, Maroc

contact@zen-networks.io

+212-522-219-782

Blog
Hnet.com image 7

WireGuard est un réseau privé virtuel (VPN) simple et efficace

 

Comprendre et mettre en œuvre un logiciel de sécurité peut être difficile. Cela peut rendre plus difficile l'utilisation et l'installation de conceptions sécurisées. WireGuard le logiciel, quant à lui, s'efforce de nous rapprocher des solutions de sécurité. Son objectif est de fournir une connexion VPN robuste entre deux PC avec seulement quelques options de configuration. En effet, son créateur, Jason A. Donenfeld, a choisi de n'implémenter qu'un petit nombre de protocoles cryptographiques, tous à la pointe de la technologie, et de donner à l'utilisateur une interface simple. Derrière cette abstraction, ces options aident à masquer une grande partie de la complexité réelle du VPN. WireGuard promet également de donner un haut degré de performance en plus de sa simplicité de configuration.

 

A quoi sert un VPN ?

Nous entendons beaucoup parler des VPN, mais avant d'en obtenir un, évaluons si nous en avons vraiment besoin.

Un réseau privé virtuel (VPN) est une architecture réseau qui permet une communication cryptée et sécurisée entre deux machines et, au-delà de ces machines, entre les deux réseaux de part et d'autre de la machine avant qu'elle ne devienne logicielle. Le tunnel chiffré L'approche client-serveur est fréquemment utilisée dans cette conception, bien que pas toujours.

Voici les cas d'utilisation les plus courants :
  • Utilisation professionnelle : un professionnel en déplacement se connectera au serveur VPN de son entreprise après s'être connecté au Wi-Fi de son hôtel. Cela créera un tunnel crypté entre son ordinateur et le serveur cible, par lequel transiteront toutes les données du réseau sortant du système du professionnel. L'utilisateur en question peut alors être certain qu'aucune donnée provenant de son PC ne sera visible par une personne scrutant le réseau (requêtes DNS, trafic web non sécurisé, messages électroniques non cryptés, etc.). Grâce à la connexion VPN, il peut non seulement accéder aux services et serveurs de son réseau interne d'entreprise (serveur internet, applications métiers, messagerie...), mais également à son proxy de navigation en ligne.
  • les citoyens ou les militants devraient utiliser : Nous réalisons qu'une fois la connectivité entre votre poste de travail et le serveur VPN établie, tout votre trafic réseau est crypté et envoyé aux serveurs. Par conséquent, aucune autre inspection ou modification du trafic n'est possible entre ces deux ordinateurs. Un citoyen d'un pays autoritaire, ou, bien pire, si le serveur est hors de portée de l'État en question, peut-être confiant qu'il ne sera pas surveillé ou censuré par une surveillance de masse officielle. Des attaques ciblées peuvent toujours être lancées contre votre ordinateur ou votre smartphone, mais nous sortons du modèle de menace auquel le VPN répond dans ce scénario.
En un mot, le VPN vous permet de :
  • naviguer sur Internet avec l'assurance que votre communication réseau entre votre système et votre serveur VPN n'est ni visible ni modifiable ;
  • sécuriser l'accès au réseau de votre entreprise, et donc aux services et ressources qui ne sont pas immédiatement accessibles via Internet ;
  • ainsi que la possibilité de dissimuler votre véritable adresse IP. Cette fonctionnalité n'est pas une police d'assurance complète contre les risques, mais c'est le premier pas vers plus de discrétion.

Vous pensez être intéressé à trouver un VPN simple et efficace maintenant que vous avez rassemblé toutes ces informations ? Oui?

Examinons donc de près WireGuard et voyons comment il se compare à OpenVPN.

 

WireGuard:

Avant d'être un outil, WireGuard est avant tout un protocole de communication. Il a été décrit et enregistré de manière transparente par son auteur.

L'objectif est de faciliter la création d'implémentations sur diverses plates-formes, dans différents langages et avec des décisions architecturales différentes de celles de la version de référence. Par exemple, un développeur peut opter pour une solution d'espace utilisateur uniquement plutôt que d'utiliser un module de noyau.

Passons brièvement en revue certaines des fonctionnalités importantes de WireGuard :
  • C'est un protocole de communication de niveau 3 (identique à IP).
  • Il transporte les données via UDP et a une petite taille de code d'environ 3,700 XNUMX lignes.
  • Cette application logicielle a été écrite en C, OpenBSD et Go.
  • A l'instar d'une solution client-serveur, il peut créer une communication peer-to-peer entre les deux postes créant la liaison VPN.
  • La notion de clés SSH (chaque ordinateur possède un ensemble de clés privées et publiques) est utilisée pour authentifier les paquets délivrés par les machines.
  • Le protocole est secret : aucun paquet non authentifié n'obtiendra de réponse.
  • Il n'implémente qu'un nombre limité d'algorithmes de cryptographie de pointe. Lorsque ceux-ci se révèlent vulnérables à la suite d'une attaque, ils seront remplacés par des équivalents plus sûrs.
  • Un aspect essentiel à noter est que le protocole ne contient pas de phase de négociation entre les deux ordinateurs sur ces méthodes. En conséquence, nous éliminons tout risque d'attaque de « négociation descendante » contre des algorithmes moins sécurisés.
  • Enfin, WireGuard est basé sur une implémentation d'interface réseau de type WireGuard. Du coup, tout ce que vous pouvez faire sur les interfaces réseau (filtrage, routage) est désormais possible sur l'interface réseau VPN uniquement fournie par WireGuard.

OpenVPN :

OpenVPN est un protocole VPN qui a été introduit pour la première fois en 2001. Il utilise des méthodes pour établir des connexions sécurisées point à point ou site à site. Le protocole est open-source et inclut des fonctionnalités telles que le cryptage AES 256 bits de qualité militaire. Il possède de nombreuses capacités de sécurité et de contrôle car il utilise la bibliothèque de chiffrement OpenSSL et le protocole TLS. Il a été conçu dans un souci de sécurité, a fait l'objet d'un audit indépendant et, par défaut, ne conserve pas de journaux. Vous pouvez masquer des activités en changeant de port à l'aide d'OpenVPN.

OpenVPN, en revanche, a quelques défauts. Il utilise entre 400,000 600,000 et XNUMX XNUMX lignes de code en moyenne. Toutes ces lignes de code augmentent la probabilité de découvrir et d'exploiter les failles du système. Bien qu'il soit sûr, il peut entraîner des problèmes de performances. Lorsqu'une connexion VPN est perdue, plusieurs entreprises utilisent des kill switch pour protéger l'utilisateur. En raison du temps qu'il faut à OpenVPN pour se reconnecter, vous devez utiliser un kill switch pour vous protéger. Le débordement de chiffrement est courant avec OpenVPN car il utilise des technologies plus anciennes. Parce qu'il s'exécute dans l'espace utilisateur, il peut être gourmand en ressources et ralentir le système.

Jetons un coup d'œil à certaines des fonctionnalités clés d'OpnVpn :
  • Il s'agit d'un protocole de tunneling VPN open source bien connu qui a été approuvé par un nombre important de professionnels de la sécurité et d'auditeurs.
  • Il utilise les bibliothèques de chiffrement OpenSSL et TLS comme bibliothèque cryptographique principale.
  • En termes de rapidité et de sécurité, le protocole fonctionne admirablement.
  •  

WireGuard VS OuvertVPN :

 
PERFORMANCE :

WireGuard est de loin supérieur au protocole OpenVPN.

WireGuard

En termes de performances, OpenVPN n'est pas la meilleure option.

Cependant, avant que le traitement multithread ne devienne possible, la différence n'était pas significative. Les ordinateurs d'aujourd'hui, en revanche, sont capables d'un traitement multithread et d'un meilleur débit.

Comme OpenVPN est intégré à l'espace utilisateur, son débit et son utilisation du traitement sont limités. En conséquence, il est incapable de répondre au besoin de tarifs plus élevés. WireGuard est une version beaucoup plus simple de WireGuard qui est intégrée dans l'espace du noyau.

Cela lui permet de fonctionner plus rapidement et de mieux utiliser les capacités multi-threading des processeurs modernes. En conséquence, en termes de ping et de débit, WireGuard peut dépasser OpenVPN. Sur WireGuard, tests de performances (https://www.wireguard.com/performance/)

démontré à quel point OpenVPN est en retard :

WireGuard

La distinction est sans équivoque. WireGuard non seulement atteint un débit supérieur à 100 % sur une connexion de 1 Gbit/s, mais il le fait sans utiliser le processeur à son plein potentiel. Un processeur exécutant OpenVPN, en revanche, atteint une vitesse maximale de seulement 258 Mbps.

WireGuard

Le temps de ping de WireGuard est inférieur à la moitié de celui d'OpenVPN. Il convient de noter que, malgré son stade de développement précoce, WireGuard offre déjà des résultats de performances exceptionnels. En conséquence, WireGuard met OpenVPN à l'épreuve en termes de performances.

SÉCURITÉ:

WireGuard surpasse le protocole OpenVPN en termes de sécurité.

En comparant les deux protocoles, nous pouvons voir qu'OpenVPN utilise des mécanismes de cryptage sûrs. Le package OpenSSL rend l'amorçage cryptographique extrêmement sûr.

L'utilisation de RSA et AES pour les canaux de données et de contrôle élimine davantage la possibilité d'attaques par force brute.

OpenVPN utilise une méthode d'authentification par code HMAC pour l'authentification. Il utilise AES et RSA pour le cryptage.

WireGuard, d'autre part, utilise un tout autre ensemble de cryptage. ChaCha20, Curve25519, SipHash24 et BLAKE2 en font partie. Comparer des amorces et des algorithmes cryptographiques n'est pas une tâche facile.

Cependant, vous ne pouvez pas nier que plus un algorithme est contemporain, plus il est sûr. OpenVPN est un peu obsolète, malgré le fait qu'il utilise un cryptage robuste. De plus, en raison d'une longueur de code plus élevée, il offre une surface d'attaque beaucoup plus large que WireGuard.

WireGuard maintient sa position de protocole le plus sécurisé des deux car il utilise des méthodes cryptographiques auxquelles les cryptographes ne font pas confiance.

UTILITÉ :

WireGuard est plus facile à configurer manuellement qu'OpenVPN.

OpenVPN est composé de centaines de milliers de lignes de code. Le travail et le temps d'un développeur sont nécessaires pour modifier ce code. De plus, il est incompatible avec divers systèmes, en particulier sur les téléphones mobiles (les utilisateurs d'iOS le savent peut-être).

WireGuard, d'autre part, est conçu sur un code allégé qui offre une convivialité exceptionnelle et une interopérabilité multiplateforme. Malgré une interface simple, il est plus puissant que tout autre protocole actuellement utilisé.

Une autre caractéristique qui le rend plus utile que WireGuard est qu'il est versionné.

OpenVPN est un protocole basé sur des certificats, contrairement à WireGuard.

Le niveau de cryptage d'OpenVPN peut être modifié en fonction des besoins de l'utilisateur. Cela nécessite l'utilisation de certificats de sécurité pour des raisons techniques. WireGuard, d'autre part, ne tient pas compte de l'agilité cryptographique, se concentrant plutôt sur des versions particulières à chaque type de protocole cryptographique.

Cela réduit les dépenses d'établissement et de reconnexion d'une connexion VPN. Étant donné que chaque version de WireGuard aura ses propres paramètres de chiffrement

Concrètement, la connexion aux serveurs sera deux fois plus simple car le serveur saura à l'avance à quoi s'attendre de la part du client.

En conséquence, WireGuard est simple à installer et à configurer pour divers appareils, ce qui le rend idéal pour une utilisation avec OpenVPN.

AUDITABILITÉ :

Le protocole OpenVPN est facilement auditable par WireGuard.

Comme OpenVPN est le protocole VPN le plus fréquemment inspecté, il s'agit de l'attribut le plus difficile à comparer. En raison des plusieurs niveaux d'audit qu'OpenVPN a subis, il a gagné la confiance des professionnels de la sécurité et des cryptographes.

Cela fait 17 ans que le protocole a été créé, ce qui donne aux experts en logiciels tout le temps nécessaire pour l'évaluer, le valider et l'auditer. Le fait qu'il soit open source a rendu l'audit beaucoup plus facile.

Bien qu'il s'agisse de la technologie de tunneling la plus auditée, OpenVPN est également la plus difficile en raison du grand nombre de lignes de code qu'elle comprend.

Pour auditer correctement un code aussi énorme qu'OpenVPN, il faut toute une équipe.

WireGuard, en revanche, n'a pas encore été soumis aux mêmes audits rigoureux, bien que cela soit en partie dû à sa jeunesse. WireGuard est nettement plus vérifiable qu'OpenVPN en raison de son code beaucoup plus simple.

Le code est si petit qu'il ne peut être audité de manière indépendante que par une seule personne qui sait comment le faire. Cela signifie qu'après la sortie de sa première version stable, WireGuard deviendra le protocole le plus couramment audité.

De meilleurs audits entraînent également moins de défauts, une sécurité améliorée et une sensibilité réduite.

Malgré le fait qu'OpenVPN est un protocole bien audité, maintenir ce statut après l'introduction de WireGuard sera extrêmement difficile. En conséquence, WireGuard prend le gâteau en matière d'audits, ce qui est bien supérieur dans son cas par rapport à OpenVPN.

INTERFACES GRAPHIQUES POUR SERVEUR WIREGUARD 

WG-UI :

WG-UI est une interface client WireGuard extrêmement basique. Embark Studios, une société de développement de jeux basée en Suède, était responsable du développement initial de ce projet. Les ingénieurs ont mis beaucoup d'attention dans ce projet. Il existe une documentation de construction complète, et elle peut également être compilée de manière croisée dans quelques architectures différentes.

L'interface utilisateur est propre et simple, et elle vous permet de gérer vos pairs avec de simples codes QR. Il s'agit davantage d'un site en libre-service qui permet aux utilisateurs finaux de contrôler leurs propres terminaux.

Vous pouvez cependant gérer les configurations client.

En termes de configuration des pairs, vous ne pouvez pas non plus faire grand-chose. Le seul champ supplémentaire est une valeur de surnom pour chaque pair, qui est produite automatiquement. Plus de fonctionnalités côté serveur peuvent être trouvées dans le projet suivant.

WIREGUARD-UI :

Cela vous donne plus de liberté et de contrôle sur le serveur WireGuard lui-même. Le hub WireGuard ainsi que les paramètres du client sont gérés par ce projet.

À partir d'un tableau de bord unique, vous pouvez ajouter des scripts personnalisés, modifier les paramètres des points de terminaison du serveur et gérer les clients. Wireguard-ui est comparable à wg-ui en termes de gestion des pairs, mais il inclut quelques fonctionnalités supplémentaires telles qu'une adresse e-mail, des horodatages et la possibilité de désactiver les clients.

Vous pouvez démarrer rapidement le projet avec Docker et importer une configuration de serveur existante, ou vous pouvez créer le binaire Go à partir de zéro.

SOUS-ESPACE :

De la même manière que le projet WG-UI se concentre sur l'offre d'un portail en libre-service pour maintenir les configurations des pairs, Subspace le fait également. La différence réside dans la granularité avec laquelle Subspace vous permet de créer et de gérer ces configurations. Vous pouvez classer les pairs dans différents groupes, utiliser un fournisseur SSO pour connecter les utilisateurs et créer des profils avec plusieurs configurations. En ce qui concerne les clients et l'authentification, le projet Subspace a beaucoup de pouvoir.

Le sous-espace présente un certain nombre d'inconvénients, dont l'un est qu'il peut être difficile à configurer et à utiliser. Subspace, par rapport aux autres projets décrits, nécessite un nombre important d'étapes pour être correctement exécuté. Vous devrez configurer une instance Linux, exécuter quelques commandes et revérifier que vos exigences en matière de domaine et de certificat sont valides.

Malheureusement, vous ne pourrez pas simplement tester ce projet en utilisant docker-compose up.

WG-MANAGER :

WG-MANAGER est une interface utilisateur simple et polyvalente qui vous permet de contrôler à la fois les pairs et le serveur. Dans ce projet, vous pouvez avoir un contrôle plus précis sur le serveur et les pairs. Directement depuis l'interface d'administration, les contrôles vous permettent d'arrêter, de démarrer et d'inspecter les configurations brutes.

Comme les projets précédents, vous pouvez rapidement ajouter et supprimer des pairs, ainsi qu'appliquer des surnoms uniques à chaque entrée de pair. La disposition des pairs est un peu plus jolie, et c'est vraiment utile pour savoir qui est connecté, envoyer plus de trafic, etc. La quantité d'informations que vous pouvez afficher dans le système de grille du tableau de bord est stupéfiante, même si l'interface utilisateur peut parfois être un peu maladroite.

wg-manager réalise une excellente combinaison de forme et de fonction.

Il existe de nombreuses options pour configurer de nouveaux serveurs WireGuard ou importer une configuration existante dans le projet.

MISTBORN :

Bien que Mistborn ne dispose pas d'une interface utilisateur WireGuard spécifique, il fournit un ensemble de services comprenant une interface d'administration WireGuard rudimentaire. Mistborn est un projet dont l'objectif est de fournir un ensemble entièrement personnalisé de services de cloud privé avec un pare-feu intégré. Ceci est destiné à s'asseoir au centre de votre réseau existant et à vous permettre de contrôler tout le trafic, pas seulement le trafic VPN.

FIL DE PROTECTION FACILE

Le moyen le plus simple de gérer WireGuard VPN est via l'interface Web.

 
Caractéristiques:
  • Interface utilisateur Web WireGuard Plus dans un seul package.
  • Il est simple à configurer et à utiliser.
  • Les clients peuvent être répertoriés, créés, modifiés, supprimés, activés et désactivés.
  • Afficher le code QR d'un client.
  • Le fichier de configuration d'un client peut être téléchargé.
  • Les clients qui se sont connectés aux statistiques.
Etat:
  • Un hôte ayant un noyau compatible WireGuard (tous les noyaux contemporains).
  • Docker est installé sur un hôte.

Configuration du serveur VPN 

WireGuard sera d'abord installé sur notre serveur. Il convient de noter que toutes les modifications apportées au système et aux paramètres WireGuard nécessiteront des privilèges d'administrateur sur votre machine.

#apt-get install wireguard wireguard-tools net-tools linux-headers-`uname -r`

Les clés publiques et privées du serveur WireGuard sont ensuite générées

Comme indiqué précédemment, des clés privées et publiques sont utilisées pour authentifier les paquets transmis par l'ordinateur. De ce fait, il est indispensable de produire respectivement des fichiers de clé privée et de clé publique.

#cd /etc/wireguard/ #umask 077; wggenkey | tee clé privée | wg pubkey > clé publique

Générer le fichier de configuration Nous allons créer le fichier de configuration /etc/wireguard/wg0.conf et le terminer par la première partie de la configuration depuis le serveur après avoir récupéré le nom de votre carte réseau portant votre adresse IP publique à l'aide du ifconfig commande.

[Interface] Adresse = The_VPN_server_private_IP_address ListenPort = 51820 PrivateKey = Copy_The_Key_Here PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ; ip6tables -A AVANT -i wg0 -j ACCEPTER ; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ; ip6tables -D AVANT -i wg0 -j ACCEPTER ; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE SaveConfig = true
  • Adresse : indiquez l'adresse IP privée du serveur VPN.
  • SaveConfig : L'état actuel de l'interface doit être utilisé pour enregistrer la configuration pendant l'arrêt.
  • PrivateKey : la clé privée du serveur VPN, qui est stockée dans le fichier /etc/wireguard/server private.key du serveur.
  • PublicKey : clé publique du client VPN, qui est stockée sur l'ordinateur client dans le fichier /etc/wireguard/client public.key.
  • ListenPort : le serveur VPN WireGuard écoutera sur le port UDP 51194. Sinon, le port par défaut est 51820.
  • PostUp et PostDown : permet de passer des commandes lors de la connexion et de la déconnexion d'un pair. Utile dans le cas du partage de connexion via VPN.

puis on active le VPN via les commandes wg-quick up wg0 et wg show

# sudo wg-quick up wg0 #sudo wg show

Nous allons maintenant configurer le client VPN WireGuard.

Après avoir activé les référentiels wireguard, nous utilisons apt-get pour l'installer.

#sudo add-apt-repository ppa:wireguard/wireguard #sudo apt-get install wireguard resolvconf

Après cela, nous générons les clés privées et publiques du client :

cd /etc/wireguard/umask 077 ; wggenkey | tee clé privée | wg pubkey > clé publique

Créez ensuite le fichier /etc/wireguard/wg0.conf avec la configuration qui se passe bien :

[Interface] Adresse = The_VPN_server_private_IP_address DNS = 9.9.9.9 PrivateKey = COPY_THE_CLIENT'S_PRIVATE_KEY_HERE [Peer] PublicKey = COPY_THE_SERVER'S_PUBLIC_KEY_HERE AllowedIps = 0.0.0.0/0 Endpoint = COPY_THE_SERVER'S_IP_ADDRESS_HERE:51820

La clé privée du client est stockée sur l'ordinateur portable dans le fichier /etc/wireguard/privatekey.

La clé publique du serveur se trouve dans le fichier /etc/wireguard /publickey sur le serveur.

un point clé : la valeur 0.0.0.0/0 dans la variable AllowedIPs indique que tout le trafic sortant du client sera acheminé via le tunnel VPN.

Activer et désactiver la connexion VPN :

Entrez simplement la même commande côté serveur et côté client ;

#sudo wg-rapidement wg0

De même, vous pouvez arrêter la connexion VPN.

#sudo wg-quick down wg0

WireGuard est maintenant configuré à la fois sur le serveur et sur le premier client. Tout ce que vous avez à faire est d'utiliser ce VPN pour rester en sécurité pendant vos déplacements tout en bénéficiant de son haut niveau de performances.

 

Zen Networks est un fournisseur leader de solutions informatiques avancées, spécialisé dans log monitoring, automatisation et DevOps.

Notre équipe d'experts propose une large gamme de services, y compris l'informatique monitoring, services cloud, solutions agiles et automatisation. Nous connaissons également bien l'installation et la mise en œuvre d'Elasticsearch, Logstask et Kibana sur Docker.
En tirant parti de notre vaste expertise dans le domaine et de nos technologies innovantes, nous permettons à nos clients d'optimiser leur infrastructure informatique et d'atteindre l'excellence opérationnelle. Nos solutions sont conçues pour aider les organisations de toutes tailles à rationaliser leurs processus, à améliorer leur efficacité et à réduire leurs coûts.
Nous vous invitons à profiter de notre service de consultation et de devis gratuit pour en savoir plus sur la manière dont nous pouvons aider votre organisation à atteindre ses objectifs informatiques. Contact contactez-nous maintenant pour planifier votre consultation et découvrir les avantages de travailler avec Zen Networks.

Auteur

Zen Networks