Chapitre 8. Mise en place d'un VPN WireGuard

WireGuard est une solution VPN très performante qui fonctionne dans le noyau Linux. Elle utilise une cryptographie moderne et est plus facile à configurer que beaucoup d'autres solutions VPN. En outre, la petite base de code de WireGuard réduit la surface d'attaque et, par conséquent, améliore la sécurité. Pour l'authentification et le cryptage, WireGuard utilise des clés similaires à celles de SSH.

Important

WireGuard est fourni en tant qu'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat, peuvent ne pas être complètes sur le plan fonctionnel et Red Hat ne recommande pas de les utiliser pour la production. Ces aperçus offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.

Consultez la section Portée de l'assistance pour les fonctionnalités de l'aperçu technologique sur le portail client de Red Hat pour obtenir des informations sur la portée de l'assistance pour les fonctionnalités de l'aperçu technologique.

Pour configurer un VPN WireGuard, vous devez effectuer les étapes suivantes. Vous pouvez effectuer la plupart des étapes en utilisant différentes options :

  1. Créez des clés publiques et privées pour chaque hôte du VPN.
  2. Configurez le serveur WireGuard en utilisant nmcli, nmtui, nm-connection-editor, ou le service wg-quick.
  3. Configurez firewalld sur le serveur WireGuard en utilisant la ligne de commande ou l'interface graphique.
  4. Configurez le client WireGuard en utilisant nmcli, nm-connection-editor, ou le service wg-quick.

WireGuard fonctionne sur la couche réseau (couche 3). Par conséquent, vous ne pouvez pas utiliser DHCP et devez attribuer des adresses IP statiques ou des adresses IPv6 link-local aux périphériques du tunnel, tant sur le serveur que sur les clients.

Important

Vous ne pouvez utiliser WireGuard que si le mode Federal Information Processing Standard (FIPS) de RHEL est désactivé.

Notez que tous les hôtes qui participent à un VPN WireGuard sont des pairs. Cette documentation utilise les termes client pour décrire les hôtes qui établissent une connexion et server pour décrire l'hôte avec le nom d'hôte ou l'adresse IP fixe auquel les clients se connectent et acheminent éventuellement tout le trafic via ce serveur.

8.1. Protocoles et primitives utilisés par WireGuard

WireGuard utilise les protocoles et primitives suivants :

  • ChaCha20 pour le chiffrement symétrique, authentifié avec Poly1305, en utilisant la construction AEAD (Authenticated Encryption with Associated Data) telle que décrite dans la RFC7539
  • Curve25519 pour l'échange de clés Elliptic-curve Diffie-Hellman (ECDH)
  • BLAKE2s pour le hachage et le hachage par clé, comme décrit dans RFC7693
  • SipHash24 pour les clés des tables de hachage
  • HKDF pour la dérivation de clé, comme décrit dans RFC5869