Skip to main content

PMAD – Diagnostiquer le Referer HTTP utilisé par Guacamole

S'applique à : Medulla
Version : Toutes versions
Environnement : On-Premise / SaaS
Catégorie : Prise en main à distance (PMAD) / Guacamole

Si la prise en main à distance (PMAD) via Guacamole ne fonctionne pas ou si la connexion distante échoue, l'un des premiers éléments à vérifier est le Referer HTTP transmis lors de la requête.

Guacamole utilise cette information pour vérifier que la demande provient bien d'une URL Medulla autorisée.

Important :
Une différence entre l'URL utilisée pour accéder à Medulla, le Referer transmis par le navigateur et la configuration autorisée côté Guacamole peut empêcher le fonctionnement de la prise en main à distance.


1. Vérifier le Referer depuis le navigateur

Cette vérification peut être réalisée aussi bien sur une plateforme Medulla On-Premise que Medulla SaaS.

Depuis Google Chrome, ouvrez Medulla avec l'URL habituellement utilisée puis affichez les Developer Tools (outils de développement).

Vous pouvez notamment les ouvrir avec :

F12

ou, selon votre système, avec le raccourci permettant d'afficher les outils de développement de Chrome.

Procédure

  1. Ouvrez les Developer Tools de Chrome.
  2. Sélectionnez l'onglet Network.
  3. Sélectionnez le filtre Fetch/XHR.
  4. Effectuez une action dans Medulla afin de générer une requête.
  5. Sélectionnez une requête main.php?... dans la liste.
  6. Ouvrez l'onglet Headers.
  7. Dans la section Request Headers, recherchez la ligne Referer.

Vous devez obtenir une valeur correspondant à l'URL réellement utilisée pour accéder à Medulla.

Par exemple :

Referer: https://medulla.exemple.fr/mmc/main.php?...

Le domaine présent dans le Referer doit donc correspondre au FQDN utilisé par l'utilisateur pour accéder à Medulla.

Exemple :
Si l'utilisateur accède à Medulla avec https://medulla.exemple.fr, le Referer doit également commencer par https://medulla.exemple.fr/.


2. Le Referer est absent ou incorrect

Si le champ Referer est absent, contient un autre FQDN ou ne correspond pas à l'URL réellement utilisée pour accéder à Medulla, la prise en main à distance peut ne pas fonctionner.

Il faut alors identifier à quel niveau le Referer est supprimé ou modifié.

Vérifiez notamment :

  • l'URL réellement utilisée pour accéder à Medulla ;
  • le FQDN présent dans le Referer ;
  • la présence éventuelle d'un reverse proxy ;
  • la présence éventuelle d'un load balancer ;
  • la présence d'un proxy ou d'un équipement intermédiaire susceptible de modifier les en-têtes HTTP.

3. Cas d'une plateforme Medulla On-Premise

Sur une plateforme Medulla On-Premise, si le Referer transmis par le navigateur est correct mais que la PMAD ne fonctionne toujours pas, vérifiez la configuration Apache utilisée par Guacamole.

Sur le serveur Medulla, vérifiez les fichiers :

/etc/apache2/conf-enabled/guacamole*.conf

Recherchez les directives contenant :

SetEnvIf Referer "^https?://<fqdn_utilise>/" GUACAMOLE_ALLOWED

Le FQDN indiqué doit correspondre à l'URL réellement utilisée par les utilisateurs pour accéder à Medulla.

Exemple

Si Medulla est accessible avec :

https://medulla.exemple.fr

la configuration doit utiliser :

SetEnvIf Referer "^https?://medulla\.exemple\.fr/" GUACAMOLE_ALLOWED

Important :
Cette directive est présente deux fois dans chacun des fichiers concernés. Vérifiez et, si nécessaire, corrigez les deux occurrences.


4. Vérifier la configuration Apache

Après modification de la configuration, vérifiez la syntaxe Apache avant de recharger le service :

apache2ctl configtest

Le résultat attendu est :

Syntax OK

Si la configuration est valide, rechargez Apache :

systemctl reload apache2

Attention :
Ne rechargez pas Apache si apache2ctl configtest signale une erreur. Corrigez d'abord la configuration.


5. Cas d'un reverse proxy

Si Medulla est publié derrière un reverse proxy, vérifiez que celui-ci conserve et transmet correctement l'en-tête HTTP :

Referer

Le reverse proxy ne doit pas supprimer ou remplacer cet en-tête par une valeur incompatible avec l'URL utilisée pour accéder à Medulla.

Guacamole utilise le Referer pour vérifier que la demande provient d'une URL Medulla autorisée.

Si le reverse proxy supprime ou modifie cette information, la PMAD peut être refusée même si Guacamole et Medulla fonctionnent correctement.

Conseil :
Comparez le Referer observé dans les Developer Tools de Chrome avec le FQDN attendu par votre infrastructure. Cette vérification permet rapidement d'identifier une différence d'URL ou un problème lié à un équipement intermédiaire.


6. Cas d'une plateforme Medulla SaaS

Sur une plateforme Medulla SaaS, la vérification du Referer depuis le navigateur reste applicable.

Si la prise en main à distance ne fonctionne pas, relevez notamment :

  • l'URL utilisée pour accéder à Medulla ;
  • la valeur complète du champ Referer visible dans Chrome ;
  • le comportement observé lors du lancement de la PMAD ;
  • le message d'erreur éventuellement affiché.

Ces informations peuvent être transmises au support Medulla afin de faciliter le diagnostic.

Information :
Sur une plateforme SaaS, les modifications de la configuration Apache et Guacamole sont gérées par l'infrastructure Medulla. Il n'est donc pas nécessaire d'effectuer les opérations de modification décrites dans la partie On-Premise.


7. Tester de nouveau la prise en main à distance

Après vérification ou correction :

  1. reconnectez-vous à l'interface Medulla ;
  2. sélectionnez une machine en ligne ;
  3. lancez une nouvelle session de prise en main à distance ;
  4. vérifiez que l'interface Guacamole s'ouvre correctement.

8. Points à contrôler

En cas de problème persistant, vérifiez en priorité les éléments suivants :

  • l'URL réellement utilisée pour accéder à Medulla ;
  • la présence du champ Referer dans les requêtes du navigateur ;
  • le FQDN présent dans le Referer ;
  • la présence éventuelle d'un reverse proxy ou d'un équipement modifiant les en-têtes HTTP ;
  • sur une installation On-Premise, le FQDN configuré dans guacamole*.conf ;
  • sur une installation On-Premise, les deux occurrences de SetEnvIf Referer dans chacun des fichiers concernés ;
  • sur une installation On-Premise, la validité de la configuration Apache avec apache2ctl configtest ;
  • sur une installation On-Premise, le rechargement d'Apache après modification.

9. Résumé du diagnostic

Contrôle On-Premise SaaS
Vérifier le Referer dans Chrome Oui Oui
Network → Fetch/XHR → Headers Oui Oui
Vérifier le FQDN du Referer Oui Oui
Vérifier un éventuel reverse proxy Selon architecture Selon architecture
Vérifier /etc/apache2/conf-enabled/guacamole*.conf Oui Non
Corriger SetEnvIf Referer Si nécessaire Géré par Medulla
Exécuter apache2ctl configtest Après modification Non
Recharger Apache Après modification Non

À retenir :
En cas d'échec de la PMAD via Guacamole, commencez par vérifier dans Chrome → Developer Tools → Network → Fetch/XHR → Headers la valeur du champ Referer. Le FQDN transmis doit correspondre à l'URL utilisée pour accéder à Medulla. Sur une plateforme On-Premise, vérifiez ensuite que ce FQDN correspond également à celui autorisé dans la configuration Apache Guacamole.