Comment créer un VPN avec OpenVPN sur Windows Server

Besoin d’un moyen sécurisé et crypté pour accéder à Internet? Pourquoi ne pas opter pour OpenVPN sur Windows Server? La configuration de votre premier VPN peut être fastidieuse, mais vous êtes au bon endroit !

Dans ce tutoriel, vous apprendrez comment configurer un VPN gratuit et éloigner les entités malveillantes de votre serveur Windows.

Prêt à sécuriser votre réseau? Eh bien, plongez-y directement !

Prérequis

Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous de disposer des éléments suivants :

  • A Windows Server – This tutorial uses Window Server 2019 R2.
  • A client machine to test the VPN server – This demo uses Windows 10 64 bit.
  • Connectez-vous au bureau sur un serveur Windows en utilisant Remote Desktop (RDP) ou votre client de gestion de bureau préféré – Cette démo utilise le client de fenêtre RDP par défaut.

Installation d’OpenVPN sur Windows Server

OpenVPN fonctionne sur différents systèmes d’exploitation, mais il n’est pas inclus dans votre installation OS. Lancez ce tutoriel en installant OpenVPN sur votre serveur.

1. Ouvrez votre navigateur préféré et accédez à la page de téléchargement d’OpenVPN. Téléchargez le package Windows 64-bit MSI installer sur votre serveur et exécutez l’installateur.

Downloading the Windows 64-bit MSI installer package

2. Ensuite, cliquez sur Personnaliser sur la page initiale de l’assistant d’installation, comme indiqué ci-dessous. L’option Personnaliser vous permet d’installer des éléments supplémentaires pour votre serveur VPN.

Customizing the OpenVPN installer

3. Sur la page Installation personnalisée, cliquez sur le menu déroulant OpenVPN Service -> Sera installé sur le disque dur local pour installer le service OpenVPN sur votre système. Cette option active également le service OpenVPN au démarrage de votre système.

Enabling the OpenVPN Service

4. Faites défiler vers le bas, puis cliquez sur le menu déroulant OpenSSL Utilities -> Sera installé sur le disque dur local. Cette option rend les bibliothèques OpenSSL et les en-têtes de développement disponibles pour le service OpenVPN, nécessaires à certaines fonctions cryptographiques du service OpenVPN.

Cliquez sur Installer maintenant pour installer OpenVPN sur votre serveur.

Enabling the OpenSSL Utilities and installing OpenVPN

5. Enfin, cliquez sur Fermer lorsque l’installation est terminée.

Closing the Customization Installation Wizard

Génération des certificats et des clés pour le serveur et les clients

Vous avez maintenant OpenVPN installé sur votre serveur, mais comment allez-vous sécuriser la connexion entre votre serveur et le(s) client(s) ? Vous allez générer des certificats et des clés pour votre serveur et vos client(s).

Les certificats et les clés sont utilisés pour fournir une connexion chiffrée entre votre serveur et le(s) client(s). Vous obtenez une paire de clés publique et privée unique lors de la génération d’un certificat.

1. Ouvrez votre invite de commande en tant qu’administrateur. Certaines commandes OpenVPN nécessitent des privilèges élevés pour s’exécuter.

Opening your Command Prompt as an administrator

2. Ensuite, exécutez les commandes ci-dessous pour démarrer le shell easy-rsa . Le shell easy-rsa est utilisé pour gérer les certificats, les clés et les configurations.

EasyRSA sera votre interface de ligne de commande principale pour le reste du tutoriel.

cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
Accessing the EasyRSA shell

3. Exécutez la commande ./easyrsa clean-all ci-dessous pour effacer toutes les clés et configurations existantes. Cette commande garantit que vous démarrez avec une configuration propre.

./easyrsa clean-all 
Clearing Existing Keys and Configurations

4. Maintenant, exécutez la commande ./easyrsa init-pki pour initialiser l’infrastructure de clé publique (PKI) et créer une nouvelle structure de répertoire pour vos certificats et clés.

L’infrastructure de clé publique (PKI) est un cadre qui vous permet de créer et de gérer des clés publiques et privées pour que votre serveur et vos clients les utilisent.

./easyrsa init-pki 

Tapez oui et appuyez sur Entrée pour confirmer que vous voulez détruire toutes les clés existantes et créer une nouvelle PKI, comme indiqué ci-dessous.

Initializing the Public Key Infrastructure (PKI)

5. Exécutez la commande ci-dessous pour créer l’Autorité de Certification (AC) (build-ca). L’AC est responsable de la délivrance de certificats aux serveurs et aux clients, de la signature de ces certificats, de la révocation des certificats, etc.

L’option nopass est utilisée, donc vous n’avez pas besoin de saisir un mot de passe à chaque fois que vous copiez les certificats et les clés à vos clients. ./easyrsa build-ca nopass

./easyrsa build-ca nopass

Lors de la configuration de votre VPN, vous devrez générer un certificat pour votre serveur et vos clients signé par l’Autorité de Certification (AC).

Creating the Certificate Authority (CA)

6. Exécutez la commande ci-dessous pour construire le certificat et la clé du serveur (build-server-full). Cette commande crée le certificat et la clé du serveur OpenVPN, les signe avec votre AC et place les fichiers dans le sous-répertoire keys.

./easyrsa build-server-full server nopass
Building the Server Certificate and Key

7. Ensuite, exécutez la commande suivante pour générer les paramètres Diffie-Hellman (gen-dh), puis fermez votre shell easyrsa.

Diffie-Hellman est un protocole qui permet à deux utilisateurs d’échanger des clés cryptographiques sur une connexion non sécurisée. Diffie-Hellman sera nécessaire pour garantir que votre VPN reste sécurisé même si vos clés de chiffrement sont volées.

./easyrsa gen-dh
Generating the Diffie-Hellman Parameters

À présent, vous disposez de tous les fichiers de clés SSL/TLS nécessaires pour votre service OpenVPN répertoriés dans le tableau ci-dessous.

Folder Path Content
C:\Program Files\OpenVPN\easy-rsa\pki CA file, DH file, and other OpenSSL-related files like a config file.
C:\Program Files\OpenVPN\easy-rsa\pki\private Include the private key files of CA, Server, and Client certificates.
C:\Program Files\OpenVPN\easy-rsa\pki\issued Contains issued server and client certificates.

8. Enfin, ouvrez votre Explorateur de fichiers et copiez les fichiers répertoriés ci-dessous dans les dossiers C:\Program Files\OpenVPN\config-auto et C:\Program Files\OpenVPN\easy-rsa\pki\private.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\dh.pem
C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.cert
C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key

Configuration de vos règles de pare-feu Windows

Maintenant que vous avez configuré votre serveur OpenVPN, votre prochaine étape consiste à vous assurer que vous pouvez accéder au service. Vous devrez configurer le pare-feu Windows pour autoriser le trafic OpenVPN.

1. Exécutez la commande netsh ci-dessous pour autoriser le trafic à travers votre pare-feu Windows avec les éléments suivants :

  • Configure (advfirewall) le pare-feu Windows (firewall) en ajoutant une règle nommée OpenVPN (add rule name="OpenVPN") au pare-feu Windows.
  • Permet (action=allow) à toutes les adresses IP locales (localip=any) et aux périphériques externes (remoteip=any) de communiquer via cette règle.
  • Indique au serveur le port à ouvrir (localport=1194 remoteport=0-65535) et le type de protocole à utiliser (protocol=UDP).
netsh advfirewall firewall add rule name="OpenVPN" dir=in localport=1194 remoteport=0-65535 protocol=UDP action=allow remoteip=any localip=any
Configuring your Windows Firewall Rules

2. Ouvrez votre fichier C:\Program Files\OpenVPN\config-auto\server.ovpn dans votre éditeur de texte préféré pour prévisualiser son contenu, comme illustré ci-dessous.

Un fichier .ovpn est un fichier de configuration OpenVPN. Il contient toutes les informations nécessaires à OpenVPN pour se connecter à un VPN, telles que les clés d’authentification et de chiffrement. Pour ce tutoriel, vous aurez besoin d’un fichier .ovpn pour configurer votre connexion avec votre serveur VPN.

Edit your C:\Program Files\OpenVPN\config-auto\server.ovpn file.

Enfin, exécutez les commandes suivantes pour redémarrer votre service OpenVPN et appliquer vos modifications.

net stop openvpnservice
net start openvpnservice
Restarting your OpenVPN service

Configuration de votre client

En plus de configurer votre serveur pour autoriser le trafic OpenVPN, vous devrez également configurer votre client. Dans OpenVPN, un client est toute machine se connectant au VPN. Cette démo utilise Windows 10 pour se connecter au serveur.

1. Installez OpenVPN sur votre client comme vous l’avez fait dans la section « Installation d’OpenVPN sur votre serveur ».

2. Copiez les fichiers énumérés ci-dessous de votre serveur vers le dossier C:\Program Files\OpenVPN\config de votre client.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.crt
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.key

3. Enfin, ouvrez le fichier C:\Program Files\OpenVPN\config\client.ovpn et remplissez-le avec le contenu ci-dessous. Remplacez VOTRE_ADRESSE_IP_OPENVPN par votre véritable adresse IP de serveur Windows.

# client est votre nom de compte, mais vous pouvez choisir votre nom préféré
client
# dev tun est le type de connexion VPN dont vous avez besoin, utilisant une connexion Ethernet.
dev tun
# Le protocole (UDP) utilisé pour cette connexion VPN
proto udp
# Définissez l'adresse IP de votre serveur OpenVPN. 
# 1194 est le port de votre serveur OpenVPN.
remote YOUR_OPENVPN_IP 1194
# Résolvez vos noms de domaine lorsqu'ils ne sont pas trouvés, 
# afin que vous ne voyiez pas d'erreurs "domaine non trouvé".
resolv-retry infinite
# Changez la valeur de "nobind" à "sea" pour déconnecter votre internet 
# lorsque l'identifiant VPN est déconnecté.
nobind
# Votre clé de chiffrement sera enregistrée pour la prochaine fois 
# que vous vous connectez au serveur OpenVPN.
persist-key
# votre connexion VPN sera enregistrée pour la prochaine fois que vous l'utiliserez.
persist-tun
# Le certificat que votre serveur VPN utilise pour s'identifier à vous (le client). 
# Vous pouvez le télécharger depuis votre serveur VPN.
ca ca.crt
# le nom de votre certificat.
cert client01.crt
# le nom de votre clé de chiffrement.
key client01.key
# La compression de données LZO compressera vos blocs de données 
# avant l'envoi pour que les données soient plus petites et plus rapides.
comp-lzo
# Le niveau de verbosité de votre sortie sera réglé au maximum.
# Ainsi, vous obtiendrez le plus d'informations possible de votre connexion.
# Cette fonctionnalité est pratique lors de la résolution des problèmes de votre connexion.
verb 3

Test de la connexion VPN de votre client

Maintenant que vous avez installé et configuré à la fois le serveur et le client, il est temps de vérifier si la connexion entre eux fonctionne correctement.

Sur votre client Windows 10, exécutez l’interface graphique OpenVPN.

Running the OpenVPN GUI

Faites un clic droit sur l’icône d’état OpenVPN (icône de moniteur avec un cadenas) dans la zone de notification, et choisissez Connexion pour connecter le client à votre VPN.

Une fois que le client est connecté, l’icône d’état OpenVPN devient verte, et vous recevrez une notification le vpn est maintenant connecté, comme indiqué ci-dessous.

Connecting to your VPN

Pour une vérification supplémentaire, vous pouvez ping votre serveur VPN en utilisant l’adresse IP attribuée (10.8.0.2).

ping [10.8.0.2](<http://10.8.0.2/>)

La sortie ci-dessous confirme que votre VPN fonctionne comme prévu.

pinging to your VPN server

Conclusion

Dans ce tutoriel, vous avez appris les étapes appropriées pour installer OpenVPN sur Windows Server. Vous avez également appris à configurer le serveur et le client OpenVPN via un fichier de configuration OpenVPN (.ovpn). À ce stade, vous disposez désormais d’un service VPN entièrement fonctionnel que vous pouvez utiliser pour sécuriser votre connexion Internet et naviguer sur le Web en toute sécurité.

Maintenant, pourquoi ne pas étendre votre service de Connectivité VPN à Amazon AWS VPC en utilisant la passerelle VPN AWS VPC avec cette connaissance nouvellement acquise ?

Source:
https://adamtheautomator.com/openvpn-on-window/