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

Installez OpenVPN sur votre PC Linux

OpenVPN crée un tunnel crypté entre deux points, empêchant un tiers d'accéder à votre trafic réseau. En configurant votre serveur de réseau privé virtuel (VPN), vous devenez votre propre fournisseur VPN. De nombreux services VPN populaires utilisent déjà OpenVPN, alors pourquoi lier votre connexion à un fournisseur spécifique alors que vous pouvez avoir un contrôle total ?

Le premier article de cette série a montré comment installer et configurer un PC Linux pour servir de serveur OpenVPN. Il a également expliqué comment configurer votre routeur afin que vous puissiez accéder à votre serveur VPN à partir d'un réseau extérieur.

Ce deuxième article montre comment installer le logiciel serveur OpenVPN en suivant les étapes personnalisées du wiki OpenVPN.

Installer OpenVPN

Tout d'abord, installez OpenVPN et le easy-rsa application (pour vous aider à configurer l'authentification sur votre serveur) à l'aide de votre gestionnaire de packages. Cet exemple utilise Fedora Linux; si vous avez choisi quelque chose de différent, utilisez la commande appropriée pour votre distribution :

$ sudo dnf install openvpn easy-rsa 

Cela crée des répertoires vides :

  • /etc/openvpn
  • /etc/openvpn/client
  • /etc/openvpn/server

S'ils ne sont pas créés lors de l'installation, créez-les manuellement.

Configurer l'authentification

OpenVPN dépend du easy-rsa scripts et doit en avoir sa propre copie. Copiez le easy-rsa scripts et fichiers :

$ sudo mkdir /etc/openvpn/easy-rsa
$ sudo cp -rai /usr/share/easy-rsa/3/* \
/etc/openvpn/easy-rsa/

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

L'authentification est importante et OpenVPN la prend très au sérieux. La théorie est que si Alice a besoin d'accéder à des informations privées à l'intérieur de l'entreprise de Bob, il est vital que Bob s'assure qu'Alice est vraiment Alice. De même, Alice doit s'assurer que Bob est bien Bob. Nous appelons cela l'authentification mutuelle.

La meilleure pratique actuelle vérifie un attribut à partir de deux des trois facteurs possibles :

  • Quelque chose que vous avez
  • Quelque chose que vous savez
  • Quelque chose que vous êtes

Il y a beaucoup de choix. Cette configuration OpenVPN utilise :

  • Certificats : Quelque chose que le client et le serveur ont
  • Mot de passe du certificat : Quelque chose que les gens savent

Alice et Bob ont besoin d'aide pour s'authentifier mutuellement. Puisqu'ils font tous deux confiance à Cathy, Cathy assume un rôle appelé autorité de certification (CALIFORNIE). Cathy atteste qu'Alice et Bob sont tous les deux ce qu'ils prétendent être. Parce qu'Alice et Bob font tous deux confiance à Cathy, maintenant ils se font aussi confiance.

Mais qu'est-ce qui convainc Cathy qu'Alice et Bob sont vraiment Alice et Bob ? La réputation de Cathy dans la communauté dépend de sa réussite, et donc si elle veut que Danielle, Evan, Fiona, Greg et d'autres lui fassent également confiance, elle testera rigoureusement les affirmations d'Alice et de Bob. Après qu'Alice et Bob aient convaincu Cathy qu'ils sont vraiment Alice et Bob, Cathy signe des certificats qu'ils doivent partager entre eux et avec le monde.

Comment Alice et Bob savent-ils que Cathy - et non quelqu'un se faisant passer pour elle - a signé les certificats ? Ils utilisent une technologie appelée cryptographie à clé publique :

  • Trouvez un algorithme de chiffrement qui chiffre avec une clé et déchiffre avec une autre.
  • Déclarez une clé privée et partagez l'autre clé avec le public.
  • Cathy partage sa clé publique et une copie en texte clair de sa signature avec le reste du monde.
  • Cathy crypte sa signature avec sa clé privée. N'importe qui peut le déchiffrer avec sa clé publique.
  • Si la signature déchiffrée de Cathy correspond à la copie en texte clair, Alice et Bob peuvent être sûrs que Cathy l'a vraiment signée.

Vous utilisez cette même technologie chaque fois que vous achetez des biens et des services en ligne.

Mettre en œuvre l'authentification

La documentation d'OpenVPN suggère de configurer une autorité de certification sur un système séparé ou au moins un répertoire séparé sur le serveur OpenVPN. La documentation suggère également de générer des certificats serveur et client à partir du serveur et des clients. Comme il s'agit d'une configuration simple, vous pouvez utiliser le serveur OpenVPN comme sa propre autorité de certification et placer les certificats et les clés dans des répertoires spécifiés sur le serveur.

Générez des certificats à partir du serveur et copiez-les sur chaque client dans le cadre de la configuration du client.

Cette implémentation utilise des certificats auto-signés. Cela fonctionne parce que le serveur se fait confiance et que les clients font confiance au serveur. Par conséquent, le serveur est la meilleure autorité de certification pour signer les certificats.

Depuis le serveur OpenVPN, configurez l'autorité de certification :

$ sudo mkdir /etc/openvpn/ca
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo / etc/openvpn/easy-rsa/easyrsa build-ca

Utilisez une phrase de passe facile à retenir mais difficile à deviner.

Configurez la paire de clés du serveur et la demande de certificat :

$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-req OVPNserver2020 pas de passe

Dans cet exemple, OVPNServer2020 est le nom d'hôte que vous avez attribué à votre serveur OpenVPN dans le premier article de cette série.

Générer et signer des certificats

Vous devez maintenant envoyer une demande de serveur à l'autorité de certification et générer et signer le certificat de serveur.

Cette étape copie essentiellement le fichier de requête depuis /etc/openvpn/server/pki/reqs/OVPNserver2020.req vers /etc/openvpn/ca/pki/reqs/OVPNserver2020.req pour le préparer pour examen et signature :

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
import-req /etc/openvpn/server/pki/reqs/OVPNserver2020.req OVPNserver2020

Examinez et signez la demande

Vous avez généré une demande, vous devez donc maintenant vérifier et signer les certificats :

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
show-req OVPNserver2020

Connectez-vous en tant que serveur :

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
serveur sign-req OVPNserver2020

Placez une copie des certificats du serveur et de l'autorité de certification à leur place pour que le fichier de configuration les récupère :

$ sudo cp /etc/openvpn/ca/pki/issued/OVPNserver2020.crt \
/etc/openvpn/server/pki/
$ sudo cp /etc/openvpn/ca/pki/ ca.crt \
/etc/openvpn/server/pki/

Ensuite, générez des paramètres Diffie-Hellman pour que les clients et le serveur puissent échanger des clés de session :

$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-dh

Presque là

Le prochain article de cette série vous montrera comment configurer et démarrer le serveur OpenVPN que vous venez de créer.


Cet article est basé sur le blog de D. Greg Scott et est réutilisé avec autorisation.


OpenVPN
  1. Configurez votre serveur OpenVPN sous Linux

  2. Comment installer un environnement de bureau sur votre serveur Linux sans tête

  3. Comment installer Nextcloud avec Docker sur votre serveur Linux

  4. Comment installer OpenVPN sur Ubuntu 18.04

  5. Comment installer Virtualization Linux Server

Exécutez des applications Linux sur votre Chromebook

Comment installer SQL Server sur Linux

Installer uTorrent sur Linux Mint 18

Comment installer Minecraft Server sur Linux

Installer Velociraptor sur Linux

Comment installer KernelCare sur votre serveur Linux