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
- Ouvrez les Developer Tools de Chrome.
- Sélectionnez l'onglet Network.
- Sélectionnez le filtre Fetch/XHR.
- Effectuez une action dans Medulla afin de générer une requête.
- Sélectionnez une requête
main.php?...dans la liste. - Ouvrez l'onglet Headers.
- 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
Referervisible 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 :
- reconnectez-vous à l'interface Medulla ;
- sélectionnez une machine en ligne ;
- lancez une nouvelle session de prise en main à distance ;
- 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
Refererdans 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 Refererdans 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.