Comment masquer le trafic OpenVPN à l'aide d'Obfsproxy sur un PC Windows et un serveur Linux EC2
Dans ce didacticiel, nous vous expliquerons comment configurer Obfsproxy avec un serveur OpenVPN maison et un PC Windows. Cela empêche les censeurs et les pare-feu d'utiliser une inspection approfondie des paquets pour déterminer si vous chiffrez le trafic, ce que vous faites en utilisant OpenVPN.
Ce didacticiel suppose que vous disposez d'un serveur OpenVPN fonctionnel et d'un client Windows déjà configurés sur une instance Amazon Web Services EC2. Consultez nos précédents Tutoriel du serveur OpenVPN sur la façon de faire cela.
Obfsproxy devrait empêcher votre VPN d'être bloqué par les censeurs dans des pays comme la Chine. Nous avons confirmé qu'il contourne également l'interdiction VPN sur Netflix.
Avant que nous commencions
Obfsproxy, abréviation de proxy d'obscurcissement, a été adopté par la communauté Tor. Dans leurs mots :
« Obfsproxy est un outil qui tente de contourner la censure, en transformant le trafic Tor entre le client et le pont. De cette façon, les censeurs, qui surveillent généralement le trafic entre le client et le pont, verront un trafic transformé d’apparence innocente au lieu du trafic Tor réel.
Obfsproxy, cependant, est en réalité indépendant de Tor, il peut donc également être utilisé pour masquer le trafic OpenVPN.
Pour qu'Obfsproxy fonctionne avec OpenVPN, nous devrons le configurer côté client et côté serveur. Certains fournisseurs VPN, notamment NordVPN et AirVPN, proposent des serveurs préconfigurés, il vous suffit donc de configurer le côté client. Ce tutoriel expliquera les deux.
Voici une liste de ce dont vous aurez besoin :
- Un serveur OpenVPN fonctionnel sur une instance Amazon Linux EC2 similaire à celle de notre tutoriel précédent
- L'interface graphique d'OpenVPN Connect (application côté client)
- Mastic
- Python2.7
- Compilateur Microsoft C++ pour Python 2.7
- OpenSSL Light pour Windows
- ProxySwitchy Sharp ou un logiciel proxy équivalent
Configuration Obfsproxy côté client sous Windows
Nous commencerons par la configuration côté client, car certaines personnes n’auront pas besoin d’effectuer la configuration côté serveur si leur fournisseur VPN propose déjà des serveurs préconfigurés.
Configuration préliminaire
Heureusement, NordVPN vous a déjà fait la courtoisie de regrouper la plupart des dépendances requises dans un seul fichier .zip. Télécharger les ici .
Commencez par installer Python 2.7 dans le répertoire par défaut avec les paramètres par défaut. Obfsproxy est un programme Python, vous en aurez donc besoin pour l'installer. Si vous disposez d'une version plus récente de Python, telle que 3.3 ou 3.4, nous vous recommandons quand même d'installer la 2.7. Vous pouvez trouver le fichier d’installation dans le dossier Étape 3 du fichier zip de NordVPN (nous ignorons les dossiers des étapes 1 et 2).
Ensuite, nous devons installer le compilateur Microsoft C++ pour Python 2.7 à partir du dossier de l'étape 4. Il n’existe pas de compilateur de ce type pour les versions ultérieures de Python. Vous pourrez peut-être trouver une solution de contournement en utilisant MS Visual Studio ou le package Numby, mais nous avons trouvé beaucoup moins pénible d'installer simplement Python 2.7.
Une fois que vous avez installé le compilateur C++ en utilisant les paramètres et le répertoire par défaut, passez au dossier de l'étape 5. Installez à nouveau OpenSSL Light, en utilisant tous les paramètres par défaut. Vous pourriez être invité à faire un don après l’installation. Appuyez sur Terminer, puis fermez la fenêtre contextuelle si vous ne souhaitez pas faire de don.
Ajoutez cette page à vos favoris, redémarrez votre ordinateur et ouvrez à nouveau cette page.
Configuration d'Obfsproxy et d'OpenVPN
Vous avez maintenant tout ce dont vous avez besoin pour exécuter Obfsproxy, mais nous devons encore le configurer pour qu'il puisse être utilisé avec OpenVPN. Nous commencerons par modifier nos fichiers .ovpn existants dans le répertoire OpenVPN. Si vous n'avez pas encore configuré OpenVPN, veuillez vous référer à notre tutoriel précédent . Si vous avez installé OpenVPN dans le répertoire par défaut, vous trouverez les fichiers de configuration dans C:/Program Files/OpenVPN/config.
Recherchez le Bloc-notes ou un autre éditeur de texte, cliquez dessus avec le bouton droit et choisissez « Exécuter en tant qu'administrateur ». Ouvrez le fichier de configuration que vous utilisez pour vous connecter normalement à votre serveur OpenVPN. Cliquez sur Fichier > Enregistrer sous et nommez-le autrement afin que nous ayons une copie avec laquelle travailler sans nous soucier de gâcher l'original.
Nous allons modifier le fichier de configuration pour qu'il ressemble à ceci :
|_+_|
Notez l'ajout de deux lignes en bas, plus un numéro de port à l'extrémité de la ligne distante. Remplacer
Si vous vous connectez à un serveur préconfiguré appartenant à votre fournisseur VPN, les fichiers de configuration doivent vous être fournis (le dossier de l'étape 2 pour les utilisateurs de NordVPN).
Enregistrez votre nouveau fichier de configuration, en veillant à ne pas écraser l'ancien. Assurez-vous également que votre éditeur de texte n'ajoute pas automatiquement le nom du fichier avec .txt. Il devrait s'agir d'un fichier .ovpn.
Maintenant qu'OpenVPN est configuré, nous devons installer et exécuter Obfsproxy. C'est là qu'intervient votre nouvelle installation Python. Dans votre barre de recherche Windows, tapez « Invite de commandes ». Cliquez avec le bouton droit sur l'application d'invite de commande et cliquez sur « Exécuter en tant qu'administrateur ». Dans le terminal, tapez les commandes suivantes une ligne à la fois, en appuyant sur Entrée après chacune.
|_+_|
pip installer –-upgrade pip
pip installer obfsproxy
obfsproxy --log-min-severity=info obfs2 --shared-secret=
Après la deuxième commande, vous pouvez voir des erreurs ou des avertissements. Ignorez-les pour l'instant.
Ici, vous devez remplacer
Après la dernière ligne, votre invite de commande devrait vous indiquer qu'elle écoute le trafic obfsproxy, comme dans la capture d'écran. Notez dans la capture d'écran que j'ai oublié de saisir mon propre mot de passe lors de la première tentative.
Vous devrez accéder au répertoire Scripts (première commande), entrer la commande Obfsproxy (dernière commande) et laisser votre invite de commande ouverte chaque fois que vous souhaitez utiliser Obfsproxy.
Configuration du proxy (facultatif)
Edit : Cette étape n'est pas nécessaire au fonctionnement d'Obfsproxy, mais elle est nécessaire si vous souhaitez utiliser votre connexion Obfsproxy+VPN pour regarder Netflix et d'autres sites de streaming vidéo en dehors des États-Unis (ou quel que soit le pays dans lequel se trouve votre serveur VPN). Sinon, Netflix sera défini sur la mauvaise région.
La dernière chose que nous devons faire côté client est de configurer une connexion proxy. Cela diffère pour chaque application. Vous pouvez le configurer dans les paramètres Internet de Windows, mais je préfère le faire application par application. Sur les applications natives qui utilisent Internet, vous pouvez généralement configurer un proxy quelque part dans les paramètres. Les champs sont les suivants :
- Hôte SOCKS : 127.0.0.1
- Port : 8080 (ou ce que vous mettez dans votre fichier de configuration OpenVPN sur la ligne distante)
- CHAUSSETTES version 5 (SOCKS5)
Sur un navigateur, le moyen le plus simple de configurer cela consiste à utiliser une extension proxy. Nous allons vous montrer comment utiliser Proxy Switchy Sharp sur Chrome .
Dans les paramètres ProxySwitchy, créez un nouveau profil. Avec la configuration manuelle sélectionnée, saisissez les paramètres ci-dessus comme illustré ci-dessous. Nommez-le comme vous voulez. Nous n’allons pas l’activer tant que nous n’aurons pas établi une connexion avec le serveur, alors tenez bon.
Configuration du serveur Obfsproxy sur l'instance Linux EC2
Votre PC est prêt à se connecter, nous devons donc maintenant préparer le serveur.
Groupe de sécurité AWS
Avant d'installer et d'exécuter obfsproxy sur le serveur, vous devrez peut-être ajouter une nouvelle règle au groupe de sécurité de votre serveur pour vous assurer que le pare-feu de l'instance EC2 ne bloque pas le trafic. Pour ce faire, connectez-vous à votre compte AWS, puis cliquez sur EC2. Sous Réseau et sécurité, accédez à Groupes de sécurité.
Ici, vous pouvez choisir de créer un nouveau groupe de sécurité et de l'ajouter à votre serveur ou de modifier un groupe existant. Faites un clic droit sur une règle et sélectionnez « Modifier les règles entrantes ». Sous Type, sélectionnez tout le trafic TCP (remarque : ignorez la règle personnalisée dans la capture d'écran, car nous avons depuis mis à jour ce didacticiel), puis définissez la source sur « Mon IP » ou sur l'IP du ou des appareils que vous envisagez de connecter. avec. Ensuite, faites un clic droit et accédez à « modifier les règles sortantes ». Sous Type, sélectionnez simplement l’option déroulante « tout le trafic ».
Si vous avez créé un nouveau groupe de sécurité, cliquez sur Instances dans la barre latérale gauche, cliquez avec le bouton droit sur votre instance VPN, faites défiler jusqu'à Réseau et cliquez sur Modifier les groupes de sécurité. Vérifiez votre nouveau groupe de sécurité et appuyez sur Enregistrer.
Configuration du serveur Obfsproxy
Utilisez PuTTy pour vous connecter à votre serveur via SSH. Si vous ne vous souvenez pas comment procéder ou si vous n'avez pas enregistré de profil, veuillez vous référer à notre tutoriel précédent . N'oubliez pas que dans la distribution du serveur Amazon Linux AMI, le nom d'utilisateur est « ec2-user ». Exécutez OpenVPN à l'aide de cette commande :
|_+_|Assurez-vous que votre fichier de configuration OpenVPN sur le serveur (etc/openvpn/openvpn.conf) a le port 1194 ouvert, conformément à notre tutoriel précédent.
Python devrait déjà être installé si vous utilisez la distribution serveur Linux 14.04. Dans le terminal PuTTy, entrez les commandes suivantes une ligne à la fois et appuyez sur Entrée après chacune :
|_+_|
sudo pip installer obfsproxy
obfsproxy --log-min-severity=info obfs2 --dest=127.0.0.1:1194 --shared-secret=
Pour la première commande, les anciennes versions de Linux peuvent utiliser « apt-get » au lieu de « yum ».
N'oubliez pas de remplacer
Vous devriez voir un message similaire sur ce terminal à celui sur votre invite de commande, indiquant que le serveur écoute sur le port 8080 le trafic obfsproxy.
Connexion via Obfsproxy
Vous êtes prêt à vous connecter. Avec Obfsproxy exécuté à la fois sur votre ordinateur local (invite de commande) et sur votre serveur (PuTTy), exécutez l'interface graphique OpenVPN. Faites un clic droit dessus et connectez-vous en utilisant votre nouvelle configuration. L'icône OpenVPN devrait devenir verte et une notification avec votre adresse IP attribuée devrait apparaître.
Si vous souhaitez regarder Netflix ou tout autre contenu géobloqué, activez les paramètres proxy dans vos applications. Pour Proxy Switchy sur Chrome, cliquez sur l'icône dans le coin supérieur droit et sélectionnez le profil que vous avez créé dans la section facultative ci-dessus. Vous pouvez également ajouter le proxy dans les paramètres Internet de Windows.
Toutes nos félicitations! Votre trafic OpenVPN est désormais impossible à distinguer du trafic HTTP normal grâce à Obfsproxy.
Automatisation du processus
Comme vous l'avez peut-être conclu, exécuter obfsproxy côté client à chaque fois que vous souhaitez l'utiliser peut devenir un peu fastidieux. Pour automatiser le processus, un utilisateur a créé un programme d'installation Windows qui exécute Obfsproxy en tant que service qui démarre au démarrage. Tu peux téléchargez-le et trouvez les instructions ici .
' lunettes-deguisement.jpg ' par r. nial bradshaw sous licence CC PAR 2.0