3 façons de naviguer en toute sécurité sur Internet avec OpenVPN sur Debian 8

introduction

Les raisons pour naviguer sur Internet avec plus de confidentialité varient autant que les moyens de le réaliser.

Dans ce tutoriel, nous expliquerons en détail comment configurer un réseau privé virtuel sur un serveur afin de sécuriser trois composants importants de votre expérience de navigation sur Internet:

  • Privatisez votre trafic Web en sécurisant le trafic non chiffré, en empêchant les cookies et autres suiveurs, et en masquant l’adresse IP de votre ordinateur local

  • Empêchez votre fournisseur de services Internet local de consigner les requêtes DNS en les envoyant directement du VPN aux serveurs DNS de Google.

  • Rechercher et empêcher l’accès aux virus et aux applications malveillantes

En exécutant votre propre serveur VPN plutôt qu’en utilisant un serveur commercial, vous pouvez également éviter d’enregistrer votre historique de navigation (à moins que vous ne choisissiez de le faire). Enfin, vous devez choisir son emplacement physique afin de minimiser le temps de latence. Cependant, l’utilisation d’un VPN est généralement plus lente que celle d’une connexion Internet directe.

Pour ce faire, nous installons et configurons les applications suivantes sur votre serveur Debian 8:

  • * http: //www.clamav.net/index.html [ClamAV] * est un moteur antivirus à code source ouvert permettant de détecter les chevaux de Troie, les virus, les logiciels malveillants et d’autres menaces malveillantes.

  • * http: //www.thekelleys.org.uk/dnsmasq/doc.html [Dnsmasq] * est un progiciel qui fournit des services DNS (et quelques autres). Nous allons l’utiliser uniquement comme cache DNS

  • * http: //www.server-side.de/documentation.htm [HAVP] * Le proxy anti-virus HTTP est un proxy doté d’un filtre anti-virus. Il ne cache pas et ne filtre pas le contenu. Il analyse tout le trafic avec des moteurs antivirus tiers. Dans ce tutoriel, nous utiliserons + HAVP + comme proxy _Transparent et la chaîne + HAVP + et + + Privoxy + ensemble

  • * https: //openvpn.net/index.php/open-source.html [OpenVPN Community Edition] * est un serveur VPN populaire. Il fournit une connexion sécurisée à votre serveur de confiance et peut également transmettre les paramètres du serveur DNS à ses clients. Dans ce tutoriel, le terme OpenVPN sera utilisé comme forme abrégée du nom du serveur VPN

  • * http: //www.privoxy.org/ [Privoxy] * est, sur le site officiel, _ un proxy Web non mis en cache avec des fonctionnalités de filtrage avancées pour améliorer la confidentialité, modifier les en-têtes de page Web et HTTP, contrôler l’accès et supprimer les publicités et autres ordures Internet désagréables_

Après avoir terminé ce didacticiel, vous disposerez d’une passerelle de confidentialité:

  • Sécurise votre connexion lorsque vous utilisez des points WiFi publics

  • Bloque les publicités et les fonctionnalités de suivi des sites Web

  • Accélère les temps de chargement des pages Web en mettant en cache les réponses DNS côté serveur

  • Analyse les pages que vous visitez et les fichiers que vous téléchargez en recherchant des virus connus

Comment ça fonctionne

Le diagramme suivant illustre le chemin suivi par une demande Web via le VPN que nous allons configurer dans ce tutoriel.

Les voies à fond vert sont les composants du serveur VPN. Les cases vertes représentent les étapes de la demande, les cases bleues et rouges les étapes de réponse.

image: https: //assets.digitalocean.com/articles/3-openvpn-examples/openvpn-final.png [Organigramme d’une demande Web via un serveur VPN]

Le trafic entre votre ordinateur et le serveur de confidentialité passera par un tunnel VPN. Lorsque vous ouvrez une page Web dans votre navigateur, votre demande sera transférée sur le serveur VPN. Sur le serveur VPN, votre demande sera redirigée vers HAVP, puis vers Privoxy.

Privoxy fera correspondre l’URL à sa base de données de modèles. Si l’URL correspond, il bloquera l’URL et renverra une réponse valide mais vide.

Si l’URL n’est pas bloquée, Privoxy agit comme un serveur proxy sans mise en cache pour interroger DNS et récupérer le contenu de l’URL. Les requêtes DNS sont gérées et mises en cache par Dnsmasq.

HAVP reçoit le contenu de Privoxy et effectue une analyse antivirus via ClamAV. Si un virus est trouvé, il renvoie une page d’erreur.

Conditions préalables

Assurez-vous de remplir les conditions préalables suivantes:

Configuration requise

Le serveur que nous allons configurer sera facile à utiliser en termes de ressources processeur, mémoire vive et espace disque. Sélectionnez un Droplet avec au moins 1 Go de RAM et qui fournit une bande passante suffisante pour répondre à vos besoins de navigation.

Le système d’exploitation choisi pour ce tutoriel est Debian 8. Cela devrait également fonctionner plus ou moins de la même manière pour d’autres distributions Linux basées sur Debian comme Ubuntu.

  • Licences *

Tous les logiciels utilisés dans ce didacticiel sont disponibles dans les référentiels Debian et sont sujets aux politiques Debian.

Sécurité

Ce serveur va intercepter toutes vos requêtes HTTP. Quelqu’un qui prend le contrôle de ce serveur peut agir en tant qu’intermédiaire et surveiller tout votre trafic HTTP, rediriger les requêtes DNS, etc. Vous * avez * besoin de sécuriser votre serveur. Veuillez vous reporter aux didacticiels mentionnés au début de cette section pour configurer l’accès sudo et un pare-feu comme niveau de protection initial.

Étape 1 - Installation d’OpenVPN et d’autres prérequis

Si vous n’avez pas encore installé OpenVPN, veuillez le faire maintenant.

Vous pouvez suivre le tutoriel Comment configurer un serveur OpenVPN sous Debian 8 .

Dans les étapes suivantes, nous installerons quelques paquets. Pour vous assurer que vos index de paquets sont à jour, exécutez la commande suivante.

sudo apt-get update

Si vous n’avez pas encore activé + ssh + dans la configuration de votre pare-feu UFW, veuillez le faire avec les commandes suivantes.

sudo ufw allow ssh
sudo ufw enable

Étape 2 - Installation de Dnsmasq

Dans cette étape, nous allons installer et configurer Dnsmasq. Notre serveur proxy de confidentialité utilisera Dnsmasq pour accélérer et sécuriser ses requêtes DNS.

Chaque fois que vous vous connectez à une page Web, votre ordinateur tente de résoudre l’adresse Internet de ce serveur en demandant à un serveur DNS (Domain Name System). Votre ordinateur utilise les serveurs DNS de votre fournisseur de services Internet par défaut.

L’utilisation de votre propre serveur DNS présente les avantages suivants:

  • Votre FAI n’aura aucune connaissance des noms d’hôtes auxquels vous vous connectez.

  • Votre fournisseur de services Internet ne peut pas rediriger vos demandes vers d’autres serveurs, ce qui est l’une des principales méthodes de censure.

  • Votre vitesse de recherche DNS va s’améliorer

Sur un système Debian, la configuration du serveur de noms est conservée dans un fichier nommé + / etc / resolv.conf +.

Vérifiez votre configuration actuelle du serveur de noms avec la commande suivante.

cat /etc/resolv.conf

Sortie:

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4

Comme vous pouvez le constater, les serveurs de noms par défaut de ce système sont définis sur les serveurs DNS de Google.

Maintenant, installez + dnsmasq + avec la commande suivante:

sudo apt-get install dnsmasq

Une fois le paquet installé, vérifiez à nouveau votre configuration:

cat /etc/resolv.conf

Sortie:

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

Le serveur de noms par défaut est défini sur * 127.0.0.1 *, qui correspond à l’interface locale sur laquelle Dnsmasq s’exécute.

Vous pouvez tester l’installation avec la commande suivante. Prenez note du temps de requête dans la sortie.

dig digitalocean.com @localhost

Sortie:

Output. . .

;; Query time:
;; SERVER: 127.0.0.1#53(127.0.0.1)

. . .

Maintenant, exécutez à nouveau la même commande et vérifiez l’heure de la requête:

dig digitalocean.com @localhost

Sortie:

Output. . .

;; Query time:
;; SERVER: 127.0.0.1#53(127.0.0.1)

. . .

+ Dnsmasq + du cache répond à notre deuxième requête. Le temps de réponse est passé de 20 millisecondes à 1 milliseconde. Selon la charge de votre système, les résultats mis en cache sont généralement renvoyés en moins d’une milliseconde.

Étape 3 - Installation de ClamAV

Installez notre antivirus afin que notre VPN nous protège des téléchargements malveillants connus.

Installer ClamAV

ClamAV est un scanner antivirus open source largement utilisé.

Installez ClamAV et son démon scanner:

sudo apt-get install clamav clamav-daemon

Mettre à jour la base de données de virus

ClamAV mettra à jour sa base de données juste après l’installation et recherchera des mises à jour toutes les heures.

ClamAV enregistre le statut de mise à jour de sa base de données dans + / var / log / clamav / freshclam.log +. Vous pouvez consulter ce fichier pour voir comment ses mises à jour automatiques sont traitées.

Nous allons maintenant attendre que les mises à jour automatiques soient terminées. sinon, notre proxy d’analyse (HAVP) se plaindra et ne démarrera pas.

sudo tail -f /var/log/clamav/freshclam.log

Pendant la progression de la mise à jour, l’état actuel sera écrit à l’écran.

OutputFri Jun 19 12:56:03 2015 -> ClamAV update process started at Fri Jun 19 12:56:03 2015
Fri Jun 19 12:56:12 2015 -> Downloading main.cvd [100%]
Fri Jun 19 12:56:21 2015 -> main.cvd updated (version: 55, sigs: 2424225, f-level: 60, builder: neo)
Fri Jun 19 12:56:28 2015 -> Downloading daily.cvd [100%]
Fri Jun 19 12:56:34 2015 -> daily.cvd updated (version: 20585, sigs: 1430267, f-level: 63, builder: neo)
Fri Jun 19 12:56:35 2015 -> Downloading bytecode.cvd [100%]
Fri Jun 19 12:56:35 2015 -> bytecode.cvd updated (version: 260, sigs: 47, f-level: 63, builder: shurley)
Fri Jun 19 12:56:41 2015 -> Database updated (3854539 signatures) from db.local.clamav.net (IP: 200.236.31.1)
Fri Jun 19 12:56:55 2015 ->
Fri Jun 19 12:56:55 2015 -> --------------------------------------

Attendez de voir le texte marqué en rouge, ++.

Appuyez sur les touches + CTRL + C + de votre clavier pour quitter la queue. Cela vous ramènera à l’invite de commande.

Vous pouvez continuer avec la section * Configure ClamAV * si tout s’est passé normalement.

(Facultatif) Dépannage

Si la mise à jour du virus prend trop de temps, vous pouvez l’invoquer manuellement. Cela ne sera pas nécessaire dans des circonstances normales.

Arrêtez le service de mise à jour automatique.

sudo service clamav-freshclam stop

Appelez le programme de mise à jour manuellement et attendez qu’il soit terminé. La progression du téléchargement sera indiquée en pourcentages.

sudo freshclam

Démarrez le service de mise à jour automatique:

sudo service clamav-freshclam start

Configurer ClamAV

Nous allons maintenant autoriser d’autres groupes à accéder à ClamAV. Cela est nécessaire car nous allons configurer un proxy d’analyse antivirus (HAVP) pour utiliser ClamAV dans les étapes suivantes.

Editez le fichier de configuration ClamAV + clamd.conf + avec votre éditeur de texte préféré.

sudo vi /etc/clamav/clamd.conf

Définissez le paramètre suivant sur + true +.

/etc/clamav/clamd.conf

AllowSupplementaryGroups

Enregistrez la configuration et quittez.

Redémarrez + clamav-daemon +

sudo service clamav-daemon restart

Étape 4 - Installation de HAVP

HAVP est un serveur proxy d’analyse de virus. Il analyse chaque élément des pages que vous visitez et bloque le contenu malveillant. HAVP ne contient pas de moteur d’analyse de virus, mais peut utiliser plusieurs moteurs tiers. Dans ce tutoriel, nous allons le configurer avec ClamAV.

Installez HAVP à partir des référentiels Debian.

sudo apt-get install havp

L’installation prendra du temps, alors soyez patient.

Modification du fichier de configuration

Chargez le fichier de configuration de HAVP dans votre éditeur favori:

sudo vi /etc/havp/havp.config

Nous devrons définir quelques options de configuration pour que HAVP s’exécute avec le démon ClamAV.

HAVP peut fonctionner avec les bibliothèques ClamAV (par défaut) ou le démon ClamAV. Le mode bibliothèque nécessite beaucoup plus de RAM que le mode démon (scanner de socket). Si votre Droplet dispose d’au moins 4 Go de RAM, vous pouvez définir + ENABLECLAMLIB + sur + true + et utiliser le mode bibliothèque.

Sinon, utilisez ces paramètres, situés près du bas du fichier de configuration.

/etc/havp/havp.config

ENABLECLAMLIB

. . .

ENABLECLAMD

La configuration par défaut de HAVP peut interférer avec certains sites de streaming vidéo. Pour autoriser les demandes de plage HTTP, définissez le paramètre suivant.

/etc/havp/havp.config

RANGE

Beaucoup de contenu sur Internet est constitué d’images. Bien que certains exploits utilisent des images en tant que vecteurs, il est plus ou moins prudent de ne pas numériser les images.

Nous vous recommandons de définir + SCANIMAGES + sur + false +, mais vous pouvez laisser ce paramètre sur + true + si vous souhaitez que HAVP numérise les images.

/etc/havp/havp.config

SCANIMAGES

Ne numérisez pas les fichiers contenant des types MIME image, vidéo et audio. Ce paramètre améliore les performances et vous permet de regarder du contenu vidéo en streaming (à condition que le VPN dans son ensemble dispose de suffisamment de bande passante). Décommentez cette ligne pour l’activer.

/etc/havp/havp.config

SKIPMIME image/* video/* audio/*

Il y a encore un paramètre que nous allons changer.

Ce paramètre indiquera à HAVP de ne pas enregistrer les demandes ayant abouti dans le fichier journal à "+ / var / log / havp / access.log `. Laissez la valeur par défaut (` true `) si vous souhaitez consulter les journaux d'accès pour voir si HAVP fonctionne. Pour la production, définissez ce paramètre sur ` false +` afin d’améliorer les performances et la confidentialité.

/etc/havp/havp.config

LOG_OKS

Enregistrez vos modifications et quittez le fichier.

Configuration de l’utilisateur

Rappelez-vous quand nous avons configuré ClamAV pour qu’il soit accessible par d’autres groupes?

Nous allons maintenant ajouter l’utilisateur * clamav * au groupe * havp * et permettre à HAVP d’accéder à ClamAV. Exécutez la commande suivante:

sudo gpasswd -a clamav havp

Sortie:

OutputAdding user clamav to group havp

Nous devons redémarrer + clamav-daemon + pour que nos modifications apportées aux groupes prennent effet.

sudo service clamav-daemon restart

Maintenant que nous avons configuré HAVP, nous pouvons le démarrer avec la commande suivante:

sudo service havp restart

Les commandes de redémarrage du service doivent se terminer silencieusement; il ne devrait y avoir aucun message affiché sur la console.

Vérification des journaux

HAVP stocke ses fichiers journaux dans le répertoire + / var / log / havp +. Les messages d’erreur et d’initialisation sont placés dans le fichier + error.log +. Vous pouvez vérifier le statut de HAVP en vérifiant ce fichier.

sudo tail /var/log/havp/error.log

La commande + tail + affiche les dernières lignes du fichier. Si HAVP a démarré avec succès, vous verrez quelque chose comme le résultat affiché ci-dessous. Bien sûr, la date et l’heure seront celles de votre système:

Output17/06/2015 12:48:13 === Starting HAVP Version: 0.92
17/06/2015 12:48:13 Running as user: havp, group: havp
17/06/2015 12:48:13 --- Initializing Clamd Socket Scanner
17/06/2015 12:48:22 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature)
17/06/2015 12:48:22 --- All scanners initialized
17/06/2015 12:48:22 Process ID: 3896

Étape 5 - Test de HAVP

Dans cette section, nous veillerons à ce que HAVP bloque effectivement les virus.

Le journal présenté ci-dessus mentionnait un élément appelé le test de virus + EICAR.

À l’initialisation, HAVP teste les moteurs de l’analyseur antivirus avec une signature antivirus spécialement construite. Tous les logiciels antivirus détectent les fichiers contenant cette signature (sans danger) en tant que virus. Vous pouvez obtenir plus d’informations sur EICAR à la page EICAR Intended Use.

Faisons notre propre test manuel avec le fichier EICAR et voyons que HAVP et ClamAV le bloquent.

Nous allons utiliser l’utilitaire de ligne de commande + wget + pour télécharger le fichier à partir de la page Web EICAR.

Tout d’abord, téléchargez le fichier de test EICAR sans utiliser de proxy:

wget http://www.eicar.org/download/eicar.com -O /tmp/eicar.com

Votre serveur téléchargera le fichier sans se plaindre:

Outputconverted 'http://www.eicar.org/download/eicar.com' (ISO-8859-1) -> 'http://www.eicar.org/download/eicar.com' (UTF-8)
--2015-06-16 13:53:41--  http://www.eicar.org/download/eicar.com
Resolving www.eicar.org (www.eicar.org)... 188.40.238.250
Connecting to www.eicar.org (www.eicar.org)|188.40.238.250|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 68 [application/octet-stream]
Saving to: '/tmp/eicar.com'

/tmp/eicar.com       100%[=====================>]      68  --.-KB/s   in 0s

2015-06-16 13:53:41 (13.7 MB/s) - '/tmp/eicar.com' saved [68/68]

Comme vous pouvez le constater, + wget + a téléchargé le fichier de test contenant la signature du virus sans aucun problème.

Essayons maintenant de télécharger le même fichier avec notre proxy nouvellement configuré. Nous allons définir la variable d’environnement + http_proxy + sur notre adresse et notre port HAVP.

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicar.com -O /tmp/eicar.com

Sortie:

Outputconverted 'http://www.eicar.org/download/eicar.com' (ISO-8859-1) -> 'http://www.eicar.org/download/eicar.com' (UTF-8)
--2015-06-25 20:47:38--  http://www.eicar.org/download/eicar.com
Connecting to 127.0.0.1:8080... connected.
Proxy request sent, awaiting response... 403 Virus found by HAVP
2015-06-25 20:47:39

Notre proxy a intercepté avec succès le téléchargement et bloqué le virus.

EICAR fournit également un fichier de signature de virus caché dans un fichier compressé au format ZIP.

Vous pouvez vérifier que HAVP analyse les fichiers dans les archives ZIP avec la commande suivante:

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicarcom2.zip -O /tmp/eicarcom2.zip

Sortie:

Outputconverted 'http://www.eicar.org/download/eicarcom2.zip' (ISO-8859-1) -> 'http://www.eicar.org/download/eicarcom2.zip' (UTF-8)
--2015-06-25 20:48:28--  http://www.eicar.org/download/eicarcom2.zip
Connecting to 127.0.0.1:8080... connected.
Proxy request sent, awaiting response... 403 Virus found by HAVP
2015-06-25 20:48:28

HAVP (avec ClamAV) a retrouvé le virus.

Étape 6 - Installation de Privoxy

Jusqu’à présent, nous avons configuré un serveur proxy pour analyser les pages Web à la recherche de virus. Qu’en est-il des annonces et des cookies de suivi? Dans cette étape, nous allons installer et configurer Privoxy.

Utilisez la commande suivante pour installer Privoxy:

sudo apt-get install privoxy

La configuration de Privoxy réside dans le fichier + / etc / privoxy / config +. Nous devons définir deux paramètres avant de commencer à utiliser Privoxy.

Ouvrez le fichier de configuration dans votre éditeur préféré.

sudo vi /etc/privoxy/config

Décommentez maintenant et définissez les deux paramètres suivants:

/ etc / privoxy / config

listen-address

. . .

hostname

Le paramètre + listen-address + détermine sur quelle adresse IP et port privoxy est exécuté. La valeur par défaut est + localhost: 8118 +; nous allons changer ceci en +127.0.0.1: 8118 +.

Le paramètre + hostname + spécifie l’hôte sur lequel Privoxy s’exécute et se connecte; définissez ceci sur le nom d’hôte ou l’adresse DNS de votre serveur. Ce peut être n’importe quel nom d’hôte valide.

Maintenant, redémarrez Privoxy avec sa nouvelle configuration.

sudo service privoxy restart

Étape 7 - Chaînage de HAVP à Privoxy

HAVP et Privoxy sont essentiellement des serveurs proxy HTTP. Nous allons maintenant chainner ces deux mandataires afin que, lorsque votre client demande une page Web à HAVP, il transmette cette demande à Privoxy. Privoxy récupérera la page Web demandée, supprimera les menaces contre la confidentialité et les annonces, puis HAVP traitera ensuite la réponse et supprimera les virus et le code malveillant.

Chargez le fichier de configuration HAVP dans votre éditeur de texte favori:

sudo vi /etc/havp/havp.config

Décommentez les lignes suivantes (supprimez le caractère + # + au début des lignes) et définissez leurs valeurs comme indiqué ci-dessous. Privoxy s’exécute sur les adresses IP + 127.0.0.1 + et le port + 8118 +.

/etc/havp/havp.config

PARENTPROXY
PARENTPORT

Enregistrez vos modifications et quittez le fichier.

Redémarrez HAVP pour que les modifications prennent effet:

sudo service havp restart

Consultez le journal des erreurs de HAVP en prenant note du message + Use parent proxy: 127.0.0.1: 8118 +.

sudo tail /var/log/havp/error.log

Sortie:

Output17/06/2015 12:57:37 === Starting HAVP Version: 0.92
17/06/2015 12:57:37 Running as user: havp, group: havp
17/06/2015 12:57:37
17/06/2015 12:57:37 --- Initializing Clamd Socket Scanner
17/06/2015 12:57:37 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature)
17/06/2015 12:57:37 --- All scanners initialized
17/06/2015 12:57:37 Process ID: 4646

Notre configuration de serveur proxy est maintenant terminée. Permet de le tester à nouveau avec le test de virus EICAR.

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicarcom2.zip -O /tmp/eicarcom2.zip

Si votre configuration est bonne, vous devriez à nouveau voir le message + ERROR 403: Virus trouvé par HAVP +.

Étape 8 - Définition des options DNS pour le serveur OpenVPN

Bien que la configuration par défaut d’OpenVPN Server soit adaptée à nos besoins, il est possible de l’améliorer un peu plus.

Chargez le fichier de configuration du serveur OpenVPN dans un éditeur de texte:

sudo vi /etc/openvpn/server.conf

OpenVPN est configuré pour utiliser les serveurs OpenDNS par défaut. Si vous souhaitez le modifier pour utiliser les serveurs DNS de Google, modifiez les paramètres + dhcp-option DNS + comme ci-dessous.

Ajoutez la nouvelle ligne + push" register-dns "+, dont certains clients Windows pourraient avoir besoin pour utiliser les serveurs DNS.

Ajoutez également la nouvelle ligne + push" block-ipv6 "+ pour bloquer IPv6 lors de la connexion au VPN. (Le trafic IPv6 peut contourner notre serveur VPN.)

Voici à quoi cette section devrait ressembler:

/etc/openvpn/server.conf

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "register-dns"
push "block-ipv6"

Si vous souhaitez autoriser plusieurs clients à se connecter avec le même fichier ovpn, supprimez la mise en commentaire de la ligne suivante. (C’est pratique mais pas plus sécurisé!)

/etc/openvpn/server.conf

duplicate-cn

Redémarrez le service OpenVPN pour que les modifications prennent effet.

sudo service openvpn restart

Étape 9 - Configuration de votre proxy transparent

Nous allons maintenant configurer notre serveur de confidentialité pour intercepter le trafic HTTP entre ses clients (votre navigateur) et Internet.

Activer le transfert de paquets

Pour que notre serveur transfère le trafic HTTP au serveur proxy, nous devons activer le transfert de paquets. Vous devriez déjà l’avoir activé dans le tutoriel d’installation OpenVPN.

Testez la configuration avec la commande suivante.

sudo sysctl -p

Il devrait afficher les paramètres modifiés comme ci-dessous. Si ce n’est pas le cas, veuillez consulter le didacticiel OpenVPN.

Outputnet.ipv4.ip_forward = 1

Configurer UFW

Nous devons transférer les paquets HTTP provenant de clients OpenVPN vers HAVP. Nous allons utiliser + ufw + à cette fin.

Tout d’abord, nous devons autoriser le trafic provenant de clients OpenVPN

sudo ufw allow in on tun0 from 10.8.0.0/24

Dans le tutoriel OpenVPN, vous devriez avoir modifié le fichier + / etc / ufw / before.rules et ajouté des règles pour OpenVPN. Nous allons maintenant revoir le même fichier et configurer la redirection de port pour le proxy transparent.

sudo vi /etc/ufw/before.rules

Modifiez les lignes que vous avez ajoutées dans la configuration OpenVPN comme indiqué ci-dessous. Ajoutez les lignes en rouge.

/etc/ufw/before.rules

# START OPENVPN RULES
# NAT table rules
*nat

:POSTROUTING ACCEPT [0:0]


# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

Rechargez la configuration de votre pare-feu.

sudo ufw reload

Vérifier le statut de UFW:

sudo ufw status

Sortie:

OutputStatus: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
1194/udp                   ALLOW       Anywhere
Anywhere on tun0           ALLOW       10.8.0.0/24
22                         ALLOW       Anywhere (v6)
1194/udp                   ALLOW       Anywhere (v6)

Activer le mode transparent de HAVP

Dans les étapes précédentes, nous avons forcé tous les paquets HTTP à passer par HAVP. Cette configuration s’appelle un proxy transparent.

Nous devons configurer + HAVP + en tant que tel.

sudo vi /etc/havp/havp.config

Définissez le paramètre suivant:

/etc/havp/havp.config

TRANSPARENT

Redémarrez le service HAVP:

sudo service havp restart

Notre serveur est maintenant prêt à être utilisé.

Étape 10 - Test de la configuration du client

Sur votre client (Windows, OS X, tablette…), connectez votre client à votre serveur OpenVPN. Notez que vous pouvez utiliser le même fichier + .ovpn + du tutoriel OpenVPN d’origine; toutes les modifications sont du côté du serveur.

Une fois la connexion VPN établie, vous devriez voir vos paramètres DNS préférés dans les journaux du client OpenVPN. L’exemple suivant provient du client IOS.

DNS Servers
   8.8.8.8
   8.8.4.4
Search Domains:

Si vous utilisez Tunnelblick, vous pourriez voir une ligne comme celle-ci:

Changed DNS ServerAddresses setting from '8.8.8.8 208.67.222.222 8.8.4.4' to '8.8.8.8 8.8.4.4'

Pour tester votre configuration, accédez à la [page de test EICAR] (http://www.eicar.org [www.eicar.org]) de votre navigateur et essayez de télécharger le fichier de test EICAR. Vous devriez voir une page * HAVP - Access Denied *.

  • + http: // www.eicar.org / download / eicarcom2.zip +

  • + http: // www.eicar.org / 85-0-Download.html +

image: https: //assets.digitalocean.com/articles/3-openvpn-examples/havp-denied.png [HAVP - Accès refusé]

Étape 11 - Dépannage

Cette section vous aidera à résoudre certains problèmes courants.

Impossible de regarder des vidéos ou d’utiliser mon site préféré

Privoxy peut être configuré pour être moins strict avec les sites qui se chargent trop lentement. Ce comportement est configuré dans le fichier de configuration + user.action +.

Chargez le fichier d’actions utilisateur dans votre éditeur de texte préféré.

sudo vi /etc/privoxy/user.action

Accédez à la fin du fichier et ajoutez le contenu suivant avec les adresses de site supplémentaires souhaitées.

/etc/privoxy/user.action

{ fragile -deanimate-gifs }
.googlevideo.com
.youtube.com
.imgur.com

Après ces modifications, vous n’avez pas besoin de redémarrer Privoxy. Cependant, vous devez vider le cache de votre navigateur et actualiser plusieurs fois.

Si vous rencontrez toujours des problèmes, ajoutez des domaines sur la liste blanche au fichier de liste blanche HAVP. HAVP vérifiera ce fichier et n’effectuera pas d’analyse antivirus si le nom d’hôte correspond.

vi /etc/havp/whitelist

Ajoutez vos sites à la fin du fichier.

/ etc / havp / liste blanche

# Whitelist Windowsupdate, so RANGE is allowed too
*.microsoft.com/*
*.windowsupdate.com/*

Le navigateur cesse de répondre lors d’une utilisation intensive d’Internet

Si vous ouvrez plusieurs pages Web à la fois, la mémoire de votre serveur risque de ne pas être suffisante pour permettre à HAVP d’analyser toutes vos demandes.

Vous pouvez essayer d’augmenter la RAM de votre Droplet et / ou d’ajouter de la mémoire swap. Veuillez vous référer à la Comment configurer la mémoire virtuelle (fichier d’échange) sur un VPS article.

Gardez à l’esprit que l’ajout d’un VPN à votre expérience de navigation ajoutera un peu de temps d’attente dans la plupart des cas.

Conclusion

Après avoir suivi ce didacticiel, votre réseau VPN passera à un niveau supérieur en matière de navigation et de sécurité.