I. Présentation.

Le serveur Apache Guacamole sera utilisé comme point d’entrée unique pour accéder aux serveurs et équipements de l’infrastructure que ce soit via les protocoles RDP, SSH, VNC et Telnet, et même Kubernetes. Que l’on soit en externe ou en interne, les connexions aux serveurs vont obligatoirement passer par l’hôte Apache Guacamole.

Apache Guacamole devient un élément central de l’infrastructure puisqu’il sert de passerelle pour administrer les machines. Rassurez-vous, il est possible d’avoir plusieurs hôtes Apache Guacamole pour répartir la charge et assurer la haute disponibilité.

II. Les fonctions clés d’Apache Guacamole

Apache Guacamole intègre plusieurs fonctions séduisantes qui vont nous permettre de mieux suivre les accès aux serveurs de notre infrastructure.

  • Centralisation et suivi des connexions : qui, quand, où, combien de temps, depuis où
  • Aucun client lourd à installer, l’accès s’effectue en mode web grâce au HTML5
  • Enregistrements vidéos des sessions, c’est-à-dire quand une connexion est en cours d’utilisation

III. Installer Apache Guacamole sur Debian

A. Installer les prérequis d’Apache Guacamole

Tout d’abord, nous devons installer un ensemble de paquets indispensables au bon fonctionnement d’Apache Guacamole. Certains paquets sont spécifiques à certaines fonctionnalités, comme les connexions RDP par exemple. Cette liste de dépendance est consultable dans la documentation.

Installation des dépendances Apache Guacamole : 

apt-get update
apt-get install build-essential libcairo2-dev libjpeg62-turbo-dev libpng-dev libtool-bin uuid-dev libossp-uuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev

La partie Server d’Apache Guacamole doit être téléchargée et compilée en local pour s’installer. La dernière version sera utilisée, à savoir la version 1.5.2. Pour identifier la dernière version, nous pouvons nous appuyer sur ces deux liens :

On va se positionner dans le répertoire « /tmp » et télécharger l’archive tar.gz :

cd /tmp
wget https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz

(Modifier le lien au cas où nouvelle version d d’apache serv)

Une fois le téléchargement terminé, on décompresse l’archive tar.gz et on se positionne dans le répertoire obtenu :

tar -xzf guacamole-server-1.5.5.tar.gz
cd guacamole-server-1.5.5/

On exécute la commande ci-dessous pour se préparer à la compilation, ce qui va permettre de vérifier la présence des dépendances :

./configure –with-systemd-dir=/etc/systemd/system/

Avant de passer à la suite, on vérifie la sortie de cette commande. Normalement, les librairies principales et dont nous avons besoin sont sur le statut « yes ». Comme ceci :

B. Compiler et installer Apache Guacamole « Server »

Regardez bien la sortie de la commande précédente, afin de vérifier la présence éventuelle d’une erreur. Si vous obtenez une erreur qui spécifie « guacenc_video_alloc », c’est lié au composant « guacenc » qui est utilisé pour créer les enregistrements au format vidéo (lié à FFmpeg). Dans ce cas, vous pouvez relancer la commande précédente en désactivant ce composant :

./configure –with-systemd-dir=/etc/systemd/system/ –disable-guacenc

Ensuite, poursuivez avec la compilation du code source de guacamole-server :

make

Enfin, on termine par installer le composant Guacamole Server :

make install

Voilà, la partie serveur d’Apache Guacamole est installée !

Mais il y a d’autres étapes à réaliser…

La commande ci-dessous sert à mettre à jour les liens entre guacamole-server et les librairies (cette commande ne retourne aucun résultat) :

ldconfig

Ensuite, on va démarrer le service « guacd » correspondant à Guacamole et activer son démarrage automatique. La première commande sert à prendre en compte le nouveau service.

systemctl daemon-reload
systemctl enable –now guacd

C. Créer le répertoire de configuration

Dernière étape avant de passer à la partie client d’Apache Guacamole, on crée l’arborescence pour la configuration d’Apache Guacamole. Cela va donner le répertoire « /etc/guacamole » avec les sous-répertoires « extensions » et « lib ». Nous en aurons besoin par la suite pour mettre en place le stockage des données dans une base de données MariaDB / MySQL.

mkdir -p /etc/guacamole/{extensions,lib}

D. Installer Guacamole Client (Web App)

Nous allons ajouter un nouveau fichier source pour Apt. Créez le fichier suivant :

nano /etc/apt/sources.list.d/bullseye.list

Ajoutez cette ligne, enregistrez et fermez le fichier.

deb http://deb.debian.org/debian/ bullseye main

Mettez à jour le cache des paquets :

apt-get update

Effectuez l’installation des paquets Tomcat 9 sur Debian 12 avec cette commande :

apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user

Puis, nous allons télécharger la dernière version de la Web App d’Apache Guacamole depuis le dépôt officiel (même endroit que pour la partie serveur). On se positionne dans « /tmp » et on télécharge la Web App, ce qui revient à télécharger un fichier avec l’extension « .war ».

cd /tmp
wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-1.5.5.war

Une fois que le fichier est téléchargé, on le déplace dans la librairie de Web App de Tomcat9 avec cette commande :

mv guacamole-1.5.5.war /var/lib/tomcat9/webapps/guacamole.war

Puis, on relance les services Tomcat9 et Guacamole :

systemctl restart tomcat9 guacd

E. Base de données MariaDB pour l’authentification

Cette dernière étape avant de commencer à utiliser Apache Guacamole consiste à déployer MariaDB Server (ou MySQL Server, au choix) sur Debian pour qu’Apache Guacamole s’appuie sur une base de données. Cette base de données sera utilisée pour stocker toutes les informations de l’application.

On commence par installer le paquet MariaDB Server :

apt-get install mariadb-server

sécuriser un minimum notre instance (changer le mot de passe root, désactiver les accès anonymes, etc…)

mysql_secure_installation

Une fois cette étape effectuée, on va se connecter en tant que root à notre instance MariaDB :

mysql -u root -p

Création de la BDD guacadb via le user guaca_nachos avec le mdp P@ssword!

CREATE DATABASE guacadb;
CREATE USER ‘guaca_nachos’@’localhost’ IDENTIFIED BY ‘Iroise29′;
GRANT SELECT,INSERT,UPDATE,DELETE ON guacadb.* TO ‘guaca_nachos’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
Base de données MariaDB MySQL pour Apache Guacamole

ajout de l’extension MySQL à Apache Guacamole ainsi que le connecteur correspondant.

cd /tmp
wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz

Puis, on décompresse l’archive tar.gz obtenue :

tar -xzf guacamole-auth-jdbc-1.5.5.tar.gz

On déplace le fichier « .jar » de l’extension dans le répertoire « /etc/guacamole/extensions/ » créé précédemment :

mv guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/

Ensuite, le connecteur MySQL doit être téléchargé depuis le site de MySQL 

Utilisez le lien ci-dessous pour repérer le lien de la dernière version en choisissant « Platform Independent », puis en cliquant sur le bouton « Download » permettant d’obtenir la Compressed TAR Archive.

On lance le téléchargement :

cd /tmp
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.1.0.tar.gz

Puis, on décompresse l’archive tar.gz :

tar -xzf mysql-connector-j-9.1.0.tar.gz

On copie (ou déplace) le fichier .jar du connecteur vers le répertoire « lib » d’Apache Guacamole :

cp mysql-connector-j-9.1.0/mysql-connector-j-9.1.0.jar /etc/guacamole/lib/

Les dépendances sont déployées, mais nous n’avons pas encore fini cette intégration avec MariaDB.

Importer tous les fichiers SQL situés dans le répertoire « guacamole-auth-jdbc-1.5.5/mysql/schema/ ». Le mot de passe root de MariaDB doit être saisi pour effectuer l’import.

cd guacamole-auth-jdbc-1.5.5/mysql/schema/
cat *.sql | mysql -u root -p guacadb
Apache Guacamole - Import fichiers SQL

Une fois que c’est fait, on va créer et éditer le fichier guacamole.properties pour déclarer la connexion à MariaDB. Ce fichier peut être utilisé pour d’autres paramètres, selon vos besoins.

nano /etc/guacamole/guacamole.properties

Dans ce fichier, insérez les lignes ci-dessous en adaptant les trois dernières lignes avec vos valeurs :

# MySQL
mysql-hostname: 127.0.0.1
mysql-port: 3306
mysql-database: guacadb
mysql-username: guaca_nachos
mysql-password: P@ssword!

Enregistrez et fermez le fichier.

Tant que l’on est dans la configuration, éditez le fichier guacd.conf pour déclarer le serveur Guacamole (ici, on déclare une connexion locale sur le port par défaut, à savoir 4822).

nano /etc/guacamole/guacd.conf

Voici le code à intégrer :

[server]
bind_host = 0.0.0.0
bind_port = 4822

On enregistre et on termine par redémarrer les trois services liés à Apache Guacamole :

systemctl restart tomcat9 guacd mariadb

Voilà, l’installation de base est terminée !

IV. Premiers pas avec Apache Guacamole

On va pouvoir se connecter à Apache Guacamole pour effectuer nos premiers pas sur l’interface de la Web App.

http://<Adresse IP>:8080/guacamole/

Une page de connexion va s’afficher :

Connexion à Apache Guacamole

Pour se connecter, on va utiliser les identifiants par défaut :

  • Utilisateur : guacadmin
  • Mot de passe : guacadmin

Bienvenue sur Apache Guacamole ! Même si pour l’instant, c’est vide… Encore un peu de courage !

A. Créer un nouveau compte admin

Tout d’abord, nous allons créer un nouveau compte d’administration et supprimer le compte par défaut, pour des raisons de sécurité.

Notre objectif est le suivant :

  • Créer un nouveau compte administrateur (avec un nom personnalisé)
  • Se déconnecter du compte « guacadmin »
  • Se reconnecter avec le nouveau compte administrateur
  • Supprimer le compte « guacadmin » par défaut

Pour accéder aux paramètres, il faut cliquer sur le nom d’utilisateur en haut à droite puis sur « Paramètres ».

Apache Guacamole - Interface des paramètres

Ensuite, sur l’onglet Utilisateurs et sur Nouvel utilisateur.

Apache Guacamole - Liste des utilisateurs

à indiquer nouveau nom admin + nouveau mdp

B. Ajouter une connexion RDP

On va créer un nouveau groupe, car ces groupes vont permettre d’organiser les connexions : Paramètres > Connexion > Nouveau groupe.

Nous allons créer notre première connexion dans Apache Guacamole, de manière à se connecter à un serveur en RDP ! Pour créer une connexion avec un autre protocole tel que SSH, le principe reste le même.

Pour créer une nouvelle connexion : Paramètres > Connexion > Nouvelle connexion.

On enregistre et on clique sur le bouton « Nouvelle connexion ». On commence par nommer la connexion, choisir le groupe et le protocole. Ici, c’est sur le serveur « SRV-APPS » que je souhaite me connecter, associé à l’adresse IP « 192.168.100.12 ».

#Protocole : RDP

liste de paramètres

  • Nom d’hôte : le nom DNS du serveur (si le serveur Apache Guacamole est capable de résoudre le nom), sinon l’adresse IP
  • Port : le numéro de port du RDP, par défaut 3389 (pas utile de le préciser si c’est le port par défaut)
  • Identifiant : compte avec lequel s’authentifier sur le serveur
  • Mot de passe : mot de passe du compte spécifié ci-dessus
  • Nom de domaine : nom du domaine Active Directory, si besoin
  • Mode de sécurité : par défaut, c’est en détection automatique
  • Ignorer le certificat du serveur : cochez cette option si vous n’avez pas déployé de certificat pour vos connexions RDP et si vous utilisez une adresse IP pour la connexion
  • Agencement clavier : « Français (Azerty) »
  • Fuseau horaire : « Europe / Paris »

D

Apache Guacamole - Performances RDP

Enregistrez. La nouvelle connexion apparaît sous « Serveurs applications ». Pour tester cette connexion, il faut basculer sur « Accueil » en cliquant sur son identifiant en haut à droite.

Sur la machine distante où l’on souhaite se connecter, il faudra ouvrir les ports 3389 autorisant les connexions RDP 

avec xrdp : 

apt install xrdp -y

Modifier le fichier de configuration de xrdp : 

Ouvrez le fichier de configuration :

sudo nano /etc/xrdp/xrdp.ini

Et vérifiez ou ajoutez les lignes suivantes :

[globals]
security_layer=rdp
allow_channels=true
bitmap_compression=true
port=3389

Appartenance au groupe ssl-cert : L’utilisateur doit être ajouté au groupe ssl-cert pour que XRDP puisse créer une session. Ajoutez l’utilisateur avec cette commande :

sudo usermod -aG ssl-cert votre_utilisateur

Redémarrez le service XRDP après avoir ajouté l’utilisateur :
bash

sudo systemctl restart xrdp

Redémarrez ensuite xrdp :

sudo systemctl restart xrdp

Démarrez le service et configurez-le pour qu’il se lance au démarrage :

systemctl start xrdp
systemctl enable xrdp

avec ufw:

ufw status
ufw allow 3389

#Si UFW n’était pas actif, activez-le après avoir configuré les règles :

sudo ufw enable

#Sinon, rechargez simplement les règles pour qu’elles prennent effet :
sudo ufw reload

#Vérifiez les règles
#Confirmez que le port est ouvert :
sudo ufw status

#Vous devriez voir une règle similaire à :
3389                       ALLOW       Anywhere

Dans l’accueil, l’utilisateur peut visualiser toutes les connexions qu’il a le droit d’utiliser.

Il suffit de cliquer sur le serveur et la connexion va se lancer…

Apache Guacamole - Connexion en cours

Voilà, je suis connecté en Bureau à distance via le protocole RDP à mon serveur en passant par mon serveur Apache Guacamole 

          C. Que faire en cas de problèmes

En cas d’échec de connexion pas de panique, sur votre machine cliente testez la connexion via un autre service de bureau à distance RDP comme Remmina

apt install remmina remmina-plugin-rdp -y

Lancez Remmina

remmina

Ajoutez une connexion avec l’IP de votre VM et le port RDP (par défaut : 3389).

Testez la connexion.

du côté terminal il est dès lors possible de visualiser les messages d’erreurs

Interface de connexion

Que faire si la connexion RDP ne se lance pas ou qu’elle affiche une erreur ?

Retournez sur la ligne de commande de votre serveur et vérifiez les dernières lignes de logs qui s’affichent lorsque l’on regarde le statut du service guacd :

sudo systemctl status guacd

Par exemple, on peut trouver ceci :

juin 14 20:15:29 srv-guacamole guacd[31120]: Certificate validation failed

juin 14 20:15:29 srv-guacamole guacd[31120]: RDP server closed/refused connection: SSL/TLS connection failed (untrusted/self-signed certificate?)

Si le certificat RDP ne peut pas être vérifié (auto-signé par exemple) et que l’option « Ignorer le certificat du serveur » n’est pas cochée dans les paramètres de la connexion Guacamole, alors cette erreur se produira.

Une autre erreur que vous pourriez rencontrer si vous avez besoin d’établir des connexions en RDP, c’est celle-ci :

RDP server closed/refused connection: Security negotiation failed (wrong security type?)

Ce problème est lié au compte utilisateur « daemon » utilisé par défaut pour exécuter le service « guacd ». Vous pouvez le vérifier avec cette commande :

sudo ps aux | grep -v grep| grep guacd

# Résultat :

daemon     31513  0.0  0.7 247928 15400 ?        Ss   16:03   0:00 /usr/local/sbin/guacd -f

Nous devons créer un nouvel utilisateur, lui associer les permissions nécessaires sur les données d’Apache Guacamole, puis mettre à jour le service et enfin le relancer.

Voici la série de commandes à exécuter, dans l’ordre :

sudo useradd -M -d /var/lib/guacd/ -r -s /sbin/nologin -c « Guacd User » guacd
sudo mkdir /var/lib/guacd
sudo chown -R guacd: /var/lib/guacd
sudo sed -i ‘s/daemon/guacd/’ /etc/systemd/system/guacd.service
sudo systemctl daemon-reload
sudo systemctl restart guacd

Puis, vérifiez l’état du service :

sudo systemctl status guacd

Si c’est bon, vous pouvez tenter une nouvelle connexion RDP.

D. Historique des connexions

Dans les paramètres, la section Historique permet de visualiser l’ensemble des connexions de tous les utilisateurs Guacamole !

On peut savoir quel utilisateur Guacamole a utilisé quelle session, quand, pendant combien de temps et depuis quelle adresse IP source.

Note : la section « Sessions Actives » peut être utilisée comme « kill switch » pour fermer une ou plusieurs sessions en cours.

V. Améliorer son installation d’Apache Guacamole

A. Mettre en place la double authentification TOTP

Pour bénéficier de la double authentification avec un code TOTP comme second facteur, une extension doit être ajoutée à Apache Guacamole. Ainsi, lorsqu’un utilisateur va se connecter à Apache Guacamole grâce à google authenticator. 

Toujours à partir du dépôt officiel d’Apache Guacamole, on va récupérer l’extension « guacamole-auth-totp ». On télécharge le fichier dans /tmp :

cd /tmp
wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-totp-1.5.5.tar.gz

On décompresse l’archive :

tar -xzf guacamole-auth-totp-1.5.5.tar.gz

Puis, on déplace le fichier « .jar » de l’extension dans le répertoire « extensions » de Guacamole 

sudo mv guacamole-auth-totp-1.5.5/guacamole-auth-totp-1.5.5.jar /etc/guacamole/extensions/

Maintenant, on doit configurer l’extension à partir du fichier « guacamole.properties » que l’on va éditer sans plus attendre :

sudo nano /etc/guacamole/guacamole.properties

Dans ce fichier, il y a 4 paramètres que l’on peut déclarer pour configurer l’extension TOTP. Même s’ils ne sont pas obligatoires, ils permettent de personnaliser le déploiement. Ils sont expliqués dans la documentation officielle : Apache Guacamole – Paramètres TOTP

totp-issuerLe nom avec lequel apparaîtra ApacheGuacamole dans votre application TOTP
totp-digitsnombre de chiffres pour le code à usage unique – entre 6 et 8, par défaut c’est 6
totp-perioddurée pendant laquelle est valide chaque code, par défaut 30.
totp-model’algorithme de hachage utilisé, entre sha1, sha256 et sha512 – par défaut c’est sha1.

Ce qui donne cette configuration (si l’on passe en SHA256, cela ne fonctionne pas avec Microsoft Authenticator) :

# TOTP
totp-issuer: Guacamole IT-Connect
totp-digits: 6
totp-period: 30
totp-mode: sha1

On enregistre, on ferme le fichier et on termine par redémarrer Tomcat pour appliquer les modifications :

sudo systemctl restart tomcat9

La suite se passe sur l’interface Web.

On se reconnecte avec son compte, et là, on est directement invité à configurer le MFA !

C’est à ce moment-là qu’il faut dégainer son application sur mobile de manière à scanner le QR Code puis à finaliser la configuration du MFA sur son compte Guacamole.

Désormais, un code TOTP devra être indiqué à chaque nouvelle connexion sur Guacamole. Dans les paramètres de chaque utilisateur, il y a une section « Configure TOTP » qui donne l’état du MFA sur le compte, avec la possibilité de réinitialiser le secret TOTP sur le compte en question.

Apache Guacamole - Etat TOTP sur utilisateur

Voilà l’authentification à deux facteurs est en place sur le serveur Guacamole !

/!\ B. Créer un enregistrement vidéo des sessions

Apache Guacamole est capable de créer un enregistrement vidéo pour chaque session, avec la possibilité d’activer cette option uniquement sur certaines connexions. Ainsi, cet enregistrement vidéo permet de savoir exactement qui a fait quoi puisque l’on a le replay de la session.

Cette fonction s’appuie sur l’extension guacamole-history-recording-storage qui s’installe sur le même principe que les autres extensions. La procédure qui suit reprend les conseils de la documentation officielle.

Apache Guacamole – Documentation – Enregistrement des sessions

On commence par télécharger l’archive tar.gz d’Apache Guacamole :

cd /tmp
wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-history-recording-storage-1.5.5.tar.gz

Puis, on décompresse l’archive tar.gz :

tar -xzf guacamole-history-recording-storage-1.5.5.tar.gz

On déplace le fichier .jar de l’extension vers le répertoire « extensions » de Guacamole :

sudo mv guacamole-history-recording-storage-1.5.5/guacamole-history-recording-storage-1.5.5.jar /etc/guacamole/extensions/

On termine par relancer le service Tomcat9 pour relancer la Web App et charger la nouvelle extension.

sudo systemctl restart tomcat9

Ensuite, il faut configurer l’espace de stockage. Ici, ce sera un dossier sur notre serveur, mais il doit être possible d’utiliser un espace de stockage distant que l’on monte en local sur le serveur. 

On commence par créer le dossier pour accueillir les enregistrements :

sudo mkdir -p /var/lib/guacamole/recordings

Définition des autorisations

sudo chown root:tomcat /var/lib/guacamole/recordings
sudo chmod 2750 /var/lib/guacamole/recordings

Ici, on détermine « root » comme utilisateur propriétaire, car le service « guacd » tourne par défaut avec cet utilisateur. Quant au groupe propriétaire, il s’agit de « tomcat » pour que notre serveur Tomcat9 soit en mesure de lire les enregistrements vidéos.

Désormais, il reste à configurer l’enregistrement vidéo sur une connexion à partir de l’interface web de Guacamole.

On va éditer une connexion existante et s’intéresser à la section « Enregistrement écran ». Il y a trois paramètres à configurer :

– Chemin de l’enregistrement :

${HISTORY_PATH}/${HISTORY_UUID}

Chaque enregistrement sera stocké dans un sous-dossier de « /var/lib/guacamole/recordings » qui aura un UUID de session comme nom. 

Grâce à l’extension installée précédemment, Apache Guacamole peut faire la correspondance entre les sessions et les enregistrements afin de nous proposer la lecture depuis le Web. 

– Nom de l’enregistrement :

${GUAC_DATE}-${GUAC_TIME} – RDP – ${GUAC_USERNAME}

Ceci va permettre de nommer l’enregistrement avec la date, l’heure, le terme « RDP » et l’utilisateur qui s’est connecté.

– Créer automatiquement un chemin d’enregistrement :

À cocher, pour que le répertoire avec le nom de l’UUID soit créé.

Ce qui donne :

Apache Guacamole - Enregistrement écran - Config

On enregistre la configuration et on se connecte au serveur en question pour créer un enregistrement… On ferme la session… On retourne sur Guacamole.

Au sein des paramètres, on se rend sur « Historique ». Là, on peut constater que la colonne « Logs » intègre le bouton « View » lorsqu’un enregistrement est disponible.

Apache Guacamole - Historique - Logs sessions

On clique sur « View » et là, c’est magique, on peut visualiser le replay de notre session !

Apache Guacamole - Lecture vidéo depuis le web

Si l’on souhaite exporter un enregistrement, il faut le convertir en ligne de commande au préalable. En effet, le format de base n’est pas lisible directement.

Apache Guacamole intègre l’outil « guacenc » prévu à cet effet pour créer un fichier vidéo au format M4V. Pour convertir un enregistrement en fichier de sortie de qualité HD, on utilisera cette commande :

sudo guacenc -s <résolution> -f <fichier à convertir>

sudo guacenc -s 1280×720 -f « /var/lib/guacamole/recordings/fdf244e0-cdd9-3fa7-ab2d-03773b22ba5c/20230616-100730 – RDP – admin.fb »

Apache Guacamole - Convertir enregistrement en M4V

Ensuite, nous n’avons plus qu’à transférer le fichier vidéo vers notre PC, via SFTP par exemple, et à le lire avec un lecteur vidéo. Celui intégré à Windows peut lire le fichier vidéo, sinon on peut aussi utiliser VLC.

Apache Guacamole - Enregistrement M4V

À vous les soirées « Guacamole Replay » !

C. Plusieurs utilisateurs vers un même serveur avec LDAP 

Comme nous l’avons vu dans cet exemple, lorsque l’on crée une connexion, on spécifie le nom d’utilisateur, son mot de passe et son domaine. Cela signifie que pour une même machine, on peut avoir plusieurs connexions pour différents utilisateurs.

Soyons honnêtes, cela peut vite devenir ingérable s’il y a beaucoup de serveurs et plusieurs personnes au service informatique… La bonne nouvelle, c’est que l’on peut faire autrement.

Tout d’abord, on peut utiliser deux variables pour que le nom de l’utilisateur et le mot de passe soient remplacés par ceux du compte Guacamole de l’utilisateur. Pour cela, on utilise ces deux variables :

${GUAC_USERNAME}
${GUAC_PASSWORD}

Concrètement, la partie « Authentification » de la connexion sera configurée de cette façon :

Apache Guacamole - Variables utilisateur et mot de passe

Pour que cela fonctionne, il faut que les identifiants soient identiques entre le compte Guacamole et le compte accepté par l’hôte distant. Pour que ce soit vraiment efficace, il faudrait mettre en place l’authentification LDAP (Active Directory) pour faire du SSO.

L’autre possibilité est simple : on peut aussi ne rien renseigner pour les champs « Identifiant » et « Mot de passe », tout en laissant le domaine. Dans ce cas, les informations seront à saisir au moment de la connexion. On pourrait aussi mettre l’identifiant, mais pas le mot de passe… C’est assez flexible, en fait.

Apache Guacamole - Utilisateur et mot de passe à saisir

documentation extraite de : Apache Guacamole, un bastion d’administration RDP, SSH, etc.

Catégories : Non classé

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *