Configuration de Devolutions Gateway sur Linux

Installer et exécuter Devolutions Gateway sur Linux est rapide et facile, à condition que plusieurs prérequis soient satisfaits. Ubuntu 22.04 LTS a été utilisé pour démontrer l'installation et la configuration.

Devolutions Server ou Devolutions Hub Business est nécessaire pour la configuration ainsi qu'une licence Devolutions Gateway.

Installer Devolutions Gateway

  1. Naviguer vers la page Devolutions Gateway GitHub Release et télécharger le fichier .deb de la dernière version.

  2. Entrer la commande suivante à l'aide de la ligne de commande : wget https://github.com/Devolutions/devolutions-gateway/releases/download/v2024.3.2/devolutions-gateway_2024.3.2.0_amd64.deb

    Command-line wget
    Command-line wget
  3. Installer le paquet en utilisant l'utilitaire dpkg : sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb

    Command-line dpkg
    Command-line dpkg

Les paquets de configuration et binaires se trouvent aux emplacements suivants :

  • Configuration : /etc/devolutions-gateway

  • Binaire : /usr/bin/devolutions-gateway

Mettre à jour Devolutions Gateway

Pour mettre à jour Devolutions Gateway sur Linux, télécharger le dernier paquet comme expliqué dans la section précédente et exécuter la commande d'installation. Le paquet s'installera par dessus l'installation existante et préservera les configurations.

Installer le module passerelle PowerShell

Il est recommandé d'utiliser le module passerelle PowerShell pour configurer et gérer l'instance Devolutions Gateway sur Linux.

  1. Installer PowerShell avec cette commande :

    source /etc/os-release
    wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    rm packages-microsoft-prod.deb
    sudo apt-get update
    sudo apt-get install -y powershell
    
  2. Installer le module Devolutions Gateway PowerShell :

    Install-Module -Name DevolutionsGateway
    Import-Module -Name DevolutionsGateway
    

Une fois installé, la configuration de Devolutions Gateway peut être démarrée, arrêtée, consultée ou modifiée.

Configurer les certificats

Une confiance appropriée des certificats entre les systèmes est essentielle pour faire fonctionner Devolutions Gateway. Les fonctionnalités telles que les websockets utilisées dans les vues du tableau de bord Web de RDP, SSH, etc., nécessitent un certificat dûment approuvé. Un certificat généré sur le système Linux et approuvé par les ordinateurs utilisés pour se connecter est nécessaire.

Générer un certificat auto-signé sur Ubuntu 22.04 LTS via OpenSSL

Utiliser l'utilitaire OpenSSL pour générer un certificat directement depuis la ligne de commande. Le certificat doit ensuite être placé directement dans le répertoire de configuration /etc/devolutions-gateway.

Command-line openssl
Command-line openssl
sudo openssl req -x509 -subj "/C=CA/ST=Quebec/L=Lavaltrie/O=Devolutions/CN=ubuntu-2204" -addext "subjectAltName = IP:10.10.0.20" -nodes -days 365 -newkey rsa:2048 -keyout /etc/devolutions-gateway/server.key -out /etc/devolutions-gateway/server.crt

La demande de certificat sera différente pour chaque configuration.

Options de personnalisation

Explication

req

Créer et traiter des demandes de certificats, y compris les certificats auto-signés au format PKCS#10.

-x509

Produire un certificat auto-signé.

-subj

Définir le sujet du certificat sur la ligne de commande. Il ne doit y avoir aucun espace entre les sections.

  • /C - Pays en code à deux chiffres comme "CA" pour Canada ou "US" pour les États-Unis.

  • /ST - État ou province, comme Québec ou Californie.

  • /L - Localité, comme Lavaltrie ou Sacramento.

  • /O - Organisation, telle que Devolutions ou Microsoft.

  • /CN - Nom commun, ici ubuntu-2204 (comme indiqué via la commande hostname).

-addext

Pour ajouter un nom alternatif de sujet (SAN), utiliser ce paramètre pour définir soit une IP, soit une entrée DNS.

  • "subjectAltName = IP:10.10.0.20"

  • "subjectAltName = DNS:ubuntu-2204"

-nodes

Ne pas chiffrer la clé privée créée.

-days

Le nombre de jours pendant lesquels le certificat est valide.

-newkey

Définir l'algorithme et la taille de bit, ici rsa:2048 est utilisé.

-keyout

Lieu pour créer le fichier de clé privée.

-out

L'emplacement pour créer le fichier de clé publique.

Faire confiance au certificat auto-signé sur Ubuntu

Une fois le certificat auto-signé créé, il faudra le faire approuver par le système Ubuntu. Pour approuver sur tout le système, utiliser le jeu de commandes suivant :

cd /etc/devolutions-gateway
sudo apt-get install -y ca-certificates
sudo cp server.crt /usr/local/share/ca-certificates
sudo update-ca-certificate
Command-line update-ca-certificates
Command-line update-ca-certificates

Les ca-certificates peuvent déjà être installés. En exécutant la commande update-ca-certificates, un lien symbolique sera créé dans /etc/ssl/certs vers le fichier de certificat copié dans /usr/local/share/ca-certificates.

Creating a symlink
Creating a symlink

Si cela est fait dans Firefox, plusieurs erreurs de confiance apparaîtront car le navigateur n'utilise pas le magasin de certificats du système. Leur documentation offre quelques solutions à cela.

Faire confiance au certificat auto-signé sur Windows

Après la création du certificat auto-signé, il faudra le faire approuver sur Devolutions Server. Les fichiers server.crt et server.key devront être transférés vers le système Windows ; ou copier-coller le contenu dans des fichiers (i.e. sudo cat server.crt dans Ubuntu et copier le tout dans un fichier texte sur Windows).

  1. Copier la clé publique vers Windows (dans l'exemple, C:\Gateway est un emplacement temporaire) :
    sudo cat server.crt

    Command-line sudo cat server
    Command-line sudo cat server
  2. Copier le contenu dans un fichier server.crt.

    Server.crt file
    Server.crt file
  3. Copier la clé privée sur Windows :
    sudo cat server.key

    Copying the key to Windows
    Copying the key to Windows
  4. Copier le contenu dans un fichier server.key.

    Server.key file
    Server.key file
  5. Créer un fichier PFX à l'aide de l'outil de ligne de commande Windows certutil. Pour que cela fonctionne, le fichier de clé doit porter le même nom que le fichier crt, à la seule différence de l'extension :
    certutil -mergepfx server.crt server.pfx

    Create a PFX file
    Create a PFX file
  6. Importer le fichier PFX dans le magasin de certificats des autorités de certification racines approuvées.

    1. Double-cliquer sur le fichier server.pfx pour démarrer l'assistant d'importation et choisir Ordinateur local.

    2. Cliquer sur Suivant et accepter l'invite.

      Click Next
      Click Next
    3. Cliquer sur Suivant.

      Click Next
      Click Next
    4. Entrer le mot de passe que vous avez entré avec la commande certutil.

      • Facultativement : choisir de Marquer cette clé comme exportable.

      Enter the password
      Enter the password
    5. Choisir l'option Placer tous les certificats dans le magasin suivant.

    6. Sélectionner Autorités de certification racines approuvées avec le bouton Parcourir....

    7. Cliquer sur Suivant.

      Click Next
      Click Next
    8. Cliquer sur Terminer pour achever l'importation.

Ouvrir les ports du pare-feu Ubuntu

Si le système Linux utilise UFW (Uncomplicated Firewall) pour gérer le pare-feu basé sur iptable, exécuter les commandes suivantes pour ouvrir les ports nécessaires :

sudo ufw status
sudo ufw allow 7171
sudo ufw allow 8181
sudo ufw status
Opening Ubuntu firewall ports
Opening Ubuntu firewall ports

Modifier la configuration de Devolutions Gateway

La configuration par défaut d'un gateway contenue dans le fichier /etc/devolutions-gateway/gateway.json nécessite l'ajout des directives de certificat (l'InternalUrl devra utiliser HTTPS) :

{
  "Id": "YOUR-UNIQUE-GUID",
  "ProvisionerPublicKeyFile": "provisioner.pem",
  "ProvisionerPrivateKeyFile": null,
  "Listeners": [
    {
      "InternalUrl": "tcp://:8181",
      "ExternalUrl": "tcp://:8181"
    },
    {
      "InternalUrl": "http://:7171",
      "ExternalUrl": "https://:7171"
    }
  ]
}

Modifier le fichier ci-dessus pour refléter ce qui suit, en supposant que server.crt et server.key se trouvent dans le même répertoire que gateway.json (il est recommandé d'utiliser l'éditeur de fichiers intégré Nano) :

{
  "Id": "YOUR-UNIQUE-GUID",
  "ProvisionerPublicKeyFile": "provisioner.pem",
  "ProvisionerPrivateKeyFile": null,
  "TlsCertificateFile": "server.crt",
  "TlsPrivateKeyFile": "server.key",
  "Listeners": [
    {
      "InternalUrl": "tcp://:8181",
      "ExternalUrl": "tcp://:8181"
    },
    {
      "InternalUrl": "https://:7171",
      "ExternalUrl": "https://:7171"
    }
  ]
}
Modifying the configuration
Modifying the configuration

Redémarrer Devolutions Gateway.

Avec la nouvelle configuration en place, redémarrer Devolutions Gateway. Cela peut être fait avec la commande systemctl :

sudo systemctl restart devolutions-gateway.service
sudo systemctl status devolutions-gateway.service
Restart the gateway
Restart the gateway

Alternativement, les commandes PowerShell Stop-DGateway et Start-DGateway peuvent également être utilisées.

Connecter Devolutions Gateway à Devolutions Server

Copier la clé publique de Devolutions Server vers Devolutions Gateway Linux

  1. Se connecter à la console web de Devolutions Server et naviguer vers AdministrationDevolutions Gateway.

  2. Cliquer sur le bouton Plus et choisir l'option Télécharger la clé publique.

    Download public key
    Download public key
  3. Copier le contenu du fichier gateway_public_key.pem téléchargé sur Windows.

    Copy the contents
    Copy the contents
  4. Remplacer le contenu du fichier /etc/devolutions-gateway/provisioner.pem (l'utilitaire Nano est recommandé) par le contenu copié depuis Windows.

    Replace the contents
    Replace the contents
  5. Redémarrer Devolutions Gateway avec la commande sudo systemctl restart devolutions-gateway.service.

    Restart Devolutions Gateway
    Restart Devolutions Gateway

Configurer Devolutions Gateway dans Devolutions Server.

Aller à l'interface web de Devolutions Server où la nouvelle Linux Devolutions Gateway sera ajoutée.

Avant de créer la configuration de Gateway, ajouter les informations de licence nécessaires dans AdministrationLicences. Attribuer la licence au besoin lors de la configuration.

  1. Se connecter à la console web de Devolutions Server et naviguer vers AdministrationDevolutions Gateway.

  2. Cliquer sur le bouton Ajouter (+).

  3. Sélectionner Gateway.

    Select Gateway
    Select Gateway
  4. Entrer ce qui suit (cela changera selon la configuration).

    1. Nom : Linux Gateway

    2. URL Devolutions Gateway : https://10.10.0.20:7171

    3. Nom d'hôte TCP : Ubuntu-2204

  5. Cliquer sur Enregistrer.

    Click Save
    Click Save

Cliquer sur le menu d'options supplémentaires pour la passerelle et choisir l'option Publier la liste de révocation si la liste de révocation est obsolète.

Revocation list is not in sync
Revocation list is not in sync
Publish revocation list
Publish revocation list

Résoudre les hôtes dans Ubuntu

Le système Devolutions Gateway hébergé sur Linux doit être capable de résoudre les adresses demandées par Devolutions Server. La méthode la plus simple pour tester est de modifier le fichier hosts.

Connecter au système suivant :

  • Nom d'hôte : it-help-dc

  • Nom de domaine complet (FQDN) : it-help-dc.ad.it-help.ninja

  • Adresse IP : 10.10.0.3

Ouvrir le fichier hosts pour l'édition sudo nano /etc/hosts pour ajouter l'hôte dans Ubuntu.

Add the host in Ubuntu
Add the host in Ubuntu

Ouvrir une session RDP basée sur le web

La passerelle peut maintenant se connecter aux hôtes. Puisque l'hôte it-help-dc a été ajouté comme résolvable à Ubuntu, il peut être utilisé pour se connecter dans une session Web.

Les sessions basées sur le web nécessitent une passerelle active configurée pour l'entrée et l'utilisateur lançant aura besoin d'une licence assignée Remote Desktop Manager Team edition ou Devolutions Launcher.

De plus, si des changements ont été effectués dans les attributions de licences, il peut être nécessaire de se déconnecter et de se reconnecter pour voir l'option de lancement de la connexion basée sur le web.

  1. Dans l'interface web de Devolutions Server, cliquer sur Ajouter. Sélectionner une entrée de session RDP.

  2. Cliquer sur Continuer.

    Click Continue
    Click Continue
  3. Entrer un Nom et un Hôte qui doivent être résolus par l'installation Linux Devolutions Gateway.

  4. Cliquer sur Ajouter.

    Click Add
    Click Add
  5. Entrer ou lier tous les identifiants nécessaires à la session RDP et cliquer sur Ajouter.

    Enter or link credentials
    Enter or link credentials
  6. Sous l'onglet VPN/Tunnel/Passerelle, choisir Devolutions Gateway comme type de VPN.

  7. Définir l'option Connecter sur Connecter toujours.

  8. Choisir la passerelle correcte.

  9. Cliquer sur Ajouter.

    Choose the correct gateway
    Choose the correct gateway
  10. Cliquer sur Ouvrir dans le client web.

    Open in web client
    Open in web client

Ouvrir une session RDP de Remote Desktop Manager

Si l'entrée est déjà configurée depuis l'interface web de Devolutions Server, elle peut être lancée à partir de Remote Desktop Manager lorsqu'elle est connectée à la source de données de Devolutions Server.

Lors de la création d'une nouvelle entrée à partir de Remote Desktop Manager, le processus est similaire à celui de Devolutions Server.

  1. Dans Remote Desktop Manager, cliquer sur Nouvelle entrée. Sélectionner une entrée de session RDP.

  2. Cliquer sur Sélectionner.

    Click on Select
    Click on Select
  3. Entrer un Nom et un Hôte qui doivent être résolus par l'installation Linux Devolutions Gateway.

  4. Entrer ou lier toutes les informations d'identification nécessaires à la session RDP.

    Fill in the necessary fields
    Fill in the necessary fields
  5. Définir l'option Connecter sur Connecter toujours.

  6. Sous l'onglet VPN/Tunnel/Passerelle, choisir Devolutions Gateway comme type de VPN.

    Adjust the General settings
    Adjust the General settings
  7. Aller à l'onglet Paramètres (Devolutions Gateway).

  8. Choisir le Devolutions Gateway souhaité.

  9. Cliquer sur Ajouter.

    Click Add
    Click Add
  10. Cliquer sur le bouton Ouvrir session.

En survolant la barre de titre, une info-bulle apparaîtra et montrera que le RDP est connecté via Devolutions Gateway.

Tooltip
Tooltip

Activer l'interface web de Devolutions Gateway

À partir de la version 2024.1.0, une nouvelle interface web pour Devolutions Gateway a été ajoutée. Modifier le gateway.json pour ajouter la section suivante sur WebApp en utilisant un utilitaire tel que sudo nano /etc/devolutions-gateway/gateway.json.

Précédemment, le ProvisionerPrivateKeyFile était défini comme null. Lors de l'activation de l'application Web, le fichier doit être copié de Devolutions Server vers un fichier accessible à Devolutions Gateway. Comme indiqué dans la section précédente, exécuter la même procédure mais télécharger la clé privée à la place et la transférer sur le système Ubuntu.

{
  "Id": "YOUR-UNIQUE-GUID",
  "ProvisionerPublicKeyFile": "provisioner.pem",
  "ProvisionerPrivateKeyFile": "provisioner.key",
  "TlsCertificateFile": "server.crt",
  "TlsPrivateKeyFile": "server.key",
  "Listeners": [
    {
      "InternalUrl": "tcp://:8181",
      "ExternalUrl": "tcp://:8181"
    },
    {
      "InternalUrl": "https://:7171",
      "ExternalUrl": "https://:7171"
    }
  ],
  "WebApp": {
    "Enabled": true,
    "Authentication": "None"
  }
}

Une fois modifié, redémarrer la passerelle :

sudo systemctl restart devolutions-gateway.service
Restart the gateway
Restart the gateway
Devolutions Forum logo Donnez-nous vos commentaires