GNU/Linux >> Tutoriels Linux >  >> Panels >> OpenVPN

Configurer un serveur Obfuscation avec Obfsproxy et Viscosity

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 :

  1. 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.
  2. Mettez à jour le port sur le port Obfsproxy défini dans la configuration ci-dessus (12345 dans notre exemple).
  3. Le protocole doit être défini sur TCP.


  4. Cliquez sur Transport onglet.
  5. Définissez la méthode d'obscurcissement sur la méthode d'obscurcissement sélectionnée dans la configuration du serveur Obfsproxy.
  6. 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.
  7. Si vous utilisez obfs4 ou scramblesuit, collez la clé du mot de passe dans le champ "Clé".


  8. 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 !


OpenVPN
  1. Configuration d'un serveur et d'un client NFS sur CentOS 7.2

  2. Comment installer et configurer OpenLiteSpeed ​​Server sur Ubuntu 18.04 avec MariaDB

  3. Configuration d'un serveur et d'un client NFS sur OpenSUSE 12.2

  4. Création de certificats et de clés pour votre serveur OpenVPN

  5. Configurer un serveur OpenVPN avec CentOS et Viscosity

Configuration d'un serveur OpenVPN avec Sophos XG et Viscosity

Configurer un serveur OpenVPN avec Synology et Viscosity

Configuration d'un serveur OpenVPN avec Tomato router et Viscosity

Configuration d'un serveur OpenVPN avec Ubiquiti EdgeRouter (EdgeOS) et Viscosity

Configurer un serveur OpenVPN avec Ubuntu et Viscosity

Configurer un serveur OpenVPN avec VyOS et Viscosity