Comment configurer un serveur OpenVPN sur Debian 9

introduction

Vous souhaitez accéder à Internet en toute sécurité depuis votre smartphone ou votre ordinateur portable lorsque vous êtes connecté à un réseau non fiable, tel que le WiFi d’un hôtel ou d’un café? Un Virtual Private Network (VPN) vous permet de traverser des réseaux non sécurisés de manière privée et sécurisée, comme si vous vous trouviez sur un réseau privé. Le trafic sort du serveur VPN et continue son chemin vers la destination.

Lorsqu’elle est associée aux HTTPS connections, cette configuration vous permet de sécuriser vos connexions et transactions sans fil. Vous pouvez contourner les restrictions géographiques et la censure, et protéger votre emplacement et tout trafic HTTP non chiffré du réseau non approuvé.

https://openvpn.net [OpenVPN] est une solution VPN SSL (Secure Socket Layer) à code source ouvert et à source complète, qui prend en charge un large éventail de configurations. Dans ce tutoriel, vous allez configurer un serveur OpenVPN sur un serveur Debian 9, puis configurer son accès à partir de Windows, macOS, iOS et / ou Android. Ce tutoriel va simplifier autant que possible les étapes d’installation et de configuration pour chacune de ces configurations.

Conditions préalables

Pour compléter ce didacticiel, vous devez avoir accès à un serveur Debian 9 pour héberger votre service OpenVPN. Avant de commencer ce guide, vous devrez configurer un utilisateur non * root * avec les privilèges + sudo +. Vous pouvez suivre notre Debian 9 guide de configuration du serveur pour configurer un utilisateur disposant des autorisations appropriées. Le tutoriel lié créera également un * pare-feu *, supposé être présent dans tout ce guide.

De plus, vous aurez besoin d’un ordinateur séparé pour servir d’autorité de certification. Bien qu’il soit techniquement possible d’utiliser votre serveur OpenVPN ou votre ordinateur local en tant qu’autorité de certification, cela n’est pas recommandé, car cela ouvre votre VPN à certaines failles de sécurité. Selon la la documentation officielle OpenVPN, vous devez placer votre autorité de certification sur un ordinateur autonome dédié à l’importation et à la signature des demandes de certificat. Pour cette raison, ce guide suppose que votre autorité de certification se trouve sur un serveur Debian 9 distinct qui possède également un utilisateur non * root * avec les privilèges + sudo + et un pare-feu de base.

Veuillez noter que si vous désactivez l’authentification par mot de passe lors de la configuration de ces serveurs, vous risquez de rencontrer des difficultés lors du transfert de fichiers entre eux plus tard dans ce guide. Pour résoudre ce problème, vous pouvez réactiver l’authentification par mot de passe sur chaque serveur. Vous pouvez également générer une paire de clés SSH pour chaque serveur, puis ajouter la clé publique SSH du serveur OpenVPN au fichier + allowed_keys de la machine CA et inversement. Voir Comment configurer les clés SSH sur Debian 9 pour des instructions sur la manière de procéder: de ces solutions.

Lorsque vous avez ces conditions préalables en place, vous pouvez passer à l’étape 1 de ce didacticiel.

Étape 1 - Installer OpenVPN et Easy RSA

Pour commencer, mettez à jour l’index de package * de votre serveur * VPN et installez OpenVPN. OpenVPN est disponible dans les dépôts par défaut de Debian, vous pouvez donc utiliser + apt + pour l’installation:

sudo apt update
sudo apt install openvpn

OpenVPN est un VPN TLS / SSL. Cela signifie qu’il utilise des certificats pour chiffrer le trafic entre le serveur et les clients. Pour émettre des certificats de confiance, vous allez configurer votre propre autorité de certification simple. Pour ce faire, nous téléchargerons la dernière version de EasyRSA, que nous utiliserons pour construire notre infrastructure de clé publique CA (PKI), à partir du référentiel GitHub officiel du projet.

Comme indiqué dans les conditions préalables, nous allons créer l’autorité de certification sur un serveur autonome. La raison de cette approche est que, si un attaquant parvient à infiltrer votre serveur, il pourra accéder à la clé privée de votre autorité de certification et l’utiliser pour signer de nouveaux certificats, ce qui leur donnera accès à votre VPN. Par conséquent, la gestion de l’autorité de certification à partir d’un ordinateur autonome contribue à empêcher les utilisateurs non autorisés d’accéder à votre VPN. Notez également qu’il est recommandé de garder le serveur CA désactivé lorsque vous ne l’utilisez pas pour signer les clés, par mesure de précaution supplémentaire.

Pour commencer à construire l’infrastructure CA et PKI, utilisez + wget + pour télécharger la dernière version d’EasyRSA sur * votre machine CA et votre serveur OpenVPN . Pour obtenir la dernière version, accédez à la page *Releases du projet officiel EasyRSA GitHub