Guacamole : configurer l’authentification SAML avec Windows ADFS

Dans ce tutoriel, je vais vous expliquer comment configurer l’authentification SAML avec Windows ADFS et Guacamole.

Dans ce tutoriel, j’utilise une installation de Guacamole en conteneur

Comment toute authentification SAML configurer avec ADFS, cela se fait en 2 étapes :

  1. Configuration de l’application ici Guacamole
  2. Déclaration dans ADFS et configuration des revendications pour authentifié l’utilisateur

Pour rappel, pour utiliser l’authentification SAML, il faut publier votre Guacamole en HTTPS.

Configuration de l’authentification SAML dans Guacamole

Vu que nous sommes dans un « installation » de Guacamole en conteneur avec docker-compose, la configuration de l’authentification SAML se fait directement dans le fichier docker-compose.yml.

Si vous avez suivi mon tutoriel sur le déploiement de Guacamole en conteneur, vous devez avoir votre fichier docker-compose.yml qui ressemble à ça :

Pour configurer l’authentification SAML, on va rajouter des paramètres dans la section environment: du conteneur guacamole.

Voici les éléments à ajouter :

Quelques explications sur les paramètres :

  • SAML_IDP_METADATA_URL : permet à Guacamole de récupérer les informations d’ADFS pour sur le « paramétrage » de l’IdP
  • SAML_IDP_URL : url de redirection pour l’authentification
  • SAML_ENTITY_ID : identification de l’URL de Guacamole
  • SAML_CALLBACK_URL : url de retour après l’authentification
  • SAML_STRICT : permet de durcir la sécurité des échanges entre Guacamole et IdP, pour le passer à true, il faut installer le certificat l’autorité de certification
  • SAML_DEBUG: permet d’avoir des logs supplémentaires, une fois que tout fonctionne passer à false.
  • MYSQL_AUTO_CREATE_ACCOUNTS=true : permet la création du compte dans Guacamole lors de la première connexion, sans l’autoprovisioning, la connexion SAML ne fonctionnent pas.
  • EXTENSION_PRIORITY : permet de définir les différents méthodes d’authentification disponible.

Le fichier docker-compose.yml au complet :

Redémarrer les conteneurs avec la commande :

sudo docker-compose up -d

Guacamole est maintenant prêt à utiliser l’authentification SAML.

Sur la page d’authentification, vous devriez avoir Sign in with : SAML en bas à gauche.

Configuration de l’approbation de partie de confiance et des revendications dans ADFS

Pour fonctionner correctement, on va maintenant configurer Guacamole sur notre serveur ADFS ainsi que les revendications nécessaires pour s’authentifier.

Ouvrir la console AD FS

Configuration de l’approbation de partie de confiance

Aller dans le dossier Approbations de partie de confiance 1, dans le panneau Actions, cliquer sur Ajouter une approbation de partie de confiance 2.

Au lancement de l’assistant, laisser sélectionner Prise en charge des revendications 1 et cliquer sur le bouton Démarrer 2.

Choisir Entrer manuellement les données concernant la partie de confiance 1 et cliquer sur le bouton Suivant 2.

Entrer le nom de l’approbation 1 (Guacamole) puis cliquer sur le bouton Suivant 2.

Passer la configuration du certificat en cliquant sur Suivant 1.

A l’étape, Configurer l’URL, cliquer également sur Suivant 1, on reviendra après sur cette configuration.

Maintenant on va configurer l’identificateur de Guacamole, qui va être son URL, entrer l’URL du portail Guacamole 1 et cliquer sur Ajouter 2.

L’URL est ajoutée 1, cliquer sur le bouton Suivant 2.

Ici, je vais limiter l’accès à Guacamole à un groupe Active Directory, pour cela, sélectionner Autoriser un groupe spécifique 1 et cliquer sur paramètre 2.

Sélectionner le groupe …

Le groupe est configuré 1, cliquer sur le bouton Suivant 2.

Un résumé de la configuration de l’approbation s’affiche, cliquer sur Suivant 1.

L’approbation est ajoutée, décocher la case 1 Configurer une stratégie d’émission de revendications pour cette application et cliquer sur le bouton Terminer 2 pour fermer l’assistant.

On va maintenant configurer le point de terminaison, faire un clic droit sur la parie de confiance Guacamole et cliquer sur Propriétés 1.

Aller sur l’onglet Points de terminaison 1 et cliquer sur le bouton Ajouter SAML 2.

Configurer le point de terminaison comme sur la capture ci-après en indiquant l’url de votre Guacamole et cliquer sur OK.

Le point de terminaison est ajouté 1, cliquer sur Appliquer 2 et OK 3 pour fermer la fenêtre.

La partie de confiance est maintenant configurer.

Configuration des revendications

Faire un clic droit sur la partie de confiance puis cliquer sur Editer la stratégie d’émission de revendication 1.

Cliquer sur Ajouter une règle 1.

Choisir le modèle Envoyer les attributs LDAP en tant que revendications 1 et cliquer sur Suivant 2.

Nommer la règle 1, sélectionner Active Directory 2 comme magasin d’attributs. Dans les attribut LDAP choisir E-mail-Addresses 3 et configurer le type de revendication : Adresse de messagerie 4. Cliquer ensuite sur Terminer 5 pour ajouter la règle.

La règle est ajoutée 1, on va maintenant ajouter une seconde règle pour « transformer » l’adresse e-mail en ID de nom qui permet d’authentifier de manière unique, l’utilisateur dans Guacamole. Cliquer de nouveau sur le bouton Ajouter une règle 2.

Choisir le modèle de revendication : Transformer une revendication entrante 1 et cliquer sur Suivant 2.

Configurer la règle comme sur le capture ci-dessous (les éléments à configurer son en rouge) et une fois fini, cliquer sur Terminer pour ajouter le règle.

Les règles de revendication sont ajoutées, cliquer sur Appliquer 1 et OK 2 pour fermer la fenêtre.


La configuration est terminée, en cliquant sur SAML sur la page de connexion Guacamole, vous utiliserez vos service ADFS.