L'obscurcissement peut être utilisé pour empêcher la détection et/ou le blocage de votre connexion VPN. Certains administrateurs (tels que les points d'accès sans fil dans les cafés) choisissent de bloquer le trafic VPN sur leur réseau. En obscurcissant votre connexion VPN, vous pouvez vous connecter en toute sécurité à vos ressources réseau distantes ou naviguer sur Internet en privé tout en étant connecté à ces réseaux restreints.
Les administrateurs réseau peuvent utiliser des outils tels que Deep Packet Inspection (DPI) pour classer et restreindre le trafic par protocole, tel que HTTP, SSL, VPN, etc. Viscosity utilise Obfsproxy pour obscurcir son trafic VPN. Obfsproxy transforme le trafic VPN provenant de votre ordinateur pour le faire ressembler à ce que vous choisissez, de sorte qu'il est plus difficile de restreindre via les méthodes DPI. Il existe un certain nombre de méthodes différentes qu'Obfsproxy peut utiliser pour dissimuler votre trafic, y compris obfs2 qui ajoute un wrapper de chiffrement autour de votre trafic VPN pour l'empêcher de ressembler à un protocole en particulier.
Configuration Ubuntu
Préparation
Pour ce guide, nous supposons :
- Vous avez déjà installé la dernière version d'Ubuntu (18.04 au moment de la rédaction)
- Vous avez racine accéder à cette installation d'Ubuntu via terminal ou ssh
- Vous avez déjà configuré un serveur OpenVPN TCP (pas UDP)
- Vous avez déjà installé une copie de Viscosity sur votre appareil client
Le serveur OpenVPN peut être sur cette installation d'Ubuntu, ou sur une autre machine, peu importe. Si vous n'avez pas encore configuré de serveur OpenVPN, veuillez consulter nos guides de configuration. Assurez-vous de définir le protocole du serveur OpenVPN sur TCP et non sur UDP. Nous supposons également que cette installation d'Ubuntu est une nouvelle installation, éventuellement avec un serveur OpenVPN également installé.
Si vous n'avez pas de copie de Viscosity déjà installée sur votre ordinateur client, veuillez consulter ce guide d'installation pour installer Viscosity (Mac | Windows).
Mise en route
Ce guide vous guidera dans la configuration de l'un des protocoles d'obfuscation suivants :
- obfs2
- obfs3
- combinaison de brouillage
- obfs4
Pour commencer, connectez-vous à la ligne de commande en tant que root avec sudo su -
. Une fois connecté, nous devons nous assurer que la liste des dépôts d'Ubuntu est à jour en tapant ce qui suit :
sudo apt-get update
Pour obfs2, obfs3 et obfs4, nous utiliserons obfs4proxy. Pour installer obfs4proxy, exécutez ce qui suit :
sudo apt install -y obfs4proxy
Pour scramblesuit, vous aurez besoin d'obfsproxy à la place, installez-le avec ce qui suit, puis passez à la section scramblesuit plus bas :
sudo apt install -y obfsproxy
Une dernière note avant de continuer, ce guide utilise le port 12345 comme exemple, pour la majorité des cas, cela fonctionne très bien. Cependant, vous souhaiterez peut-être changer cela en port 443 ou 80 si vous allez utiliser obfsproxy dans des endroits qui bloquent tous les autres ports. N'oubliez pas que cela peut interférer avec la capacité de vos serveurs à héberger des sites Web ou à se connecter à des sources externes, donc si vous choisissez ces ports, assurez-vous de tout tester !
Configuration du serveur Obfs4proxy
Pour commencer à configurer obfs4proxy, car si vous souhaitez utiliser le protocole obfs2, obfs3 ou obfs4, nous configurons d'abord le fichier config. Créez un répertoire pour la configuration obfs4proxy avec ce qui suit :
sudo mkdir -p /var/lib/tor/pt_state/obfs4
Ensuite, créez la configuration :
sudo nano /var/lib/tor/pt_state/obfs4/obfs4.config
Et collez ce qui suit :
TOR_PT_MANAGED_TRANSPORT_VER=1 TOR_PT_STATE_LOCATION=/var/lib/tor/pt_state/obfs4 TOR_PT_SERVER_TRANSPORTS=obfs4 TOR_PT_SERVER_BINDADDR=obfs4-0.0.0.0:12345 TOR_PT_ORPORT=127.0.0.1:443
Vous pouvez apporter les modifications suivantes si nécessaire :
- TOR_PT_SERVER_TRANSPORTS - Ceci est le protocole à utiliser, changez-le en obfs2 ou obfs3 si vous souhaitez utiliser un protocole différent.
- TOR_PT_SERVER_BINDADDR - Encore une fois, changez obfs4 en obfs2 ou obfs3 si vous souhaitez utiliser un protocole différent. 12345 est le port sur lequel obfs4proxy écoute, vous pouvez également le modifier à votre guise.
- TOR_PT_ORPORT - Il s'agit de l'adresse de votre serveur OpenVPN. Si vous exécutez le serveur obfs4proxy sur le même système que votre serveur OpenVPN en utilisant le port 443, rien ne doit changer, sinon changez cette adresse et ce port si nécessaire.
Enregistrez la configuration et quittez nano.
Ensuite, nous devons configurer un service pour obfs4proxy. Pour ce faire, créez un nouveau fichier et ouvrez-le dans l'éditeur nano avec ce qui suit :
sudo nano /etc/systemd/system/obfs4proxy.service
Et collez ce qui suit, enregistrez et fermez nano :
[Unit] Description=obfs4proxy Server [Service] EnvironmentFile=/var/lib/tor/pt_state/obfs4/obfs4.config ExecStart=/usr/bin/obfs4proxy -enableLogging true -logLevelStr INFO [Install] WantedBy=multi-user.target
Ensuite, démarrez le service et activez-le pour qu'il démarre automatiquement après le redémarrage :
sudo systemctl start obfs4proxy.service
sudo systemctl enable obfs4proxy.service
Vous pouvez vérifier qu'il a démarré avec succès avec :
sudo systemctl status obfs4proxy.service
Enfin, si vous utilisez le protocole obfs4, lorsque vous démarrez le serveur pour la première fois, une clé de mot de passe sera générée que vous devrez coller dans Viscosity. Imprimez-le avec :
sudo cat /var/lib/tor/pt_state/obfs4/obfs4_bridgeline.txt | grep 'Bridge obfs4' | sed -e 's/^.*cert=\(.*\) .*$/\1/'
Configuration du serveur Scramblesuit
REMARQUE :Obfsproxy pour scramblesuit n'est plus disponible dans les référentiels Ubuntu 20 (Focal). Vous pouvez le compiler vous-même, mais nous vous recommandons d'utiliser plutôt Obfs4.
Scramblesuit nécessite une configuration différente en utilisant l'ancien programme obfsproxy. Pour commencer, créez un répertoire vide pour obfsproxy avec :
sudo mkdir -p /var/lib/tor/pt_state/scramblesuit
Ensuite, nous devons générer un mot de passe à utiliser. Pour ce faire, tapez ce qui suit dans le terminal :
python -c 'import os,base64; print base64.b32encode(os.urandom(20))'
Cela affichera une ligne de chiffres et de lettres, faites-en une copie, c'est votre clé de mot de passe pour la combinaison de brouillage dont nous aurons besoin ci-dessous et pour la viscosité plus tard.
Ensuite, créez une configuration de service et ouvrez-la avec nano :
sudo nano /etc/systemd/system/obfsproxy.service
Et collez ce qui suit :
[Unit] Description=Obfsproxy Server [Service] ExecStart=/usr/bin/obfsproxy --log-min-severity=info --data-dir=/var/lib/tor/pt_state scramblesuit --password=YOURPASSWORD --dest=127.0.0.1:443 server 0.0.0.0:12345 [Install] WantedBy=multi-user.target
Apportez les modifications suivantes si nécessaire :
- VOTREMOT DE PASSE - Remplacez-le par la clé de mot de passe que nous avons générée ci-dessus.
- 127.0.0.1:443 - Ceci est l'adresse de votre serveur OpenVPN. Ceci est valide si votre serveur OpenVPN s'exécute sur le même système qu'obfsproxy et écoute sur le port 443, sinon modifiez-le si nécessaire.
- 0.0.0.0:12345 - C'est là où obfsproxy écoute les connexions. Vous pouvez remplacer 12345 par un autre port si nécessaire.
Enregistrez la configuration du service et quittez nano. Nous pouvons ensuite démarrer le service et lui permettre de démarrer automatiquement après le redémarrage avec :
sudo systemctl start obfsproxy.service
sudo systemctl enable obfsproxy.service
Vous pouvez vérifier qu'il a démarré avec succès avec :
sudo systemctl status obfsproxy.service
Configuration du pare-feu
Enfin, nous devons autoriser les connexions externes à Obfsproxy. En supposant que vous configurez ufw (pare-feu non compliqué) en suivant notre guide du serveur Ubuntu, entrez simplement ce qui suit :
sudo ufw allow 12345
sudo ufw reload
Si vous avez modifié votre port à partir de 12345, comme indiqué dans ce guide, ajustez le nombre dans la première commande en conséquence.
Configuration de la viscosité
L'interface fournie par les versions Mac et Windows de Viscosity est intentionnellement très similaire. En tant que tel, nous concentrerons notre guide sur la version Mac, en soulignant les différences avec la version Windows au fur et à mesure qu'elles surviennent.
Si Viscosity n'est pas déjà en cours d'exécution, démarrez Viscosity maintenant. Dans la version Mac vous verrez l'icône Viscosité apparaître dans la barre de menu. Dans la version Windows vous verrez l'icône Viscosité apparaître dans la barre d'état système.
Cliquez sur l'icône Viscosité dans la barre de menu (Windows :barre d'état système) et sélectionnez "Préférences...". Cela vous montre la liste des connexions VPN disponibles. Nous supposons que vous avez déjà créé une connexion à votre serveur OpenVPN. Si vous n'avez pas créé de connexion Viscosity à votre serveur OpenVPN, veuillez consulter nos guides de serveur OpenVPN. Sélectionnez votre connexion précédemment configurée et cliquez sur "Modifier":
Configuration de la connexion
Vous devrez maintenant modifier les paramètres de connexion comme indiqué ci-dessous :
- Dans le Général , remplacez l'adresse du serveur par l'adresse IP de votre serveur Obfsproxy. Cela restera inchangé si votre serveur Obfsproxy s'exécute sur la même machine que votre serveur OpenVPN.
- Mettez à jour le port sur le port Obfsproxy défini dans la configuration ci-dessus (12345 dans notre exemple).
- Le protocole doit être défini sur TCP.
- Cliquez sur Transport onglet.
- Définissez la méthode d'obscurcissement sur la méthode d'obscurcissement sélectionnée dans la configuration du serveur Obfsproxy.
- Vous ne pouvez pas utiliser de proxy lorsque vous utilisez l'obfuscation, assurez-vous donc que l'option "Se connecter en utilisant un proxy" n'est pas cochée.
- Si vous utilisez obfs4 ou scramblesuit, collez la clé du mot de passe dans le champ "Clé".
- Cliquez sur
Save
bouton.
Connexion et utilisation de votre connexion VPN
Vous êtes maintenant prêt à vous connecter. Cliquez sur l'icône Viscosity dans la barre de menus macOS ou dans la barre d'état système de Windows pour ouvrir le menu Viscosity, sélectionnez la connexion que vous avez importée et Viscosity se connectera.
Pour vérifier que le VPN est opérationnel, vous pouvez ouvrir la fenêtre Détails à partir du menu Viscosité. Cela vous permettra de voir les détails de connexion, le trafic et le journal OpenVPN.
Ça y est, vous avez configuré votre propre serveur OpenVPN. Félicitations, vous êtes maintenant libre de profiter des avantages d'exploiter votre propre serveur OpenVPN !