Pour installer sur Debian 12 : https://www.it-connect.fr/tuto-apache-guacamole-bastion-rdp-ssh-debian/
Contribution: Jules Catherine/Vincent Beaufils/Paul Grégoire/ Clément Groult Debian 10 - 2020
Avant toute opération, on effectue une mise à niveau ainsi qu’une actualisation des mises à jours avec apt update -y && apt upgrade -y.
Un accès en root est impératif pour l'exécution des commandes qui vont suivre.
apt -y install libcairo2-dev libjpeg62-turbo-dev libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev mariadb-server tomcat9 libmysql-java
cd /tmp wget https://mirror.dkd.de/apache/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz tar vfx guacamole-server-1.1.0.tar.gz
<code lscript>cd guacamole-server-1.1.0/ autoreconf -fi ./configure --with-init-dir=/etc/init.d
Il faut alors vérifier que les protocoles ainsi que les services suivants sont comme cela :
Protocoles :
RDP yes SSH yes TELNET yes VNC yes
Services : guacd
guacenc
Un fois vérification que tout soit OK, on lance la compilation :
make make install
/usr/sbin/ldconfig
systemctl enable guacd systemctl start guacd
mkdir -p /etc/guacamole/lib mkdir -p /etc/guacamole/exten
cd /tmp wget http://mirror.ibcp.fr/pub/apache/guacamole/0.9.14/binary/guacamole-0.9.14.war
Se déplacer dans /etc/guacamole et créer les liens symboliques pour intégrer tomcat et configurer la librairie freerdp et le connecteur java mysql
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/ mkdir /usr/lib/x86_64-linux-gnu/freerdp/ ln -s /usr/local/lib/freerdp/guac*.so /usr/lib/x86_64-linux-gnu/freerdp/ ln -s /usr/share/java/mysql-connector-java.jar /etc/guacamole/lib
Il faudra alors télécharger l’extension de la base de donnée mysql et la placer dans /etc/guacamole/extension
cd /tmp wget http://mirror.ibcp.fr/pub/apache/guacamole/1.1.0/binary/guacamole-auth-jdbc-1.1.0.tar.gz tar -xvf guacamole-auth-jdbc-1.1.0.tar.gz cp guacamole-auth-jdbc-1.1.0/mysql/guacamole-auth-jdbc-mysql-1.1.0.jar /etc/guacamole/extensions
nano /etc/guacamole/guacamole.properties
mysql-hostname: localhost mysql-port: 3306 mysql-database: guacamole_db mysql-username: guacamole_user mysql-password: mpguaca //mot de passe à adapter
Une fois la configuration faite, on peut donc redémarrer le service tomcat8
service tomcat9 restart
Se connecter au service mysql et créer la base guacamole, l’utilisateur guacamole_user et lui donner les droits
mysql -u root -p
create database guacamole_db; create user 'guacamole_user'@'localhost' identified by 'mpguaca'; GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost' identified by "P@ssw0rd"; flush privileges; quit
cat guacamole-auth-jdbc-0.9.14/mysql/schema/*.sql | mysql -u root -pSQLgu@c@ guacamole_db
Le service est maintenant configuré, il faut alors le redémarrer.
service guacd restart
L’installation est terminée, on peut accéder via http://IP_GUACAMOLE_SERVER:8080/guacamole/.
Les identifiants de base sont guacadmin:guacadmin
Avant toute configuration, on créer un utilisateur sur l’Active Directory dans la même UO que les autres utilisateurs, ici nous avons décidé de créer l’utilisateur “Guacamole Bind” avec le mot de passe P@ssword1
Dans /etc/guacamole/guacamole.properties il faudra ajouter les lignes suivantes à modifier selon les besoins :
# LDAP ldap-hostname : SCT-2K12-ADDNS.sio.bts ldap-port: 389 # Racine AD de recherche utilisateur par Guacamole ldap-user-base-dn: OU=2017,DC=sio,DC=bts ldap-user-search-filter:(objectClass=user)(!(objectCategory=computer)) # Racine AD de recherche groupe par Guacamole ldap-group-base-dn: CN=Users,DC=sio,DC=bts # Compte Guacamole permettant la liaison AD ldap-search-bind-dn: CN=”Guacamole Bind”, OU=2017,DC=sio,DC=bts ldap-search-bind-password: P@ssword1 # Attribut de Login pour identifier le Guacamole via l’AD ldap-username-attribute: sAMAccountName
Afin de finaliser le bon fonctionnement des comptes LDAP sur notre serveur Guacamole, il faut impérativement ajouter manuellement l’organisation “SIOBTS” pour chaque utilisateur, sans quoi ils n’auront pas les permissions liées à leur groupe
Les utilisateurs de Guacamole auront des limitations selon leurs besoins pour les connexions aux équipements : Membres des groupes définis dans l’AD (Exemple : Erwin Caillaud se trouve membre du groupe SISR1)
Un groupe GENERIQUE est créé manuellement en MySQL sur Guacamole possédant toutes les connexions
Les groupes LDAP SISR1 / SISR2 / etc sont ajoutés en tant que membre du groupe MySQL GENERIQUE
La gestion des droits des groupes SISR1 et SISR2 limite les droits (Exemple : On retire des connexions au groupe SISR1)
L’utilisateur final aura donc accès aux équipements du groupe dont les droits sont limités puisqu’il se trouve lié à son groupe LDAP (Ici Erwin Caillaud aura donc accès aux droits du groupe SISR1).
Sur le serveur Windows installer le logiciel tighvnc. https://www.tightvnc.com/
Lors de l'installation laisser tout les paramètres par défaut.
Sur Guacamole renseigner les paramètres comme suit.