By Walid ETTAYEB

Un client RDP vraiment formidable qui vous permet d'accéder à vos machines distantes via votre navigateur Web.  L'image docker que nous allons utiliser a été construite à partir de l'image Oznu originale, mais a été mise à jour pour fournir certaines des fonctionnalités les plus récentes.

L'image de JWetzell permet d'utiliser les extensions d'authentification étendue, ce qui ajoute vraiment beaucoup de sécurité à l'offre.  Le fichier docker-compose.yml est très simple et propre.

Docker Hub

Installation

Ce qu'il vous faut:

  1. Docker-CE et Docker-Compose installés
  2. (facultatif) Portainer-CE
  3. (facultatif) NGinX Proxy Manager
  4. (facultatif) Authelia (pour une couche de sécurité supplémentaire)
  5. Environ 10 minutes de votre temps.

Installation de Guacamole avec Docker et Docker-Compose

Créons une bonne structure de base pour garder notre docker organisé, et facile à sauvegarder et à restaurer si nécessaire.  Nous allons créer un dossier appelé "docker" dans lequel nous allons tout conserver.

mkdir docker
cd docker
mkdir guacamole
cd guacamole

Créez un nouveau fichier "docker-compose.yml" dans le répertoire "guacamole" :

touch docker-compose.yml

Dans le fichier que nous venons de créer, copiez et collez le bloc de code ci-dessous:

version: "3"
services:
  guacamole:
    image: jwetzell/guacamole
    container_name: guacamole
    volumes:
      - ./postgres:/config
    ports:
      - 8080:8080
volumes:
  postgres:
    driver: local

Après avoir collé le bloc de code ci-dessus dans votre éditeur de texte nano ou vi, il est préférable d'ajuster le mappage du port.  Je trouve que le port 8080 est un port très commun, donc pour éviter les conflits de port avec d'autres conteneurs que j'utilise, je le modifie en quelque chose de moins commun.

Pour modifier le mappage d'un port, changez uniquement le numéro de port à gauche des deux points.  Ne modifiez jamais le côté droit, car il correspond à ce que le conteneur attend du port.  Le côté gauche, cependant, est le port de votre machine hôte, et vous pouvez le changer pour tout port inutilisé (ouvert) sur votre hôte.

Dans notre cas, j'ai utilisé le port 8190 comme port ouvert pour le guacamole.

Donc ma section de mappage de port ressemble à :

    ports:
      - 8190:8080

Nous sommes maintenant prêts à faire apparaître notre application Guacamole Remote Access.

Dans votre terminal, entrez simplement la commande :

docker-compose up -d

Patientez jusqu'à ce que l'image soient téléchargée et que le conteneur démarre.  Vous devriez voir un message "done" dans le terminal lorsque le processus est terminé.

Vous pouvez utiliser un outil comme Portainer pour vérifier facilement les journaux.  Si vous n'avez pas Portainer, ne vous inquiétez pas.  Vous pouvez utiliser la commande pour voir les journaux du conteneur.  Nous vérifions simplement s'il y a des erreurs dans les journaux qui pourraient indiquer que notre installation n'a pas fonctionné pour une raison quelconque. Avec un peu de chance, vous ne trouverez aucune erreur, et vous pouvez maintenant ouvrir une fenêtre de navigateur et naviguer vers l'adresse IP de votre hôte sur le port que vous avez défini dans la partie gauche du mappage de port.

docker-compose logs -f

Vous devriez maintenant pouvoir accéder à la page de login de guacamole.

Connectez-vous avec les informations d'identification par défaut :

  • username: guacadmin
  • password: guacadmin

Création d'un nouvel utilisateur Guacamole et suppression de l'utilisateur par défaut

Dans l'interface Guacamole, vous devez vous rendre en haut à droite et cliquer sur l'avatar de l'utilisateur. Vous verrez alors apparaître un menu déroulant d'options. Sélectionnez l'option "Paramètres" et vous verrez une série d'onglets vous permettant de configurer le système.

La première chose que je fais est de créer un nouvel utilisateur (sous l'onglet Utilisateurs), et de faire de cet utilisateur un administrateur du système en cochant toutes les cases des autorisations d'utilisateur.  Je lui attribue un mot de passe robuste et j'enregistre.

Ensuite, je me déconnecte de l'utilisateur par défaut "guacadmin", et je me connecte en tant que mon nouvel utilisateur.  Une fois connecté en tant que nouvel utilisateur, je retourne dans "Paramètres >> Utilisateurs" et je supprime l'utilisateur par défaut "guacadmin" en cliquant sur le nom d'utilisateur de "guacadmin", en faisant défiler jusqu'en bas de l'écran de configuration, et en sélectionnant le bouton "Supprimer", puis en confirmant.

Vous pouvez maintenant ajouter d'autres utilisateurs si vous souhaitez que d'autres personnes aient accès à votre instance Guacamole.  Je vous suggère toutefois d'ajouter d'abord toutes les connexions à distance dont vous aurez besoin, puis d'ajouter les utilisateurs, car une partie du processus d'ajout d'utilisateurs consiste à sélectionner les machines/groupes de machines auxquels chaque utilisateur doit pouvoir accéder.

Configuration des connexions et des groupes de connexion

Réfléchissez aux machines que vous allez ajouter.  S'il est question d'un usage domestique et d'une ou deux machines seulement, vous n'aurez peut-être pas besoin de créer des groupes de connexion.  Si, en revanche, vous ajoutez plusieurs machines pour la maison, le travail, les clients, l'assistance à l'utilisateur final, etc., vous voudrez peut-être envisager les meilleurs regroupements de ces machines et créer d'abord des groupes de connexion.  Cela vous permettra d'organiser vos connexions d'une manière qui les rendra plus faciles à localiser par la suite.

Vous pouvez créer des groupes de connexion comme par exemple :

  • Personnel
  • Postes de travail
  • Serveurs Web
  • Serveurs de stockage
  • Serveurs de médias
  • Consoles pour utilisateurs finaux

En réalité, vous pouvez regrouper des machines de manière tellement variée que je ne pourrais pas en fournir une liste exhaustive ici.   Vous pouvez toujours ajouter des connexions à un groupe ultérieurement.

Pour ajouter une nouvelle connexion, il suffit de sélectionner l'onglet Connexions dans la zone des paramètres et de cliquer sur "Nouvelle connexion".

Il ne vous reste plus qu'à sélectionner le mode de connexion et à fournir les détails de connexion nécessaires (IP ou nom d'hôte, port, identifiants, etc.), puis à enregistrer.  

La fonction "Cloner" est une fonctionnalité très intéressante.  Si vous configurez un grand nombre de machines dont les paramètres sont essentiellement les mêmes et dont les adresses IP et les informations d'identification de l'utilisateur sont différentes, vous gagnerez un temps précieux en créant votre première connexion, puis en faisant défiler l'écran jusqu'en bas pour cliquer sur le bouton Cloner.  Dès que vous cliquez sur le bouton Cloner, vous êtes dans la connexion clonée, et prêt à la modifier.

Walid ETTAYEB • 36 Articles

Passionné par l'informatique depuis mon plus jeune âge, je transforme ma passion en expertise.

View Articles