Étiquette : VPN

  • Wireguard, le nouveau VPN ?

    Wireguard, le nouveau VPN ?

    Il y a PPTP, L2TP, IPsec, SSTP, OpenVPN … et le petit « nouveau » Wireguard. Quels avantages trouvons-nous à utiliser ce nouvel outil ?

    Un système VPN intégré dans les kernels et performant

    Wireguard a un avantage assez intéressant vis à vis de ses concurrents, c’est qu’il n’y a aucun daemon qui tourne, c’est le noyau (kernel) qui fait tourner directement la solution. Ainsi, en principe, tant le kernel est vivant, les connexions VPN sont fonctionnelles, on bénéficie également de performances accrues puisque l’intégration est directe

    IPSec par exemple, sous Linux,vous demandera strongSwan par exemple pour que les tunnels fonctionnent

    Le système fonctionne très bien sous Windows, Linux et FreeBSD

    Une sécurité renforcée

    Grâce à un code minimaliste (seulement ~4 000 lignes de code contre ~100 000 pour OpenVPN), WireGuard limite les risques de vulnérabilités et facilite les audits de sécurité. Il utilise également un chiffrement moderne par l’utilisation de protocoles éprouvés comme ChaCha20 (chiffrement) et Poly1305 (authentification), combinés à des clés éphémères pour une protection maximale.

    Une configuration très simple

    Grâce à un système de clé privée / publique et quelques paramètres à indiquer dans le fichier de configuration, il est possible d’avoir une solution de VPN fonctionnelle très rapidement

    Dans quel(s) cas est-il utilisé chez Devclic ?

    Nous nous en servons beaucoup pour fournir des accès distant à notre réseau (pour nos collaborateurs par exemple), là où par exemple, nous ne voulons pas déployer une alternative comme une FTTH ou bien une FTTO

    Il permet facilement d’implémenter du Split Tunnel, ce qui veut dire que vous pouvez choisir de facilement router les paquets vers votre tunnel ou laisser la connexion normale les prendre en charge

    Nous nous en servons également pour interconnecter logiquement, certaines parties de notre réseau, si par exemple, nous réalisons un extend to cloud vers un cloud provider quelconque.

    Comment le configurer facilement ?

    Après avoir installé wireguard, on doit générer une clé privée et une clé publique, pour cela, wireguard propose une commande pour ce faire

    # Génération de la clé privée
    wg genkey > private/server.key
    # Génération de la clé publique
    wg pubkey < private/server.key > public/server.key

    Sur chaque client, on réalise cette opération.

    Concernant le serveur, on renseigne la clé privée que nous avons générée et sur les clients, on renseigne un Peer contenant la publickey du serveur

    Chaque Peer sur le serveur doit contenir la clé publique associée au client et côté client, il faut réaliser l’inverse, renseigner sa clé privée et fournir la clé publique au serveur

    [Interface]
    Address = 192.168.250.1/24
    ListenPort = 51820 # listener port
    PrivateKey = XXXXXXXXX
    Table = off
    
    [Peer]
    AllowedIPs = 192.168.250.2/32
    PublicKey = XXXXXXXXX
    
    
    [Peer]
    AllowedIPs = 192.168.250.3/32
    PublicKey = XXXXXXXXXX

    Une petite erreur que nous avons rencontrée au niveau de la partie Address qui est dans l’interface. Il faut bien renseigner le masque réseau global et non un /32. Si vous ne le faites pas, une partie des paquets ne sera pas gérée correctement.

    Le /32 ne soit se mettre uniquement que sur le Peer