Bastion d’administration avec Apache Guacamole
Attention
Section titled “Attention”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”Mise à jour du système
Section titled “Mise à jour du système”sudo apt update && sudo apt upgradeInstallation des dépendances
Section titled “Installation des dépendances”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-devTéléchargement de la version 1.5.5
Section titled “Téléchargement de la version 1.5.5”cd /tmpwget https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gztar -xzf guacamole-server-1.5.5.tar.gzcd guacamole-server-1.5.5/Configuration avant compilation
Section titled “Configuration avant compilation”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 :
sudo ./configure --with-systemd-dir=/etc/systemd/system/ --disable-guacencCompilation et installation
Section titled “Compilation et installation”sudo makesudo make installsudo ldconfigActivation du service
Section titled “Activation du service”sudo systemctl daemon-reloadsudo systemctl enable --now guacdsudo systemctl status guacd2. Création de l’arborescence Guacamole
Section titled “2. Création de l’arborescence Guacamole”sudo mkdir -p /etc/guacamole/{extensions,lib}3. Installation du Client Web (Tomcat 9)
Section titled “3. Installation du Client Web (Tomcat 9)”⚠️ Debian 12 propose Tomcat 10 par défaut, incompatible.
Ajouter le dépôt Debian 11 :
sudo nano /etc/apt/sources.list.d/bullseye.listAjouter :
deb http://deb.debian.org/debian/ bullseye mainMettre à jour :
sudo apt updateInstaller Tomcat 9 :
sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-userDéploiement du fichier .war
Section titled “Déploiement du fichier .war”cd /tmpwget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-1.5.5.warsudo mv guacamole-1.5.5.war /var/lib/tomcat9/webapps/guacamole.warsudo systemctl restart tomcat9 guacd4. Installation et configuration MariaDB
Section titled “4. Installation et configuration MariaDB”Installation
Section titled “Installation”sudo apt install mariadb-serversudo mysql_secure_installationCréation de la base
Section titled “Création de la base”mysql -u root -pCREATE 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;5. Extension JDBC MySQL
Section titled “5. Extension JDBC MySQL”Téléchargement :
cd /tmpwget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gztar -xzf guacamole-auth-jdbc-1.5.5.tar.gzDéplacement du fichier :
sudo mv guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/Connecteur MySQL
Section titled “Connecteur MySQL”wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.1.0.tar.gztar -xzf mysql-connector-j-9.1.0.tar.gzsudo cp mysql-connector-j-9.1.0/mysql-connector-j-9.1.0.jar /etc/guacamole/lib/Import du schéma SQL
Section titled “Import du schéma SQL”cd guacamole-auth-jdbc-1.5.5/mysql/schema/cat *.sql | mysql -u root -p guacadb6. Configuration Guacamole
Section titled “6. Configuration Guacamole”/etc/guacamole/guacamole.properties
Section titled “/etc/guacamole/guacamole.properties”sudo nano /etc/guacamole/guacamole.propertiesmysql-hostname: 127.0.0.1mysql-port: 3306mysql-database: guacadbmysql-username: guaca_usermysql-password: etudiant_007/etc/guacamole/guacd.conf
Section titled “/etc/guacamole/guacd.conf”sudo nano /etc/guacamole/guacd.conf[server]bind_host = 0.0.0.0bind_port = 4822Redémarrage final
Section titled “Redémarrage final”sudo systemctl restart tomcat9 guacd mariadb7. Accès à l’interface Web
Section titled “7. Accès à l’interface Web”Accès :
http://IP_BASTION:8080/guacamole/Identifiants par défaut :
Section titled “Identifiants par défaut :”- Utilisateur :
guacadmin - Mot de passe :
guacadmin