====== Configuration d'une authentification SAML pour Guacamole ====== ===== Installation de l'extension SAML pour guacamole ===== * Téléchargez guacamole-auth-sso-1.6.0.tar.gz, décompressez l'archive et déplacer guacamole-auth-sso-saml-1.6.0.jar dans le dossier extensions : wget https://dlcdn.apache.org/guacamole/1.6.0/binary/guacamole-auth-sso-1.6.0.tar.gz tar -xzf guacamole-auth-sso-1.6.0.tar.gz sudo mv guacamole-auth-sso-1.6.0/saml/guacamole-auth-sso-saml-1.6.0.jar /etc/guacamole/extensions/ ===== Publier l'application dans Azure ===== * Accéder au portail Azure → Microsoft Entra ID → Applications d’entreprise. * Nouvelle application → Créer votre propre application. * Choisir **Configurer le proxy d’application pour un accès à distance sécurisé à une application locale** {{ :reseau:cloud:accesdistance:guacamole_02.png |}} ===== Configurer l’authentification SAML ===== * Accéder à l'application créee * Dans l’application créée → Authentification unique → SAML. Renseigner : Identificateur (Entity ID) : fourni par le service. URL de réponse (ACS) : fourni par le service. URL de connexion (facultatif) : page de login du service. Télécharger le fichier de métadonnées XML d’Entra ID (il contient le certificat et les endpoints). ✅ 4. Configurer le service web avec les infos Entra ID Fournir au service : Entity ID d’Entra ID (souvent https://sts.windows.net/{tenant-id}/). SSO URL : https://login.microsoftonline.com/{tenant-id}/saml2. Certificat public (X.509) pour vérifier les signatures. Importer le metadata XML d’Entra ID si le service le supporte. ✅ 5. Attribuer des utilisateurs Dans Entra ID → Utilisateurs et groupes → attribuer les comptes qui peuvent se connecter. ✅ 6. Tester la connexion Utiliser le bouton Tester l’authentification unique dans Azure. Vérifier les logs SAML (ACS du service) pour les assertions. ✅ Points clés Format des claims : Par défaut, Entra ID envoie NameID (UPN). Vous pouvez personnaliser les attributs dans Attributs et revendications. Certificat : Surveillez la rotation automatique (Azure change le certificat tous les 3 ans). Sécurité : Activez la signature des assertions et la validation des audiences. ---------------------- * Modification du fichier **guacamole.properties** pour configurer SAML. sudo nano /etc/guacamole/guacamole.properties * Ajoutez dans ce fichier les lignes suivantes : # MySQL mysql-hostname: 127.0.0.1 mysql-port: 3306 mysql-database: guacamole_db mysql-username: guacamole_user mysql-password: P@$$w0rd2025Secure * Déclarez le serveur Guacamole (ici, on déclare une connexion locale sur le port par défaut, à savoir 4822). sudo nano /etc/guacamole/guacd.conf * Voici le code à intégrer : [server] bind_host = 0.0.0.0 bind_port = 4822 * Redémarrez les trois services liés à Apache Guacamole : sudo systemctl restart tomcat9 guacd mariadb