L'installation et l'exécution de Devolutions Gateway sur Linux est rapide et facile, à condition que plusieurs prérequis soient remplis. 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
-
Naviguer vers la page des versions de Devolutions Gateway sur GitHub et télécharger le fichier .deb de la dernière version.
-
Entrer ce qui suit en utilisant la ligne de commande :
wget https://github.com/Devolutions/devolutions-gateway/releases/download/v2024.3.2/devolutions-gateway_2024.3.2.0_amd64.deb
-
Installer le paquet en utilisant l'utilitaire
dpkg
:sudo dpkg -i devolutions-gateway_2024.3.2.0_amd64.deb
Les paquets de configuration et binaires sont dans les 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 sur l'installation existante et préservera les configurations.
Installer le module PowerShell gateway
Il est recommandé d'utiliser le module PowerShell gateway pour configurer et gérer l'instance Devolutions Gateway sur Linux.
-
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
-
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, visualisée ou modifiée.
Configurer les certificats
La confiance appropriée des certificats entre les systèmes est la clé pour faire fonctionner Devolutions Gateway. Des fonctionnalités telles que les websockets utilisées dans les vues de tableau de bord web de RDP, SSH, etc., nécessitent un certificat correctement 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 autosigné sur Ubuntu 22.04 LTS via OpenSSL
Utiliser l'outil 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.
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 |
---|---|
| Créer et traiter les demandes de certificat, y compris les certificats auto-signés au format PKCS#10. |
| Produire un certificat auto-signé. |
| Définir le sujet du certificat sur la ligne de commande. Il ne doit pas y avoir d'espaces entre les sections.
|
| Pour ajouter un nom alternatif de sujet (SAN), utiliser ce paramètre pour définir soit une entrée IP, soit une entrée DNS.
|
| Ne pas chiffrer la clé privée créée. |
| Le nombre de jours pendant lesquels le certificat est valide. |
| Définir l'algorithme et la taille en bits, ici |
| L'emplacement pour créer le fichier de clé privée. |
| L'emplacement pour créer le fichier de clé publique. |
Faire confiance au certificat auto-signé sur Ubuntu
Une fois le certificat autosigné créé, le certificat dans le système Ubuntu devra être approuvé. Pour approuver à l'échelle du système, utiliser la série de commandes suivante :
cd /etc/devolutions-gateway
sudo apt-get install -y ca-certificates
sudo cp server.crt /usr/local/share/ca-certificates
sudo update-ca-certificate
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.
Si cela est fait dans Firefox, plusieurs erreurs de confiance apparaîtront car le navigateur n'utilise pas le magasin de certificats à l'échelle du système. Leur documentation propose quelques solutions pour cela.
Faire confiance au certificat auto-signé sur Windows
Après la création du certificat autosigné, il devra être approuvé sur le Devolutions Server. Les fichiers server.crt et server.key devront être transférés au système Windows ; ou copier et coller le contenu dans les fichiers (par exemple, sudo cat server.crt dans Ubuntu et copier cela dans un fichier texte sur Windows).
-
Copier la clé publique vers Windows (dans l'exemple, C:\Gateway est un emplacement temporaire) :
sudo cat server.crt
-
Copier le contenu dans un fichier server.crt.
-
Copier la clé privée sur Windows :
sudo cat server.key
-
Copier le contenu dans un fichier server.key.
-
Créer un fichier PFX en utilisant l'outil de ligne de commande certutil de Windows. Pour que cela fonctionne, le fichier clé doit avoir le même nom que le fichier crt, ne différant que par l'extension :
certutil -mergepfx server.crt server.pfx
-
Importer le fichier PFX dans le Magasin de certificats des autorités de certification racine de confiance.
-
Double-cliquer sur le fichier server.pfx pour démarrer l'assistant d'importation et choisir Ordinateur local.
-
Cliquer sur Suivant et accepter l'invite.
-
Cliquer sur Suivant.
-
Saisir le mot de passe que vous avez saisi avec la commande
certutil
.- Facultatif : choisir de Marquer cette clé comme exportable.
-
Choisir l'option Placer tous les certificats dans le magasin suivant.
-
Sélectionner Autorités de certification racines de confiance avec le bouton Parcourir....
-
Cliquer sur Suivant.
-
Cliquer sur Terminer pour finaliser 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
Modifier la configuration de Devolutions Gateway
La configuration par défaut d'un gateway contenu dans le fichier /etc/devolutions-gateway/gateway.json nécessite l'ajout des directives de certificat (le 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 sont dans le même répertoire que gateway.json (utiliser l'éditeur de fichiers intégré Nano est recommandé) :
{
"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"
}
]
}
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
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
-
Se connecter à la console web de Devolutions Server et naviguer vers Administration – Devolutions Gateway.
-
Cliquer sur le bouton Plus et choisir l'option Télécharger la clé publique.
-
Copier le contenu du fichier gateway_public_key.pem téléchargé sur Windows.
-
Remplacer le contenu du fichier /etc/devolutions-gateway/provisioner.pem (l'utilitaire Nano est recommandé) par le contenu copié depuis Windows.
-
Redémarrer Devolutions Gateway avec la commande
sudo systemctl restart devolutions-gateway.service
.
Configurer Devolutions Gateway dans Devolutions Server
Aller à l'interface web de Devolutions Server où la Devolutions Gateway Linux nouvellement configurée sera ajoutée.
Avant de créer la configuration Gateway, ajouter les informations de licence nécessaires dans Administration – Licences. Assigner la licence selon les besoins lors de la configuration.
-
Se connecter à la console web de Devolutions Server et naviguer vers Administration – Devolutions Gateway.
-
Cliquer sur le bouton Ajouter (+).
-
Sélectionner Gateway.
-
Entrer ce qui suit (cela changera en fonction de la configuration).
- Nom: Linux Gateway
- URL de Devolutions Gateway :
https://10.10.0.20:7171
- Nom d'hôte TCP :
Ubuntu-2204
-
Cliquer sur Sauvegarder.
Cliquer sur le menu Plus d'options pour le Devolutions Gateway et choisir l'option Publier la liste de révocation si la liste de révocation n'est pas à jour.
Résoudre les hôtes dans Ubuntu
Le système Devolutions Gateway hébergé sous 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.
Se connecter au système suivant :
- Nom d'hôte :
it-help-dc
- Nom de domaine pleinement qualifié (FQDN):
it-help-dc.ad.it-help.ninja
- Adresse IP :
10.10.0.3
Ouvrir le fichier hosts pour édition sudo nano /etc/hosts
pour ajouter l'hôte dans Ubuntu.
Ouvrir une session RDP basée sur le web
La passerelle peut maintenant se connecter aux hôtes. Comme l'hôte it-help-dc
a été ajouté comme résolvable à Ubuntu, il peut être utilisé pour se connecter dans une session basée sur le web.
Les sessions basées sur le web nécessitent une Gateway active configurée pour l'entrée et l'utilisateur lançant nécessitera une licence Remote Desktop Manager Team edition assignée ou une licence Devolutions Launcher.
De plus, si des changements ont été apportés aux 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.
-
Dans l'interface web de Devolutions Server, cliquer sur Ajouter. Sélectionner une entrée de session RDP.
-
Cliquer sur Continuer.
-
Entrer un Nom et un Hôte qui doivent être résolvables par l'installation de Devolutions Gateway sous Linux.
-
Cliquer sur Ajouter.
-
Entrer ou lier les informations d'identification nécessaires à la session RDP et cliquer sur Ajouter.
-
Sous l'onglet VPN/Tunnel/Passerelle, choisir Devolutions Gateway comme type de VPN.
-
Définir l'option Connecter sur Toujours connecter.
-
Choisir le Devolutions Gateway correct.
-
Cliquer sur Ajouter.
-
Cliquer sur Ouvrir dans le client web.
Ouvrir une session RDP dans Remote Desktop Manager
Si l'entrée est déjà configurée via l'interface web de Devolutions Server, elle peut être lancée à partir de Remote Desktop Manager lorsqu'il est connecté à la source de données Devolutions Server.
Lors de la création d'une nouvelle entrée depuis Remote Desktop Manager, le processus est similaire à celui de Devolutions Server.
-
Dans Remote Desktop Manager, cliquer sur Nouvelle entrée. Sélectionner une entrée de session RDP.
-
Cliquer sur Sélectionner.
-
Entrer un Nom et un Hôte qui doivent être résolvables par l'installation de Devolutions Gateway sous Linux.
-
Entrer ou lier toute information d'identification nécessaire à la session RDP.
-
Définir l'option Connecter sur Toujours connecter.
-
Sous l'onglet VPN/Tunnel/Passerelle, choisir Devolutions Gateway comme type de VPN.
-
Aller à l'onglet Paramètres (Devolutions Gateway).
-
Choisir le Devolutions Gateway désiré.
-
Cliquer sur Ajouter.
-
Cliquer sur le bouton Ouvrir la session.
En survolant la barre de titre, une info-bulle apparaîtra et montrera que le protocole RDP est connecté via Devolutions Gateway.
Activer l'interface web Devolutions Gateway
À partir de la version 2024.1.0 et suivantes, une nouvelle interface web 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
.
Auparavant, 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, effectuer 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 le gateway :
sudo systemctl restart devolutions-gateway.service