NOPE LinkedIn

Catégories:
VPN

WireGuard VPN - Conseils de sécurité

WireGuard VPN - Conseils de sécurité

Voici quelques conseils de sécurité pour votre déploiement WireGuard.

Le trafic va dans les deux sens

N’oubliez pas que le trafic VPN va dans les deux sens. Une fois que vous êtes connecté au réseau distant, cela signifie que n’importe quel appareil de ce réseau peut se reconnecter à vous ! Autrement dit, à moins que vous ne créiez des règles de pare-feu spécifiques pour ce réseau VPN.

Étant donné que WireGuard n’est “qu’une” interface, vous pouvez créer des règles de pare-feu normales pour son trafic et contrôler l’accès aux ressources réseau comme d’habitude. Cela se fait plus facilement si vous disposez d’un réseau dédié pour les clients VPN.

Utilisation de PreSharedKey

Vous pouvez ajouter une autre couche de protection cryptographique à votre VPN avec l’option PreSharedKey. Son utilisation est facultative et ajoute une couche de chiffrement à clé symétrique au trafic entre des pairs spécifiques.

Une telle clé peut être générée avec la genpskcommande :

$ wg genpsk
vxlX6eMMin8uhxbKEhe/iOxi8ru+q1qWzCdjESXoFZY=
Et ensuite utilisé dans une [Peer]section, comme ceci :

[Peer]
PublicKey = ....
Endpoint = ....
AllowedIPs = ....
PresharedKey = vxlX6eMMin8uhxbKEhe/iOxi8ru+q1qWzCdjESXoFZY=

Les deux parties doivent avoir la même PresharedKey dans leurs sections [Peer] respectives. Empêcher la fuite accidentelle des clés privées Lors du dépannage de WireGuard, il est courant de publier le contenu du fichier de configuration de l’interface quelque part pour que d’autres puissent vous aider, comme dans une liste de diffusion ou un forum Internet. Étant donné que la clé privée est répertoriée dans ce fichier, il faut se rappeler de la supprimer ou de la masquer avant de la partager, sinon le secret est divulgué.

Pour éviter de telles erreurs, nous pouvons supprimer la clé privée de la configuration et la laisser dans son propre fichier. Cela peut être fait via un crochet PostUp . Par exemple, mettons à jour le fichier home0.conf pour utiliser un tel hook :

[Interface]
ListenPort = 51000
Address = 10.10.11.3/24
PostUp = wg set %i private-key /etc/wireguard/%i.key

[Peer]
PublicKey = <contents-of-router-public.key>
Endpoint = 10.48.132.39:51000
AllowedIPs = 10.10.11.0/24,10.10.10.0/24

La macro %i est remplacée par le nom de l’interface WireGuard ( home0 dans ce cas). Lorsque l’interface apparaît, les commandes PostUp du shell seront exécutées avec cette substitution en place, et la clé privée de cette interface sera définie avec le contenu du fichier /etc/wireguard/home0.key.

Il y a quelques autres avantages à cette méthode, et peut-être un inconvénient.

Avantages:

Le fichier de configuration peut maintenant être stocké en toute sécurité dans le contrôle de version, comme un référentiel git, sans crainte de fuite de la clé privée (sauf si vous utilisez également l’ PreSharedKeyoption, qui est également un secret). Étant donné que la clé est maintenant stockée dans un fichier, vous pouvez donner à ce fichier un nom significatif, ce qui permet d’éviter les confusions avec les clés et les pairs lors de la configuration de WireGuard.

Les inconvénients:

Vous ne pouvez pas utiliser directement l’outil qrcode pour convertir cette image en qrcode et l’utiliser pour configurer la version mobile de WireGuard, car cet outil n’ira pas après la clé privée dans ce fichier séparé.