Aller au contenu principal

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 ?​

  1. Connexion à un serveur VPN : L’utilisateur se connecte à un serveur VPN situé dans un pays de son choix.
  2. Chiffrement des données : Toutes les données envoyées et reçues passent par un tunnel sécurisé.
  3. 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​


Quel est le rôle principal d'un VPN ?


Quel protocole VPN est réputé pour sa rapidité et sa sécurité ?


Que permet un VPN en termes de confidentialité ?


Quel service peut bloquer l'utilisation d'un VPN ?


Quel est le principal inconvénient d'un VPN gratuit ?


Quel fichier contient la configuration d'un client WireGuard ?


Quelle commande permet d'activer une connexion WireGuard ?


Quelle commande permet de vérifier son adresse IP après connexion à un VPN ?


Quel élément n'est PAS un protocole VPN ?


Comment un VPN sécurise-t-il les données ?



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 :

  1. Installer WireGuard
  2. Générer une paire de clés pour l’authentification
  3. Configurer le client VPN
  4. Établir la connexion VPN
  5. 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​

  1. Mettre à jour la liste des paquets pour s’assurer d’avoir la dernière version de WireGuard :
    sudo apt update && sudo apt upgrade -y
  2. Installer WireGuard sur un système Linux (Ubuntu/Debian) :
    sudo apt install wireguard -y
  3. Vérifier que l’installation s’est bien déroulée en exécutant :
    wg --version
    Cette commande doit afficher la version installée de WireGuard.

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​

  1. Générer une clé privée et la stocker dans un fichier :
    wg genkey | tee privatekey
  2. Générer la clé publique associée en utilisant la clé privée :
    cat privatekey | wg pubkey > publickey
  3. Vérifier que les fichiers privatekey et publickey 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​

  1. Créer un fichier de configuration pour WireGuard :
    sudo nano /etc/wireguard/wg0.conf
  2. 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
  3. Enregistrer et fermer le fichier (CTRL + X, puis Y et Entrée).
  4. 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​

  1. Lancer la connexion VPN en activant l’interface WireGuard :
    sudo wg-quick up wg0
  2. Vérifier que l’interface VPN est bien active :
    wg show
    Cette commande doit afficher des informations sur la connexion, notamment l’adresse IP et l’état de l’interface.

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​

  1. Vérifier l’adresse IP publique AVANT d’activer le VPN :
    curl ifconfig.me
    Noter l’adresse IP affichée.
  2. Activer le VPN (si ce n’est pas déjà fait) :
    sudo wg-quick up wg0
  3. Vérifier l’adresse IP publique APRÈS activation du VPN :
    curl ifconfig.me
    L’adresse IP doit maintenant être celle du serveur VPN et non celle du fournisseur d’accès Internet (FAI).
  4. Tester la connexion en accédant à un site bloqué géographiquement (si applicable).
  5. 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.
info

Le VPN WireGuard est maintenant configuré et fonctionnel. Il permet de sécuriser la connexion Internet et de masquer l’adresse IP.