Bloquer l’accès à Internet lorsque le VPN est déconnecté
Comment être certain qu’avant l’établissement du tunnel ou qu’en cas de panne du serveur VPN, nos données ne circulent pas en clair ? Pour se prémunir de ces aléas, nous allons utiliser le pare-feu (firewall) du système d’exploitation.
Sous Windows nous commençons par modifier le profil de réseau, sous Ubuntu nous pouvons directement configurer le pare-feu.
Modifier le profil de réseau sous Windows
Sous Windows, il n’est pas possible de créer de règle de pare-feu spécifique pour une carte réseau. Aussi, nous allons utiliser la notion de “Profil de réseau”.
Sous “Paramètres” -> “Réseau et Internet” s’affiche la liste des cartes réseau présentes physiquement dans notre machine.
Pour chacune de ces cartes Ethernet ou Wi-Fi, il faut la sélectionner…
… puis passer le type de profil de réseau en “Réseau privé“.
Nous allons maintenant accéder à Windows Defender. Son accès diffère entre Windows 11 et Windows 10.
Accéder à Windows Defender sous Windows 11
Le pare-feu inclus par défaut dans Windows 11 est “Windows Defender“.
Pour accéder à sa configuration, ouvrir “Paramètres,” choisir “Sécurité Windows” puis “Pare-feu et protection réseau“.
Cliquer sur “Paramètres avancés“:
A l’ouverture de la fenêtre “Contrôle de compte d’utilisateur“, nous confirmons notre souhait d’accéder à cet élément de sécurité Windows avant de pouvoir enfin accéder à “Windows Defender“.
Configurons maintenant le pare-feu.
Accéder à Windows Defender sous Windows 10
Le pare-feu inclus par défaut dans Windows 10 est “Windows Defender“.
Pour accéder à sa configuration, ouvrir “Paramètres“, choisir “Mise à jour et sécurité“, “Sécurité Windows” puis “Pare-feu et protection réseau“.
Cliquer sur “Paramètres avancés“:
A l’ouverture de la fenêtre “Contrôle de compte d’utilisateur“, nous confirmons notre souhait d’accéder à cet élément de sécurité Windows avant de pouvoir enfin accéder à “Windows Defender“.
Configurons maintenant la pare-feu.
Configurer le pare-feu pour sécuriser le VPN sous Windows
Une fois “Windows Defender” ouvert, nous réalisons 3 opérations pour sécuriser le VPN:
- Le blocage des connexions sortantes du profil privé.
- La suppression des règles de sortie existantes.
- La création d’une exception pour le tunnel VPN.
Pour définir le comportement du pare-feu, selon les différents types de profil de réseau, cliquer sur “Propriétés du Pare-feu Windows Defender“.
Sous l’onglet “Profil privé”, nous demandons aux pare-feu de “Bloquer” les connexions sortantes, puis validons nos modifications avec le bouton “OK”.
Par défaut, Windows définit un grand nombre d’exceptions au blocage des connexions sortantes. Nous allons toutes les supprimer afin d’améliorer la sécurité de notre VPN.
Pour cela cliquer sur “Règles de trafic sortant“, sélectionner une règle au hasard, puis “Ctrl-A” et touche “Suppr“.
Maintenant, tout le trafic Internet sortant par les cartes Ethernet et Wi-Fi de la machine est bloqué. Il reste à ajouter une exception pour le tunnel VPN.
Pour cela, dans le menu “Action” choisir “Nouvelle règle…“.
Seul un programme sera autorisé à traverser le pare-feu…
Il s’agit de l’exécutable “openvpn.exe“, situé par défaut à l’emplacement “%ProgramFiles%\OpenVPN\bin“.
Cette règle “autorise” le programme à traverser le pare-feu.
Et s’applique uniquement au profil privé.
Nous nommons cette règle “SecuriserOpenVPN“. Elle apparait ensuite comme active (précédée d’une coche verte) dans les règles de trafic sortant.
Je vous laisse tester votre configuration avant d’accéder au mot de la fin.
Configurer le pare-feu pour sécuriser notre VPN sous Ubuntu
La sécurisation du VPN sous Ubuntu, s’effectue en 2 étapes:
- L’identification de la carte réseau virtuelle utilisée par OpenVPN.
- La configuration du pare-feu.
Pour identifier les cartes réseau de la machine et, en particulier l’interface virtuelle utilisée par OpenVPN, nous commençons par désactiver le VPN:
Puis saisissons la commande suivante dans le “Terminal“:
nmcli device status
La liste des cartes réseau est affichée. Nous les notons puis réactivons le VPN.
Une nouvelle saisie de la commande…
nmcli device status
Permet d’identifier une nouvelle carte virtuelle nommée “tun0”, utilisée par OpenVPN:
Nous pouvons passer à la configuration du pare-feu en utilisant “ufw”, l’outil installé par défaut sous Ubuntu.
On efface toutes les règles du pare-feu par la commande:
sudo ufw reset
Cette commande a eu pour effet de bord la désactivation du pare-feu. Aussi, nous le réactivons:
sudo ufw enable
Nous interdisons par défaut tout trafic sortant et entrant:
sudo ufw default deny outgoing sudo ufw default deny incoming
Le trafic sortant de l’interface virtuelle OpenVPN est autorisé:
sudo ufw allow out on tun0
Et bien évidemment, est autorisé le trafic vers le service OpenVPN de notre serveur, que nous identifions à l’aide de l’adresse IP et du port de communication précédemment défini.
sudo ufw allow out from any to {Adresse IP} port {Numéro de port}
Soit dans mon cas:
sudo ufw allow out from any to 45.143.138.17 port 5460
Je vous laisse tester votre configuration avant d’accéder au mot de la fin.
Le mot de la fin
Voilà, j’ai partagé toutes mes connaissances de ce sujet. N’hésitez pas à apporter vos corrections ou vos remarques afin de pouvoir enrichir cet article.