Aller au contenu
Sommaire

Fiche mémo VPN et accès distant

Fiche mémo · environ 3 min de lecture

Brouillon

Brouillon — à relire et valider par Stéphane. Document non validé : ne rien appliquer sur un système réel sans vérifier les sources. Ce site n’exécute aucune commande. Sources

Principes VPN

Tunnel chiffré : encapsule le trafic, chiffre, envoie, déchiffre à l'arrivée.

Authentification mutuelle : client et serveur se reconnaissent (clés publiques, certificats).

Pas de substitut à MFA : tunnel chiffre, mais n'authentifie que l'accès à la passerelle VPN.

WireGuard

Génération de clés (Curve25519)

Attention, effet notable. Cette commande peut écrire ou écraser un fichier. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.

Terminal
wg genkey | tee privatekey | wg pubkey > publickey

Clés en base64, 44 caractères chacune. Clé privée = secret absolu.

Configuration minimale (/etc/wireguard/wg0.conf)

[Interface]
PrivateKey = [base64 privée]
Address = 192.0.2.100/32
ListenPort = 51820

[Peer]
PublicKey = [base64 publique du pair]
Endpoint = 203.0.113.1:51820
AllowedIPs = 192.0.2.0/24, 203.0.113.0/24
PersistentKeepalive = 25

AllowedIPs : quels trafics passent par ce pair (CIDR).
PersistentKeepalive : keepalive chiffré toutes les 25s (NAT/firewall).
Endpoint : optionnel si pair est aussi derrière NAT.

Activation / Vérification

Attention, effet notable. Cette commande peut s'exécuter avec des droits élevés. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.

Terminal
sudo wg-quick up wg0wg show

Lire : - latest handshake : < 2 min = OK. - transfer : compteurs paquets/octets. - persistent keepalive : configurable.

SSH

Clés Ed25519

Terminal
ssh-keygen -t ed25519 -C "user@example.test" -N "passphrase" -f ~/.ssh/id_ed25519ssh-copy-id -i ~/.ssh/id_ed25519.pub user@203.0.113.10

Toujours mettre une passphrase (sauf démo jetable) + ssh-agent.

~/.ssh/config

Host bastion
    HostName 203.0.113.2
    User admin
    IdentityFile ~/.ssh/id_ed25519
    StrictHostKeyChecking accept-new

Host internal
    HostName 192.0.2.50
    ProxyJump bastion
    IdentityFile ~/.ssh/id_internal

ProxyJump = tunnel via bastion (SSH 7.3+).

Port forwarding

Local : accès local à un service distant.

Terminal
ssh -L 3306:192.0.2.80:3306 bastion

Connect to localhost:3306 → tunnel → 192.0.2.80:3306.

SOCKS : proxy dynamique.

Terminal
ssh -D 1080 bastion

Configurer navigateur SOCKS 5 → localhost:1080.

Agent SSH

Terminal
eval $(ssh-agent)ssh-add ~/.ssh/id_ed25519ssh-add -l         # lister clés chargéesssh-add -D         # vider l'agent

Avertissement : -A (ForwardAgent) expose la socket agent sur le serveur distant (root y accède).

Durcissement sshd_config

PasswordAuthentication no
PermitRootLogin no
AuthenticationMethods publickey
MaxAuthTries 3
AllowUsers user1 user2
DenyUsers root
ClientAliveInterval 300
GatewayPorts no
X11Forwarding no

Test + reload :

Attention, effet notable. Cette commande peut s'exécuter avec des droits élevés. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.

Terminal
sudo sshd -tsudo systemctl reload ssh

Bastion

Hôte intermédiaire entre internet et serveurs internes.

Internet → Bastion (port 22 ouvert) → Serveur interne (réseau privé)

Avantages : concentration des logs, MFA sur le bastion, pas de port exposé sur internes.

Comparaison rapide

VPNPerformancesSetupInteropCas idéal
WireGuard⭐⭐⭐⭐⭐⭐⭐⭐CroissanteSite-à-site, léger
IPsec/IKEv2⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐Normes, certs
OpenVPN⭐⭐⭐⭐⭐⭐⭐⭐⭐Flexible, historique
SSH⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐Accès léger, redirection

Avant de configurer

  1. Quel protocole répondrait au besoin ? (Performant ? Sécurisé ? Interop ?)
  2. Réseau cible : qui doit accéder à quoi ?
  3. Authentification : clés, certificats, MFA ?
  4. Où mettre les clés privées ? (Chiffrées, pas en clair.)
  5. Journalisation et surveillance : quoi monitorer ?

Sources

Consultées le 18 octobre 2026.