Configurer les clients VPN point à site – Authentification par certificat – Linux

Cet article vous aide à vous connecter à votre réseau virtuel Azure à l’aide d’une passerelle VPN point à site (P2S) et de l’authentification par certificat depuis un client Linux. Il existe plusieurs ensembles d’étapes dans cet article, selon le type de tunnel que vous avez sélectionné pour votre configuration P2S, le système d’exploitation et le client VPN utilisé pour la connexion.

Avant de commencer

Avant de commencer, vérifiez que vous êtes sur le bon article. Le tableau suivant présente les articles de configuration disponibles pour les clients VPN P2S de la passerelle Azure VPN. Les étapes diffèrent selon le type d’authentification, le type de tunnel et le système d’exploitation client.

Authentification Type de tunnel Générer des fichiers config Configurer le client VPN
Certificat Azure IKEv2, SSTP Windows Client VPN natif
Certificat Azure OpenVPN Windows - Client OpenVPN
- Client VPN Azure
Certificat Azure IKEv2, OpenVPN macOS-iOS macOS-iOS
Certificat Azure IKEv2, OpenVPN Linux Linux
Microsoft Entra ID OpenVPN (SSL) Windows Windows
Microsoft Entra ID OpenVPN (SSL) macOS macOS
RADIUS - certificat - Article Article
RADIUS - mot de passe - Article Article
RADIUS - autres méthodes - Article Article

Important

À compter du 1er juillet 2018, la passerelle VPN Azure ne prendra plus en charge TLS 1.0 et 1.1. Elle prendra uniquement en charge TLS 1.2. Seules les connexions de point à site sont affectées ; les connexions site à site ne le sont pas. Si vous utilisez le protocole TLS pour les VPN de point à site sur des clients Windows 10 ou version ultérieure, aucune action n’est nécessaire. Si vous utilisez le protocole TLS pour les connexions de point à site sur des clients Windows 7 et Windows 8, consultez Questions fréquentes (FAQ) sur la passerelle VPN pour obtenir des instructions de mise à jour.

Générer des certificats

Pour l’authentification par certificat, un certificat client doit être installé sur chaque ordinateur client. Le certificat client que vous souhaitez utiliser doit être exporté avec la clé privée et contenir tous les certificats dans le chemin de certification. En outre, pour certaines configurations, vous devez également installer les informations de certificat racine.

Pour plus d’informations sur l’utilisation des certificats, consultez Point à site : générer des certificats.

Générer les fichiers de configuration du client VPN

Tous les paramètres de configuration nécessaires aux clients VPN sont contenus dans un fichier config zip de client VPN. Les fichiers config du profil client VPN que vous générez sont spécifiques à la configuration de la passerelle VPN P2S pour le réseau virtuel. Si des modifications ont été apportées à la configuration du VPN P2S après avoir généré les fichiers (modifications apportées au type de protocole VPN ou au type d’authentification, par exemple), vous devez générer les nouveaux fichiers de configuration du profil du client VPN et appliquer la nouvelle configuration à tous les clients VPN que vous souhaitez connecter. Pour plus d’informations sur les connexions P2S, consultez l’article À propos des VPN point à site.

Pour générer des fichiers de configuration à l’aide du Portail Azure :

  1. Dans le portail Azure, accédez à la passerelle du réseau virtuel auquel vous souhaitez vous connecter.

  2. Dans la page correspondant à la passerelle de réseau virtuel, sélectionnez Configuration de point à site pour ouvrir la page Configuration de point à site.

  3. En haut de la page Configuration de point à site, sélectionnez Télécharger le client VPN. Cela ne permet pas de télécharger le logiciel du client VPN mais de générer le package de configuration utilisé pour configurer les clients VPN. La génération du package de configuration du client prend quelques minutes. Pendant ce temps, vous ne verrez peut-être aucune indication jusqu’à ce que le paquet soit généré.

    Capture d’écran de la page de configuration de point à site.

  4. Une fois le package de configuration généré, votre navigateur indique qu’un fichier zip de configuration client est disponible. Il porte le même nom que votre passerelle.

  5. Décompressez le fichier pour afficher les dossiers. Vous allez utiliser tout ou partie de ces fichiers pour configurer votre client VPN. Les fichiers générés correspondent aux paramètres d’authentification et de type de tunnel que vous avez configurés sur le serveur P2S.

Ensuite, configurez le client VPN. Choisissez parmi les instructions suivantes :

IKEv2 - Étapes strongSwan

Installer strongSwan

La configuration suivante a été utilisée lors de la spécification des commandes :

  • Ordinateur : Ubuntu Server 18.04
  • Dépendances : strongSwan

Utilisez les commandes suivantes pour installer la configuration strongSwan requise :

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

Installer des certificats

Un certificat client est requis pour l’authentification lors de l’utilisation du type d’authentification de certificat Azure. Un certificat client doit être installé sur chaque ordinateur client. Le certificat client exporté doit être exporté avec la clé privée et contenir tous les certificats dans le chemin de certification. Assurez-vous que l’ordinateur client dispose du certificat client approprié installé avant de passer à la section suivante.

Pour plus d’informations sur les certificats clients, consultez Générer des certificats - Linux.

Afficher les fichiers de profil du client VPN

Accédez aux fichiers de configuration du profil client VPN téléchargés. Vous trouverez toutes les informations nécessaires pour la configuration dans le dossier Générique. Azure ne fournit pas de fichier mobileconfig pour cette configuration.

Si vous ne voyez pas le dossier Générique, vérifiez les éléments suivants, puis générez à nouveau le fichier zip.

  • Vérifiez le type de tunnel adapté à votre configuration. Il est probable qu’IKEv2 ne soit pas sélectionné en tant que type de tunnel.
  • Sur la passerelle VPN, vérifiez que la référence SKU n’est pas De base. La référence SKU de base de passerelle VPN ne prend pas en charge IKEv2. Ensuite, sélectionnez IKEv2 et générez à nouveau le fichier zip pour récupérer le dossier Générique.

Ce dossier contient les fichiers suivants :

  • Le fichier VpnSettings.xml, qui contient d’importants paramètres tels que l’adresse et le type de tunnel du serveur.
  • Le fichier VpnServerRoot.cer, qui contient le certificat racine requis pour valider la passerelle VPN Azure lors de la configuration de la connexion P2S.

Après avoir consulté les fichiers, suivez les étapes que vous souhaitez utiliser :

étapes de l’interface utilisateur graphique strongSwan

Cette section vous guide tout au long de la configuration à l’aide de l’interface graphique utilisateur strongSwan. Les instructions suivantes ont été créées sur Ubuntu 18.0.4. Ubuntu 16.0.10 ne prend pas en charge l’interface graphique utilisateur strongSwan. Si vous souhaitez utiliser Ubuntu 16.0.10, vous devez utiliser la ligne de commande. En fonction de votre version de Linux et strongSwan, les exemples ci-dessous ne correspondent pas aux écrans affichés.

  1. Ouvrez le Terminal pour installer strongSwan et son gestionnaire de réseau en exécutant la commande dans l’exemple.

    sudo apt install network-manager-strongswan
    
  2. Sélectionnez Paramètres, puis Réseau. Sélectionnez le bouton + pour créer une connexion.

    Capture d’écran montrant la page des connexions réseau.

  3. Sélectionnez IPsec/IKEv2 (strongSwan) dans le menu, puis double-cliquez dessus.

    Capture d’écran montrant la page Ajouter un VPN.

  4. Dans la page Ajouter un VPN, ajoutez un nom pour votre connexion VPN.

    Capture d’écran montrant Choisir un type de connexion.

  5. Ouvrez le fichier VpnSettings.xml à partir du dossier Générique contenu dans les fichiers de configuration du profil du client VPN téléchargé. Recherchez la balise appelée VpnServer et copiez le nom, en commençant par « azuregateway » et en terminant par « .cloudapp.net ».

    Capture d’écran montre la copie de données.

  6. Collez le nom dans le champ Adresse de votre nouvelle connexion VPN sous la section Passerelle. Ensuite, sélectionnez l’icône du dossier à la fin du champ Certificat, accédez au dossier Générique, puis sélectionnez le fichier VpnServerRoot.

  7. Dans la section Client de la connexion, pour Authentification, sélectionnez Certificat/clé privée. Pour Certificat et Clé privée, choisissez le certificat et la clé privée qui ont été créés précédemment. Dans Options, sélectionnez Demander une adresse IP interne. Sélectionnez ensuite Ajouter.

    Capture d’écran montrant Demander une adresse IP interne.

  8. Activez la connexion.

    Capture d’écran montrant la copie.

étapes de l’interface CLI strongSwan

Cette section vous guide tout au long de la configuration à l’aide de l’interface CLI strongSwan.

  1. À partir des fichiers de configuration du profil du client VPN Générique, copiez ou déplacez le fichier VpnServerRoot.cer dans /etc/ipsec.d/cacerts.

  2. Copiez ou déplacez les fichiers que vous avez générés vers /etc/ipsec.d/certs et /etc/ipsec.d/private/ respectivement. Ces fichiers sont le certificat client et la clé privée, ils doivent se trouver dans leurs répertoires correspondants. Utilisez les commandes suivantes :

    sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/
    sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/
    sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
    
  3. Exécutez la commande suivante pour prendre note de votre nom d’hôte. Vous utiliserez cette valeur à l'étape suivante.

    hostnamectl --static
    
  4. Ouvrez le fichier VpnSettings.xml et copiez la valeur <VpnServer>. Vous utiliserez cette valeur à l'étape suivante.

  5. Ajustez les valeurs de l’exemple suivant, puis ajoutez l’exemple à la configuration /etc/ipsec.conf.

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs  directory. 
          leftcert=${USERNAME}Cert.pem
          leftauth=pubkey
          leftid=%client # use the hostname of your machine with % character prepended. Example: %client
          right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com
          rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
          esp=aes256gcm16
    
  6. Ajoutez les valeurs secrètes à /etc/ipsec.secrets.

    Le nom du fichier PEM doit correspondre à celui que vous avez utilisé précédemment pour le fichier de clé du client.

    : RSA ${USERNAME}Key.pem  # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory. 
    
  7. Pour finir, exécutez les commandes suivantes :

    sudo ipsec restart
    sudo ipsec up azure
    

Étapes OpenVPN

Cette section vous aide à configurer des clients Linux pour l’authentification par certificat qui utilise le type de tunnel OpenVPN. Pour vous connecter à Azure, téléchargez le client OpenVPN et configurez le profil de connexion.

Notes

Le client OpenVPN version 2.6 n’est pas encore pris en charge.

  1. Ouvrez une nouvelle session de terminal. Vous pouvez ouvrir une nouvelle session en appuyant simultanément sur « Ctrl + Alt + t ».

  2. Saisissez la commande suivante pour installer les composants nécessaires :

    sudo apt-get install openvpn
    sudo apt-get -y install network-manager-openvpn
    sudo service network-manager restart
    
  3. Ensuite, accédez au dossier de profil client VPN et effectuez une décompression pour afficher les fichiers.

  4. Exportez le certificat de client P2S que vous avez créé et chargé dans votre configuration P2S sur la passerelle. Pour connaître les étapes, consultez Passerelle VPN point à site.

  5. Procédez à l’extraction de la clé privée et de l’empreinte numérique en base 64 à partir du fichier .pfx. Il y a plusieurs manières de procéder. Vous devez utiliser OpenSSL sur votre ordinateur.

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    

    Le fichier profileinfo.txt contient la clé privée et l’empreinte numérique pour l’autorité de certification et le certificat client. Assurez-vous d’utiliser l’empreinte numérique du certificat client.

  6. Ouvrez profileinfo.txt dans un éditeur de texte. Pour obtenir l’empreinte numérique du certificat client (enfant), sélectionnez le texte (y compris et entre) « ---BEGIN CERTIFICATE--- » et « ---END CERTIFICATE--- » pour le certificat enfant et copiez-le. Vous pouvez identifier le certificat enfant en examinant la ligne subject=/.

  7. Ouvrez le fichier vpnconfig.ovpn et recherchez la section ci-dessous. Remplacez tout le contenu compris entre « cert » et « / cert ».

    # P2S client certificate
    # please fill this field with a PEM formatted cert
    <cert>
    $CLIENTCERTIFICATE
    </cert>
    
  8. Ouvrez profileinfo.txt dans un éditeur de texte. Pour obtenir la clé privée, sélectionnez le texte (y compris et entre) « ---BEGIN PRIVATE KEY--- » et « ---END PRIVATE KEY--- », puis copiez-le.

  9. Revenez au fichier vpnconfig.ovpn dans votre éditeur de texte et recherchez cette section. Collez la clé privée, en remplaçant tout le contenu compris entre « key » et « /key ».

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  10. Ne modifiez aucun autre champ. Utilisez la configuration complétée dans l’entrée client pour vous connecter au VPN.

    • Pour vous connecter en utilisant une ligne de commande, tapez la commande suivante :

      sudo openvpn --config <name and path of your VPN profile file>&
      
    • Pour vous déconnecter en utilisant une ligne de commande, tapez la commande suivante :

      sudo pkill openvpn
      
    • Pour vous connecter à l’aide de l’interface utilisateur graphique, accédez aux paramètres du système.

  11. Sélectionner + pour ajouter une nouvelle connexion VPN.

  12. Sous Ajouter un VPN, choisissez Importer à partir d’un fichier....

  13. Naviguez jusqu’au fichier de profil et double-cliquez dessus ou bien choisissez Ouvrir

  14. Sélectionnez Ajouter dans la fenêtre Ajouter un VPN.

    Capture d’écran illustrant Importer à partir d’un fichier sur la page Ajouter un VPN.

  15. Vous pouvez vous connecter en mettant le VPN sur ON à partir de la page Paramètres réseau, ou sous l’icône de réseau dans la barre d’état système.

Étapes suivantes

Pour plus d’instructions, revenez à l’article sur la connexion point à site original sur lequel vous travailliez.