Skip to content

Bastion d’administration avec Apache Guacamole

Puisque vous allez modifier des fichiers systèmes (/etc), il est fortement recommandé d’utiliser un système de versioning comme etckeeper afin d’assurer le suivi des modifications.


1. Installation d’Apache Guacamole Server

Section titled “1. Installation d’Apache Guacamole Server”
Terminal window
sudo apt update && sudo apt upgrade

Terminal window
sudo apt-get install build-essential libcairo2-dev libjpeg62-turbo-dev \
libpng-dev libtool-bin uuid-dev libossp-uuid-dev libavcodec-dev \
libavformat-dev libavutil-dev libswscale-dev freerdp2-dev \
libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev \
libwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev

Terminal window
cd /tmp
wget https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz
tar -xzf guacamole-server-1.5.5.tar.gz
cd guacamole-server-1.5.5/

Terminal window
sudo ./configure --with-systemd-dir=/etc/systemd/system/

⚠️ Vérifier que les dépendances principales sont en “yes”

En cas d’erreur guacenc_video_alloc :

Terminal window
sudo ./configure --with-systemd-dir=/etc/systemd/system/ --disable-guacenc

Terminal window
sudo make
sudo make install
sudo ldconfig

Terminal window
sudo systemctl daemon-reload
sudo systemctl enable --now guacd
sudo systemctl status guacd

2. Création de l’arborescence Guacamole

Section titled “2. Création de l’arborescence Guacamole”
Terminal window
sudo mkdir -p /etc/guacamole/{extensions,lib}

⚠️ Debian 12 propose Tomcat 10 par défaut, incompatible.

Ajouter le dépôt Debian 11 :

Terminal window
sudo nano /etc/apt/sources.list.d/bullseye.list

Ajouter :

deb http://deb.debian.org/debian/ bullseye main

Mettre à jour :

Terminal window
sudo apt update

Installer Tomcat 9 :

Terminal window
sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user

Terminal window
cd /tmp
wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-1.5.5.war
sudo mv guacamole-1.5.5.war /var/lib/tomcat9/webapps/guacamole.war
sudo systemctl restart tomcat9 guacd

Terminal window
sudo apt install mariadb-server
sudo mysql_secure_installation

Terminal window
mysql -u root -p
CREATE DATABASE guacadb;
CREATE USER 'guaca_user'@'localhost' IDENTIFIED BY 'etudiant_007';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacadb.* TO 'guaca_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Téléchargement :

Terminal window
cd /tmp
wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz
tar -xzf guacamole-auth-jdbc-1.5.5.tar.gz

Déplacement du fichier :

Terminal window
sudo mv guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/

Terminal window
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.1.0.tar.gz
tar -xzf mysql-connector-j-9.1.0.tar.gz
sudo cp mysql-connector-j-9.1.0/mysql-connector-j-9.1.0.jar /etc/guacamole/lib/

Terminal window
cd guacamole-auth-jdbc-1.5.5/mysql/schema/
cat *.sql | mysql -u root -p guacadb

Terminal window
sudo nano /etc/guacamole/guacamole.properties
mysql-hostname: 127.0.0.1
mysql-port: 3306
mysql-database: guacadb
mysql-username: guaca_user
mysql-password: etudiant_007

Terminal window
sudo nano /etc/guacamole/guacd.conf
[server]
bind_host = 0.0.0.0
bind_port = 4822

Terminal window
sudo systemctl restart tomcat9 guacd mariadb

Accès :

http://IP_BASTION:8080/guacamole/
  • Utilisateur : guacadmin
  • Mot de passe : guacadmin