Configuration du client Viscosity avec OpenVPN#

Ce guide montrera comment configurer le client Viscosity pour se connecter à une instance OpenVPN, en utilisant une Nitrokey Pro 2 (ou Nitrokey Storage 2), et PKCS#11 authentification.

Conditions préalables#

Pour ce guide, vous aurez besoin d’un serveur distant OpenVPN installé et configuré pour les clients. Pour les besoins de ce document, nous avons utilisé OpenVPN 2.49 installé sur un serveur Debian 10.

Pour lire comment configurer OpenVPN pour s’authentifier avec Nitrokey Pro, vous pourriez consulter la documentation suivante, car nous couvrirons seulement la façon de configurer le client Viscosity dans ce guide.

Vous aurez également besoin des éléments suivants :

  • Un Nitrokey Pro 2 ou Nitrokey Storage 2

  • La clé privée du client client.key chargée sur le Nitrokey

  • Le certificat du client client.crt chargé sur le Nitrokey

  • Le fichier de l’autorité de certification, c’est-à-dire le fichier CA.crt utilisé pour votre configuration OpenVPN.

  • Facultatif : Le fichier de clé secrète partagée, c’est-à-dire ta.key.

Pour plus d’informations sur la PKCS#11 gestion des clés avec OpenVPN, veuillez consulter la `documentation d’OpenVPN. <https://openvpn.net/community-resources/how-to/>`___.

Utilisation#

  1. Démarrez Viscosity et créez une nouvelle connexion « openVPN » (vous pouvez la nommer comme vous le souhaitez).

img1
  1. Cliquez à droite sur la connexion et cliquez sur modifier

img2
  1. Ajoutez l’adresse IP de votre serveur et configurez le port en fonction de votre configuration.

  2. Sous authentification, dans « Type », faites défiler jusqu’à « Client SSL/TLS (PKCS11) ».

  3. Sélectionnez le fichier CA pour votre connexion

Facultatif : Sélectionnez le ta.key dans la section ``TLS-Auth`””.

img3
  1. Cliquez sur le bouton Ajouter à côté du champ Fournisseurs et sélectionnez le module PKCS#11 pour votre Nitrokey. Plusieurs fournisseurs peuvent être spécifiés, et pour l’exemple nous utiliserons OpenSC.

Sous macOS, l’emplacement le plus courant pour trouver les modules est le répertoire /usr/lib. Veuillez vous référer à la documentation fournie avec votre logiciel de pilotage pour connaître l’emplacement à utiliser. Le module d’OpenSC se trouve dans le répertoire /Library/OpenSC/lib/opensc-pkcs11.so.

Sous Windows, l’emplacement le plus courant pour les bibliothèques est soit C:\Program Files, soit C:\Windows\System32. Les bibliothèques OpenSC se trouvent généralement dans le dossier C:\Program Files\OpenSC Project\OpenSC\pkcs11. Il peut y avoir plus d’une bibliothèque disponible ici, vous pouvez essayer chacune d’entre elles ou simplement ajouter les deux.

  1. Choisissez une méthode d’extraction dans le menu déroulant « Extraction ».

img4
  • Si une seule Nitrokey doit être utilisée sur cet ordinateur, sélectionnez « Utiliser le nom du certificat ci-dessous ». Si la Nitrokey est actuellement connectée à l’ordinateur, cliquez sur le bouton « Détecter » pour que Viscosity remplisse automatiquement le champ Nom. Sinon, ce champ peut être rempli manuellement.

  • En cas de doute, ou si plus d’une Nitrokey peut être utilisée (c’est-à-dire plusieurs utilisateurs), sélectionnez « Demander le nom du certificat ».

Si « Demander le nom du certificat » a été sélectionné, Viscosity détectera automatiquement la clé requise sur la Nitrokey, en utilisant le ou les modules PKCS#11 spécifiés. Sélectionnez l’un des dispositifs trouvés, ou entrez le nom de l“« identifiant sérialisé » à utiliser manuellement. Là encore, l’utilisateur est invité à saisir un mot de passe/PIN si nécessaire.

  1. Cliquez sur le bouton Enregistrer et connectez-vous à partir de votre interface principale.

Références#

Notes#

  • Viscosity n’est pas gratuit, et vous pourriez donc rencontrer des problèmes en utilisant la version gratuite.

  • Nous envisageons l’utilisation de Pritunl comme alternative libre et ouverte.