Aller au contenu

OpenVPN

Dans cet article

Information

OpenVPN est un logiciel open-source pour créer des réseaux privés virtuels (VPN) sécurisés. La solution utilise les protocoles SSL/TLS pour garantir la sécurité, offrant un chiffrement et une authentification des données fiables. OpenVPN fonctionne sur TCP ou UDP, peut traverser les pare-feux et les serveurs proxy, assurant une grande flexibilité dans divers environnements réseau.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
298 OpenVPN Ubuntu 22.04 + + + + 1 1 - Non COMMANDER

Premiers pas après le déploiement d'OpenVPN

Après le paiement de la commande, une notification concernant la disponibilité du serveur sera envoyée à l'adresse e-mail spécifiée lors de l'inscription. Elle contiendra l'adresse IP du VPS ainsi que les identifiants de connexion pour l'accès. Les clients de notre entreprise gèrent les équipements via le panneau de contrôle et l'API - Invapi.

Les données d'authentification peuvent être trouvées soit dans l'onglet Configuration >> Tags du panneau de gestion du serveur, soit dans l'e-mail envoyé :

  • Login et Password pour l'administration du serveur : reçus par e-mail après le déploiement du serveur. Ils correspondent au mot de passe root sur le serveur.

Connexion au serveur et accès à la gestion

Information

OpenVPN se compose d'un composant serveur installé sur le serveur, et d'un composant client pour les utilisateurs finaux. L'application serveur permet la configuration et la gestion de la connexion VPN, tandis que l'application client est disponible pour diverses plateformes, notamment Windows, macOS, Android, iOS et Linux.

  1. Connectez-vous au serveur via SSH :

    ssh root@<server_IP>
    
  2. Les fichiers de configuration principaux d'OpenVPN se trouvent dans le répertoire /etc/openvpn/ :

    ls -la /etc/openvpn/
    
  3. Sur le serveur, il y a également un script pour configurer les configurations client :

    ls -la /root/openvpn-conf.sh
    

  4. Vous pouvez vérifier l'état du serveur OpenVPN avec la commande suivante :

    systemctl status openvpn@server
    

Configuration des profils utilisateur

  1. Sur votre serveur, un fichier de configuration utilisateur prêt à l'emploi (client_hk.ovpn) se trouve déjà dans le répertoire /root/ :

    ls /root/
    client_hk.ovpn  openvpn-conf.sh
    

Vous pouvez utiliser le fichier client_hk.ovpn existant ou en créer un nouveau à l'aide du script.

  1. Copiez le fichier de configuration souhaité sur votre appareil local avec SCP :

    scp root@<server_IP>:/root/client_hk.ovpn /chemin/sur/l'ordinateur/local/
    

Création d'un nouvel utilisateur

  1. Connectez-vous au serveur via SSH :

    ssh root@<server_IP>
    
  2. Exécutez le script de configuration OpenVPN :

    /root/openvpn-conf.sh
    
  3. Dans le menu qui apparaît, vous verrez les options suivantes :

    Welcome to OpenVPN-install!
    The git repository is available at: https://github.com/angristan/openvpn-install
    It looks like OpenVPN is already installed.
    What do you want to do?
       1 Add a new user
       2 Revoke existing user
       3 Remove OpenVPN
       4 Exit
    Select an option [1-4]:
    
  4. Choisissez l'option 1 pour ajouter un nouvel utilisateur :

    Select an option [1-4]: 1
    
  5. Entrez le nom du client, en respectant les exigences de format :

    Tell me a name for the client.
    The name must consist of alphanumeric characters. It may also include an underscore or a dash.
    Client name: UserName
    

    Information

    Le nom d'utilisateur ne doit contenir que des lettres, des chiffres, des underscores ou des tirets.

  6. Choisissez une méthode pour protéger le fichier de configuration :

    Do you want to protect the configuration file with a password?
    (e.g., encrypt the private key with a password)
       1. Add a passwordless client
       2. Use a password for the client
    Select an option [1-2]:
    
    • Option 1 : Crée un fichier sans mot de passe (option plus simple pour les utilisateurs) ;
    • Option 2 : Exige la saisie d'un mot de passe pour protéger la clé (sécurité renforcée).
  7. Si vous avez choisi la protection par mot de passe (option 2), on vous demandera de saisir le mot de passe deux fois :

    ``` You will be asked for the client password below * Using SSL: openssl OpenSSL 3.0.2 15 Mar 2022 * Using Easy-RSA configuration: /etc/openvpn/easy-rsa/vars

    Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ```

  8. Après avoir terminé avec succès toutes les étapes, vous verrez un message concernant la création d'un nouvel utilisateur :

    Client UserName added.
    The configuration file has been written to /root/UserName.ovpn.
    Download the .ovpn file and import it in your OpenVPN client.
    
  9. Le fichier de configuration .ovpn sera créé dans le répertoire /root/ avec le nom d'utilisateur :

    ls -la /root/*.ovpn
    

Révocation de l'accès utilisateur

  1. Exécutez le script d'installation OpenVPN :

    /root/openvpn-conf.sh
    
  2. Choisissez l'option 2 pour révoquer un utilisateur existant :

    Select an option [1-4]: 2
    
  3. Sélectionnez un utilisateur dans la liste pour la révocation :

    Select the client to revoke:
    1) User1
    2) User2
    ...
    Client: 1
    
  4. Confirmez la révocation :

    Confirm revoke for User1? [y/n]: y
    
  5. Après une révocation réussie, vous verrez un message :

    Certificate for client User1 revoked!
    

Transfert du fichier de configuration vers l'utilisateur

  1. Copiez le fichier .ovpn du serveur vers votre ordinateur local :

     scp root@<server_IP>:/root/UserName.ovpn /chemin/sur/l'ordinateur/local/
    
  2. Transférez le fichier de configuration à l'utilisateur via un canal de communication sécurisé.

Gestion des certificats utilisateur

Affichage des certificats existants

Pour afficher la liste de tous les certificats utilisateur émis, exécutez :

cd /etc/openvpn/easy-rsa/pki/issued/
ls -la

Exemple de sortie :

total 20
drwx------ 2 root root 4096 Apr  4 09:33 .
drwx------ 8 root root 4096 Apr  4 09:33 ..
-rw------- 1 root root 2512 Apr  4 09:33 Testuser.crt
-rw------- 1 root root 2518 Apr  3 14:21 client_hk.crt
-rw------- 1 root root 2705 Apr  3 14:21 server_jGWMj7JIGkP69so7.crt
Chaque fichier avec l'extension .crt représente un certificat d'utilisateur, et le nom du fichier correspond au nom d'utilisateur.

Révocation d'un certificat utilisateur

Si vous devez révoquer l'accès d'un utilisateur (par exemple, lorsqu'un employé est licencié ou qu'une clé est compromise), suivez ces étapes :

  1. Accédez au répertoire Easy-RSA :

    cd /etc/openvpn/easy-rsa/
    
  2. Exécutez la commande de révocation de certificat, en spécifiant le nom d'utilisateur exact :

    ./easyrsa revoke UserName
    

    Important : Le nom d'utilisateur doit correspondre exactement au nom du fichier du certificat sans l'extension .crt et est sensible à la casse.

    Par exemple, pour révoquer le certificat de l'utilisateur Testuser :

    ./easyrsa revoke Testuser
    
  3. Après la révocation réussie du certificat, générez une liste mise à jour des certificats révoqués (CRL) :

    ./easyrsa gen-crl
    

    Vous verrez un message concernant la création d'une CRL mise à jour :

    Notice
    ------
    An updated CRL has been created.
    CRL file: /etc/openvpn/easy-rsa/pki/crl.pem
    

Mise à jour de la liste des certificats révoqués sur le serveur

Pour appliquer les certificats révoqués, mettez à jour la CRL sur le serveur :

  1. Copiez la CRL mise à jour dans le répertoire OpenVPN :

    cp /etc/openvpn/easy-rsa/pki/crl.pem /etc/openvpn/
    
  2. Redémarrez le service OpenVPN pour appliquer les modifications :

    systemctl restart openvpn@server
    

Après avoir terminé ces étapes, un utilisateur dont le certificat a été révoqué ne pourra plus se connecter au serveur VPN, même s'il possède un fichier de configuration .ovpn valide.

Configuration de l'accès utilisateur

Installation d'OpenVPN

  1. Rendez-vous sur le site officiel OpenVPN ;
  2. Téléchargez la dernière version d'OpenVPN Community Edition pour Windows ;
  3. Exécutez l'installateur et suivez les instructions de l'assistant d'installation ;
  4. Pendant l'installation, assurez-vous que tous les composants par défaut sont sélectionnés, y compris les pilotes TAP.

Des informations détaillées sur l'installation sous Windows sont disponibles dans le guide officiel

Obtention du fichier de configuration

Pour copier le fichier de configuration OpenVPN directement depuis le serveur, utilisez la commande SCP :

scp root@SERVER_IP:/root/client_hk.ovpn C:\OpenVPN

Où :

  • SERVER_IP - Adresse IP de votre serveur VPN
  • /root/client_hk.ovpn - Chemin vers le fichier de configuration sur le serveur
  • C:\OpenVPN - Répertoire local sur votre ordinateur où le fichier sera copié

Après l'exécution de la commande, on vous demandera de saisir le mot de passe du compte root du serveur.

Après une copie réussie, vous verrez des informations sur la fin du processus et la taille du fichier transféré :

Importation et utilisation de la configuration

  1. Copiez le fichier .ovpn obtenu dans C:\Program Files\OpenVPN\config

  2. Lancez OpenVPN GUI — le programme démarre automatiquement dans la barre des tâches au démarrage de Windows (icône dans le coin inférieur droit de l'écran)

  3. Faites un clic droit sur l'icône OpenVPN dans la barre des tâches

  4. Dans le menu contextuel, sélectionnez Import pour ajouter votre configuration :

  5. Si votre profil est déjà importé ou copié dans le répertoire de configuration, vous le verrez dans le menu. Sélectionnez Connect et le nom de votre profil

  6. Entrez le nom d'utilisateur et le mot de passe si nécessaire, lors de l'utilisation de l'authentification ou si le fichier de configuration est protégé par mot de passe

  7. Après une connexion réussie, vous verrez une notification de confirmation :

L'icône OpenVPN dans la barre des tâches changera également de couleur pour devenir verte.

Pour vérifier la connexion, visitez whoer.net ou whatismyip.com

Si vous devez configurer OpenVPN sur d'autres systèmes d'exploitation, utilisez les instructions officielles du développeur :

Remarque

Lors de la connexion via OpenVPN, tout le trafic de l'appareil passe par un tunnel sécurisé. Pour vous déconnecter, utilisez l'option Disconnect dans l'application cliente.

Remarque

Des informations détaillées sur les paramètres de base d'OpenVPN sont disponibles dans la documentation du développeur.

Tutoriel vidéo pour la configuration d'OpenVPN

Commande d'un serveur avec OpenVPN via l'API