VPN
Sécuriser sa connexion et protéger sa vie privée
Notions théoriques
Qu'est-ce qu'un VPN ?
Un VPN (Virtual Private Network) est un réseau privé virtuel permettant de sécuriser une connexion Internet en chiffrant les données et en masquant l’adresse IP de l’utilisateur.
Un VPN est utilisé pour :
- Protéger la vie privée en empêchant les sites web et les fournisseurs d’accès Internet (FAI) de suivre l’activité en ligne.
- Sécuriser les connexions sur les réseaux publics (Wi-Fi dans un café, hôtel, etc.).
- Contourner la censure ou les restrictions géographiques en simulant une connexion depuis un autre pays.
Comment fonctionne un VPN ?
- Connexion à un serveur VPN : L’utilisateur se connecte à un serveur VPN situé dans un pays de son choix.
- Chiffrement des données : Toutes les données envoyées et reçues passent par un tunnel sécurisé.
- Masquage de l’adresse IP : Le site web consulté voit uniquement l’adresse IP du serveur VPN et non celle de l’utilisateur.
Les protocoles VPN les plus courants
Un VPN utilise des protocoles spécifiques pour sécuriser les connexions :
- OpenVPN : Très sécurisé et open source, il est utilisé par de nombreux fournisseurs VPN.
- WireGuard : Plus récent, il offre une meilleure performance avec un chiffrement avancé.
- IKEv2/IPSec : Rapide et stable, souvent utilisé sur les appareils mobiles.
Avantages et inconvénients d’un VPN
✅ Avantages
- Sécurise les connexions sur les réseaux Wi-Fi publics.
- Permet d’accéder à du contenu restreint géographiquement.
- Protège contre la surveillance et le suivi en ligne.
❌ Inconvénients
- Peut ralentir la connexion Internet en fonction du serveur utilisé.
- Certains services bloquent les connexions VPN (Netflix, banques en ligne).
- Les VPN gratuits peuvent être peu sécurisés et revendre les données des utilisateurs.
Exemple pratique
Il est possible de configurer un VPN sur un ordinateur en utilisant WireGuard, un protocole VPN rapide et sécurisé.
1. Installer WireGuard
Sur un système Linux (Ubuntu/Debian) :
sudo apt update
sudo apt install wireguard -y
2. Générer une paire de clés
WireGuard utilise une clé publique et une clé privée pour sécuriser la connexion.
wg genkey | tee privatekey | wg pubkey > publickey
3. Configurer le client VPN
Créer un fichier de configuration /etc/wireguard/wg0.conf
:
[Interface]
PrivateKey = VOTRE_CLÉ_PRIVÉE
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = CLÉ_PUBLIQUE_DU_SERVEUR
Endpoint = vpn.monserveur.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
4. Activer la connexion VPN
sudo wg-quick up wg0
Pour désactiver le VPN :
sudo wg-quick down wg0
5. Vérifier la connexion VPN
Vérifier l’adresse IP après connexion :
curl ifconfig.me
L’adresse IP affichée doit être celle du serveur VPN et non celle du FAI.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Objectif du TP
Configurer et tester un VPN WireGuard sur un ordinateur afin de sécuriser la connexion Internet et masquer l’adresse IP.
Ce TP est divisé en plusieurs étapes :
- Installer WireGuard
- Générer une paire de clés pour l’authentification
- Configurer le client VPN
- Établir la connexion VPN
- Vérifier que la connexion VPN fonctionne
Étape 1 : Installer WireGuard
WireGuard est un protocole VPN moderne, rapide et sécurisé. Il est disponible sur la plupart des systèmes d’exploitation.
Instructions
- Mettre à jour la liste des paquets pour s’assurer d’avoir la dernière version de WireGuard :
sudo apt update && sudo apt upgrade -y
- Installer WireGuard sur un système Linux (Ubuntu/Debian) :
sudo apt install wireguard -y
- Vérifier que l’installation s’est bien déroulée en exécutant :
Cette commande doit afficher la version installée de WireGuard.
wg --version
Vérifier si :
- WireGuard est installé et la commande
wg --version
affiche bien une version valide.
Étape 2 : Générer une paire de clés pour l’authentification
WireGuard utilise une paire de clés (une clé privée et une clé publique) pour sécuriser la connexion entre le client et le serveur.
Instructions
- Générer une clé privée et la stocker dans un fichier :
wg genkey | tee privatekey
- Générer la clé publique associée en utilisant la clé privée :
cat privatekey | wg pubkey > publickey
- Vérifier que les fichiers
privatekey
etpublickey
ont bien été créés en listant leur contenu :cat privatekey
cat publickey
Vérifier si 2 fichiers ont été générés :
privatekey
contient la clé privée.publickey
contient la clé publique dérivée.
Étape 3 : Configurer le client VPN
Il est maintenant nécessaire de configurer le client WireGuard pour qu’il puisse se connecter au serveur VPN.
Instructions
- Créer un fichier de configuration pour WireGuard :
sudo nano /etc/wireguard/wg0.conf
- Ajouter la configuration suivante en remplaçant les valeurs par celles obtenues précédemment :
[Interface]
PrivateKey = VOTRE_CLÉ_PRIVÉE
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = CLÉ_PUBLIQUE_DU_SERVEUR
Endpoint = vpn.monserveur.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25 - Enregistrer et fermer le fichier (
CTRL + X
, puisY
etEntrée
). - Vérifier que le fichier est bien enregistré en listant son contenu :
cat /etc/wireguard/wg0.conf
Vérifier si :
- Le fichier
/etc/wireguard/wg0.conf
contient bien la configuration du client VPN.
Étape 4 : Établir la connexion VPN
Une fois la configuration terminée, il est possible d’activer la connexion VPN.
Instructions
- Lancer la connexion VPN en activant l’interface WireGuard :
sudo wg-quick up wg0
- Vérifier que l’interface VPN est bien active :
Cette commande doit afficher des informations sur la connexion, notamment l’adresse IP et l’état de l’interface.
wg show
Vérifier si :
- La commande
wg show
affiche des informations sur l’interface VPN, indiquant que la connexion est active.
Étape 5 : Vérifier que la connexion VPN fonctionne
Il est important de tester si la connexion VPN est bien établie et si l’adresse IP a été modifiée.
Instructions
- Vérifier l’adresse IP publique AVANT d’activer le VPN :
Noter l’adresse IP affichée.
curl ifconfig.me
- Activer le VPN (si ce n’est pas déjà fait) :
sudo wg-quick up wg0
- Vérifier l’adresse IP publique APRÈS activation du VPN :
L’adresse IP doit maintenant être celle du serveur VPN et non celle du fournisseur d’accès Internet (FAI).
curl ifconfig.me
- Tester la connexion en accédant à un site bloqué géographiquement (si applicable).
- Désactiver le VPN après le test :
sudo wg-quick down wg0
Vérifier si :
- L’adresse IP a changé après l’activation du VPN, indiquant que la connexion est bien redirigée via le serveur VPN.
Le VPN WireGuard est maintenant configuré et fonctionnel. Il permet de sécuriser la connexion Internet et de masquer l’adresse IP.