1 minute(s) de lecture


Apache Guacamole MariaDB LDAP

Cahier des charges

Dans le cadre de l’administration sécurisée du système d’information, il fallait fournir un accès distant sécurisé aux serveurs internes, sans exposer directement leurs ports sur le réseau.

Solutions choisies

J’ai déployé Apache Guacamole comme bastion sans client, accessible depuis un simple navigateur. Ce point d’accès unique centralise la gestion des accès, sans exposer directement les ports des serveurs internes. Guacamole ne stocke rien localement, l’ensemble repose sur une base de données, ce qui m’a permis de concevoir une architecture redondante à deux instances.

Mise en œuvre

Environnement technique :
Guacamole - MariaDB - LDAP - Apache

1. Installation de deux instances Guacamole identiques, une par nœud Proxmox
2. Découplage des services avec configuration et sessions stockées sur le cluster MariaDB existant, via la répartition de charge MaxScale
3. Réplication du fichier de configuration et des extensions entre les deux instances
4. Répartition de la charge par DNS Round-Robin, pour simuler une haute disponibilité transparente
5. Compilation du moteur guacd depuis les sources, avec les bibliothèques nécessaires à la prise en charge de l'authentification NLA de Windows Server
6. Mise en place d'un reverse proxy Apache en frontal, pour masquer le serveur applicatif interne et activer le support des WebSockets
7. Configuration de l'authentification LDAP, avec un compte de service restreint et un filtre limitant l'accès au groupe d'administration

Tests et imprévus

Le test de bascule entre les deux instances Guacamole a confirmé la continuité du service via le DNS Round-Robin. J’ai rencontré un problème de négociation des certificats RDP lors de la compilation de guacd depuis les sources. J’ai dû créer manuellement l’arborescence /usr/sbin/.config/freerdp avec des droits stricts attribués à l’utilisateur de service, pour résoudre l’erreur.

Bilan

Le bastion Guacamole supprime toute exposition directe des ports RDP et SSH sur le réseau, tout en permettant un accès simple depuis un navigateur. Bien que Guacamole ne prévoie pas nativement la haute disponibilité, l’architecture à deux instances tient la charge grâce au découplage complet des données vers le cluster MariaDB partagé.