5.5 VPN
Trois technologies de VPN, toutes de premier rang. Laquelle choisir :
| À utiliser pour | Parce que | |
|---|---|---|
| WireGuard | Les nouveaux liens site à site et les télétravailleurs | Le plus simple à configurer, le plus rapide, la plus petite surface d'attaque. Des clés, pas des certificats. |
| IPsec | Se raccorder à un équipement que vous ne maîtrisez pas | C'est le standard d'interopérabilité — une passerelle Cisco, Fortinet ou de nuage le parlera. |
| OpenVPN | Les télétravailleurs sur des réseaux difficiles, et les déploiements existants | Passe en TCP/443 quand tout le reste est bloqué ; un client mûr sur chaque plateforme. |
Quel que soit votre choix, rappelez-vous les deux choses dont tout VPN a besoin au-delà de sa propre configuration : une règle de pare-feu qui admet le tunnel sur le WAN, et des règles sur l'interface du tunnel qui décident de ce que l'autre bout peut atteindre.
WireGuard
Instances — /m/wireguard/server#instances

Une instance est une extrémité de tunnel sur ce boîtier : sa propre paire de clés, son port d'écoute, et les adresses qu'elle utilise à l'intérieur du tunnel.

La clé publique engendrée ici est ce que vous remettez à l'autre côté. Laissez la clé privée où elle est — elle n'a jamais besoin de quitter le boîtier.
Peers — /m/wireguard/client#peers

Les autres bouts. Chaque pair porte sa clé publique, ses allowed IPs — qui sont à la fois l'énoncé de routage et le contrôle d'accès, et doivent donc lister exactement les réseaux que ce pair a le droit d'utiliser — et, pour un pair vers lequel vous vous connectez, son adresse d'extrémité et son port.

Allowed IPs n'est pas un filtre avec lequel on peut être généreux. Un pair peut émettre du trafic depuis n'importe quelle adresse qui y figure, et le trafic destiné à ces adresses lui est routé. Inscrire
0.0.0.0/0sur un lien site à site remet à ce pair votre table de routage entière.
Peer generator — /wg-peergen#configbuilder

Construit une configuration client prête à l'emploi — clés, adresses, extrémité, allowed IPs — et l'affiche en texte et en code QR pour l'application mobile. Le chemin le plus rapide de rien à un télétravailleur qui fonctionne.
Status — /wg-status

Chaque instance et chaque pair avec l'heure de la dernière poignée de main et les octets échangés. WireGuard est silencieux par conception : pas de poignée de main veut dire que le tunnel n'est pas monté, et c'est le premier chiffre à regarder.
Log File — /log/core/wireguard

IPsec
Connections — /m/ipsec/swanctl

La configuration IPsec moderne : une connexion porte l'adresse distante, les propositions (chiffrement, intégrité, groupe Diffie-Hellman), l'authentification (clé partagée ou certificat) et un ou plusieurs enfants — les sélecteurs de trafic qui disent quels réseaux le tunnel transporte.

Les deux bouts doivent s'accorder sur les propositions et les sélecteurs de trafic. Quand un tunnel refuse de monter, ce désaccord en est la cause bien plus souvent que quoi que ce soit d'autre ; le journal nomme la discordance.
Pre-Shared Keys — /m/ipsec/ipsec?a=preSharedKeys/preSharedKey

Des secrets partagés, par identité. Longs et aléatoires : une clé partagée est toute l'authentification.
Key Pairs — /m/ipsec/ipsec?a=keyPairs/keyPair

Les paires de clés pour l'authentification par certificat, pour les pairs qui l'exigent.
Mobile & Advanced Settings — /m/ipsec/ipsec

Les réglages des clients nomades — le réservoir d'où leurs adresses viennent, le DNS qu'on leur remet — et le comportement du démon lui-même.
Status Overview — /ipsec-status#overview

Quelles connexions sont établies, avec qui, et depuis combien de temps.
Security Association Database — /ipsec-status#sad

Les associations de sécurité vivantes avec leurs compteurs — la preuve que du trafic passe réellement, et pas seulement que le tunnel a négocié.
Security Policy Database — /m/ipsec/swanctl?a=SPDs/SPD

Les politiques qui décident quel trafic doit être protégé.
Lease Status — /ipsec-status#leases

Les adresses actuellement remises aux clients mobiles, et qui les détient.
Virtual Tunnel Interfaces — /m/ipsec/swanctl?a=VTIs/VTI

L'IPsec routé : le tunnel devient une interface sur laquelle vous pouvez router et écrire des règles, au lieu d'être choisi par des sélecteurs de trafic. Le choix le plus propre quand un lien porte beaucoup de réseaux ou participe à une bascule.
Log File — /log/core/ipsec

La négociation, étape par étape. Quand un tunnel refuse de s'établir, lisez-le par le bas : la dernière chose qu'il dit avant d'abandonner en est la raison.
OpenVPN
Instances — /m/openvpn/openvpn?a=Instances/Instance

Une instance serveur ou cliente : son protocole et son port, les certificats qu'elle utilise, le réseau du tunnel, et ce qu'elle pousse aux clients (routes, DNS).

Une instance serveur a besoin d'une autorité de certification et d'un certificat serveur venus de System → Trust avant de pouvoir démarrer.
Client Specific Overrides — ?a=Overwrites/Overwrite

Des exceptions par client, appariées sur le nom commun du certificat : une adresse fixe pour un utilisateur, une route supplémentaire pour un autre.
Client Export — /openvpn-export

Télécharge une configuration prête pour un utilisateur choisi — le profil que l'application cliente importe. C'est ce que vous envoyez au télétravailleur ; il porte son certificat, alors envoyez-le par un canal auquel vous faites confiance.
Connection Status — /openvpn-status

Qui est connecté, d'où, depuis quand, et combien il a transféré.
Log File — /log/core/openvpn
