Comment configurer un interrupteur d’arrêt pour les VPN sous Linux

A Linux killswitch is a must for any serious Linux VPN user. It guards your data against leaking to the internet by preventing anyone from accessing your data even if disconnected from the VPN. It also ensures that all information remains confidential regardless of what happens in between.

Pour un cybercriminel, un interrupteur d’arrêt est un cauchemar. C’est un obstacle significatif qui se dresse entre eux et leur cible. Si la connexion à votre VPN se coupe ne serait-ce qu’une seconde parce que votre ordinateur ou téléphone se bloque, s’éteint, ou que vous coupez accidentellement le cordon – tant que vous avez un interrupteur d’arrêt activé – aucune de ces données ne peut être accessible par quiconque.

Prérequis

Pour suivre, vous aurez besoin de :

  • Le fichier de configuration pour vous connecter à votre fournisseur de VPN. Cet article utilise NordVPN comme fournisseur de VPN.
  • A Ubuntu device with the OpenVPN client. The examples will use Ubuntu 20.04 and OpenVPN 2.5.3.

Installation du pare-feu simple (UFW)

Dans ce tutoriel, le killswitch Linux dépend de la configuration du pare-feu. Commencez d’abord par installer le pare-feu simple (UFW) sur votre appareil et configurez-le pour agir comme l’interrupteur d’arrêt.

Avant de plonger, assurez-vous que votre distribution Linux est à jour, sinon votre pare-feu UFW pourrait ne pas fonctionner comme prévu. Par exemple, le UFW pourrait ne pas charger les paramètres au démarrage ou une règle ajoutée/supprimée ne se chargera pas.

1. Exécutez sudo apt install ufw -y pour installer le pare-feu.

Le pare-feu UFW est installé par défaut sur la plupart des distributions Ubuntu, donc vous pouvez déjà avoir UFW installé.

2. Démarrez le service UFW avec sudo systemctl start ufw.

3. Vérifiez si l’installation de UFW a réussi. Exécutez la commande sudo systemctl status ufw, et si elle réussit, la sortie affichera un actif (exited) en vert comme indiqué ci-dessous.

Verifying that UFW is installed and running

4. Démarrez UFW avec la commande sudo ufw enable. Appuyez sur O puis sur Entrée lorsque vous êtes invité à Poursuivre l’opération (o|n)?

Enabling UFW on Ubuntu

Autorisation des protocoles d’accès à distance

Maintenant que le pare-feu est installé, vous devez configurer UFW pour autoriser les protocoles que vous souhaitez utiliser avec le VPN.

Commencez par vous assurer que vous ne serez pas bloqué hors de votre client : vous devrez peut-être vous connecter via SSH si quelque chose ne va pas avec votre connexion OpenVPN. Si la connexion échoue et que vous ne pouvez pas vous connecter via SSH, vous devrez accéder physiquement à l’appareil pour revenir dessus.

1. Autorisez les connexions SSH avec la commande sudo ufw allow ssh. Le pare-feu UFW lit les ports et le protocole dans le fichier /etc/services et ouvre les ports en conséquence. Vous pouvez vérifier la sortie de la commande ci-dessous.

Allowing SSH Connections on Ubuntu

Il est fortement recommandé d’ajouter une couche de sécurité supplémentaire en demandant à vos utilisateurs de s’authentifier avec une clé SSH lors de la connexion via OpenVPN. Cette procédure protégera contre les attaques par force brute et les connexions non autorisées.

2. Ensuite, vous devrez ajouter des règles pour autoriser le protocole VNC en autorisant le trafic sur les ports correspondants.

En ce qui concerne le protocole VNC, il est facultatif. VNC permet un accès distant, similaire à SSH. VNC fournit une console graphique, tandis que SSH ne permet qu’une console texte. Autorisez le trafic VNC avec la commande sudo ufw allow 5901:5910/tcp.

Ces commandes donneront une sortie comme celle ci-dessous.

Allowing remote access protocols on Ubuntu with UFW

3. Une fois vos règles ajoutées, assurez-vous qu’elles sont appliquées avec succès. La commande sudo ufw show added listera toutes les règles ajoutées, comme vous pouvez le voir ci-dessous.

Checking UFW existing rules

Configuration du Kill Switch VPN

Dans cette section, vous apprendrez comment configurer le kill switch réel en utilisant le pare-feu UFW. Pour commencer, exécutez les deux commandes suivantes.

  • sudo ufw default deny outgoing
  • sudo ufw default deny incoming

La commande ufw default deny bloque tout le trafic sortant/entrant vers/depuis votre machine, à l’exception de la connexion SSH explicitement autorisée et des protocoles distants que vous avez configurés dans les sections précédentes. Vous pouvez voir le résultat des commandes dans la capture d’écran ci-dessous.

Blocking traffic with UFW

Ensuite, ajoutez une exception à l’ensemble de règles UFW afin que votre machine puisse se connecter au serveur VPN : vous aurez besoin de votre fichier de configuration du serveur VPN. Dans ce tutoriel, le fichier OpenVPN est nommé, ata.ovpn et téléchargé depuis le site NordVPN.

Le nom de votre fichier de configuration OpenVPN peut être différent. Ce tutoriel utilise la convention de nommage « ata », mais n’hésitez pas à nommer le vôtre comme bon vous semble !

Ensuite, regardez à l’intérieur du fichier de configuration OpenVPN ata.opvn avec la commande suivante : sudo head /etc/ata.ovpn. La sortie résultante inclut des informations telles que le port, le protocole et l’adresse IP du serveur VPN auquel vous vous connectez, avec NordVPN comme exemple ci-dessous.

Pour élaborer la commande UFW correcte, prenez note du port, du protocole et de l’adresse IP publique extraites du fichier de configuration.

Opening an OpenVPN config file, the above example is for NordVPN.

Ensuite, créez la commande ufw allow out comme suit : sudo ufw allow out to 69.28.83.134 port 1194 proto udp. Comme vous pouvez le voir, l’adresse IP et le port utilisés proviennent de la ligne de configuration commençant par remote et le protocole de la ligne commençant par proto.

Cet exemple utilise NordVPN comme fournisseur de VPN. Pour NordVPN, le port UDP 1194 doit être ouvert. Si, par exemple, vous utilisez Express VPN, le port UDP 1195 doit être ouvert, pas le port 1194. Chaque fournisseur de VPN peut avoir des ports UDP uniques.

Création d’une exception de pare-feu pour OpenVPN

Bien sûr, pour une utilisation appropriée, vous devez autoriser OpenVPN à travers le pare-feu. Jusqu’à présent, vous avez bloqué tout le trafic entrant et sortant à l’exception de quelques ports.

Pour commencer, vous devez trouver le nom de l’interface réseau que le client OpenVPN utilise. Exécutez la commande ifconfig pour répertorier tous les noms d’interfaces réseau configurées, comme indiqué ci-dessous.

Listing network interface names on Ubuntu.

Remarquez l’interface réseau avec le nom tun0 dans la liste résultante. L’interface tun0 est l’interface VPN à travers laquelle tout le trafic entrant et sortant est routé, et c’est l’interface à autoriser. C’est une interface virtuelle ajoutée au démarrage, ce qui signifie simplement qu’elle n’est pas une connexion physique. Cette interface est la valeur par défaut dans OpenVPN.

Ajoutez une exception au pare-feu pour l’interface du tunnel VPN que vous avez trouvée avec la commande ifconfig pour forcer tout le trafic à travers elle. Sinon, il n’y aura pas d’accès à Internet, et votre kill switch échouera. Exécutez la commande ci-dessous pour ajouter une exception pour le trafic OpenVPN sur l’interface tun0.

sudo ufw allow out on tun0 from any to any
Allowing outgoing traffic on the tun0 interface.

Certaines applications, telles que l’accès à une application de chat vocal tout en jouant à des jeux, nécessitent des connexions entrantes via le VPN. Pour autoriser les connexions entrantes, exécutez la commande suivante:

sudo ufw allow in on tun0 from any to any
Allowing ingoing traffic to tun0 interface

Configuration du client OpenVPN

Dans cette section finale, vous configurerez le client OpenVPN pour qu’il fonctionne en tant que service en utilisant la configuration que vous avez créée précédemment.

Commencez par renommer votre fichier ata.opvn en **(votre nom de fichier peut différer) ata.conf. Pour exécuter le client OpenVPN en tant que service système en arrière-plan, le fichier doit être nommé avec l’extension de fichier *.conf. De plus, vous déplacerez également le fichier vers le répertoire /etc/openvpn.

Déplacez le fichier de configuration avec la commande sudo mv /root/ata.ovpn /etc/openvpn/ata.conf.

Moving and renaming the OpenVPN configuration file.

Maintenant, changez de répertoire vers /etc/openvpn et vérifiez que le fichier s’y trouve.

cd /etc/openvpn
ls
Showing files in the /etc/openvpn directory

Avec le fichier de configuration dans le répertoire /etc/openvpn, démarrez le service client OpenVPN avec la commande systemctl. Pour démarrer le service, exécutez : sudo systemctl start [email protected].

La partie « ata » du nom du client OpenVPN provient du nom du fichier de configuration utilisé. Le vôtre peut différer en fonction du nom du fichier.

Starting the OpenVPN service.

Pour vérifier que le service OpenVPN est en cours d’exécution, utilisez la commande systemctl status comme suit.

sudo systemctl status [email protected]

Comme indiqué ci-dessous, le statut vert actif (en cours d’exécution) du service OpenVPN est affiché.

Checking the OpenVPN service status.

Enfin, vous devez configurer votre appareil pour se connecter automatiquement à votre service VPN. La connexion automatique au VPN garantit que OpenVPN sera toujours en cours d’exécution, même si vous redémarrez votre machine.

Exécutez la commande sudo systemctl enable [email protected], et désormais, une fois le service OpenVPN démarré, il connectera automatiquement votre appareil au VPN.

Enable the OpenVPN service.

Conclusion

Cette article vous a montré toutes les étapes nécessaires pour mettre en place un kill switch Linux pour votre connexion VPN. Un kill switch déconnecte la connexion réseau de votre ordinateur en cas de chute inattendue, empêchant les fuites de données et assurant votre sécurité en ligne.

Source:
https://adamtheautomator.com/linux-killswitch/