Présentation

Guacamole, proposé par Apache, est une solution open source gratuite que l’on peut mettre en place en tant que bastion d’administration, passerelle d’accès ou encore serveur de rebond.

Il 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.

Comme le sujet est vaste, je l’ai découpé en 2 partie :

Partie 1 : installation
Partie 2 : Configuration et utilisation.

Installation

2 solutions s’offraient à moi, soit faire une VM avec Guacamole, soit l’installation avec Docker.
C’est la 2° solution que j’ai choisi.

J’ai choisi le dépot flcontainers/guacamole trouvé sur le site de https://github.com/flcontainers/guacamole.

J’utilise Portainer pour l’installation, mais il est tout a fait possible de le faire en ligne de commande.

Je vous renvoie vers le site du dépot, indiqué plus haut, mais cela devrait ressembler à ça.

version: "3"
services:
guacamole:
image: flcontainers/guacamole
container_name: guacamole
environment:
TZ: 'Europe/Paris'
EXTENSIONS: 'auth-totp,auth-header'
volumes:
- postgres:/config
- /etc/localtime:/etc/localtime:ro
ports:
- 8080:8080
volumes:
postgres:
driver: local

Création de network

Création du volume

Création du container

L’image integre de nombreuses extensions

Extension List:

  • auth-duo
  • auth-header
  • auth-jdbc-mysql
  • auth-jdbc-postgresql
  • auth-jdbc-sqlserver
  • auth-json
  • auth-ldap
  • auth-quickconnect
  • auth-sso-openid
  • auth-sso-saml
  • auth-sso-cas
  • auth-totp
  • vault-ksm
  • history-recording-storage

Il suffit de rajouter l’environnement EXTENSIONS puis le nom de l’extension pour l’activer dans Guacamole

Vous ne devez activer que les extensions dont vous avez besoin, car si une extension n’est pas configurée correctement dans le fichier guacamole.properties, elle peut empêcher le système de se charger. Voir la documentation officielle pour plus de détails.

Nous verrons comment activer les 2 extensions que nous avons rajouter plus tard.

Accès à l’interface

Au boit de queqlues minutes, le container a démarré, et l’interface est disponible via le port 8080

http://ip-du-serveur-docker:8080

Utilisateur : guacadmin
Mot de passe guacadmin

Comme j’ai activé l’OTP, il va donc me demander afficher la fenetre d’enregistrement multi-facteurs

Une fois dans l’interface, il faut aller dans « paramêtre » et créer un super utilisateur qui remplacera le compte « Guacadmin » (que vous allez désactiver).

Dans la partie 2, nous verrons le fonctionnement de Guacamole.