Apache GUACAMOLE – Passerelle RDP, SSH, VNC, TELNET

I.   PRÉSENTATION

Apache Guacamole, est une passerelle permettant via un navigateur web d’accès à ses différents équipements que ce soit via RDP, SSH, VNC ou bien même TELNET.

 


II.   INSTALLATION

Nous allons réaliser l’installation sur une debian 9 stretch 64Bits.

Tout d’abord, on commence par mettre à jour notre debian:

apt update && apt upgrade -y

 

On va maintenant installer toutes les dépendances et les paquets nécessaires:

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 tomcat8 libmysql-java

 

On va se placer dans le dossier temporaire et télécharger guacamole-server puis décompresser l’archive:

cd /tmp
wget http://mirror.ibcp.fr/pub/apache/guacamole/0.9.14/source/guacamole-server-0.9.14.tar.gz
tar -xzf guacamole-server-0.9.14.tar.gz

 

On se place dans le dossier guacamole-server pour lancer la compilation, on va commencer par vérifier les librairies présentes et leur appliquer les bons paramètres :

cd guacamole-server-0.9.14/
./configure --with-init-dir=/etc/init.d

 

Ce qui est important de vérifier c’est si vous avez tous les protocoles pris en charge ainsi que les deux services:

Protocol support:

RDP ....... yes
SSH ....... yes
Telnet .... yes
VNC ....... yes

Services / tools:

guacd ...... yes
guacenc .... yes

Si tout est ok, on peux compiler puis installer:

make
make install

 

On met à jour les caches systèmes des librairies installées:

ldconfig

 

On va créer le service guacd pour pouvoir utiliser les commandes service guacd {start-stop-restart}:

systemctl enable guacd

 

On va créer trois dossiers permettant une configuration plus simple:

mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions

 

Afin d’éviter de compiler guacamole-client on va télécharger un fichier tout fait (beaucoup mieux :P):

cd /tmp
wget http://mirror.ibcp.fr/pub/apache/guacamole/0.9.14/binary/guacamole-0.9.14.war

 

Nous allons déplacer notre fichier précédent dans notre dossier /etc/guacamole puis nous allons créer des liens symboliques pour l’intégrer dans Tomcat, configurer la librairies freerdp et le connecteur java mysql:

mv guacamole-0.9.14.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/

 

On va télécharger l’extension de base de donnée mysql puis on la place dans notre dossier /etc/guacamole/extension :

cd /tmp
wget http://mirror.ibcp.fr/pub/apache/guacamole/0.9.14/binary/guacamole-auth-jdbc-0.9.14.tar.gz
tar -xvf guacamole-auth-jdbc-0.9.14.tar.gz
cp guacamole-auth-jdbc-0.9.14/mysql/guacamole-auth-jdbc-mysql-0.9.14.jar /etc/guacamole/extensions/

 

On crée un fichier guacamole.properties:

nano /etc/guacamole/guacamole.properties

 

Puis on y met notre configuration pour la connexion à la base mysql:

mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: P@$$w0rd

PS: Les informations sont dans le cadre du labo, vous aurez différentes valeurs.

On redémarre le service Tomcat afin qu’il prenne en compte nos modifications:

service tomcat8 restart

On se connecte à la base sql et on crée la base guacamole, l’utilisateur guacamole_user et on lui donne certain droit sur celle-ci:

mysql -u root -p

create database guacamole_db;
create user 'guacamole_user'@'localhost' identified by 'P@$$w0rd';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
flush privileges;
quit

PS: Là encore les informations dépendent de chacun.

On copie les schémas des tables dans la base sql:

cat guacamole-auth-jdbc-0.9.14/mysql/schema/*.sql | mysql -u root -pP@$$w0rd guacamole_db

 

Et enfin on démarre notre service guacd:

service guacd start

 

Installation terminée, rendez-vous dans votre navigateur à l’adresse suivante : http://IP_GUACAMOLE_SERVER:8080/guacamole/

Les identifiants par défaut sont: guacadmin:guacadmin

 

Source

Source officielle