# MK-Guacamole



# 01 - Description

## <span style="text-decoration: underline; color: rgb(45, 194, 107);">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Une description :</span></span></span></span>**</span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Nom DNS interne : </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Nom DNS Externe : </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Type de serveur (Physique, VMware, LXC, Docker...) : Conteneur LXC </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">OS : Ubuntu 22.04 </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">CPU : </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">RAM : </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Disque LVM : </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> / : </span></span></span></span>

#### <span style="color: rgb(35, 111, 161);">***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Réseaux :</span></span></span></span>***</span>

<span style="color: rgb(0, 0, 0);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Adresse IP : </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Masque : 255.255.255.0 </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Passerelle : </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">DNS : 192.168.1.50 </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">VLAN : </span></span></span></span></span>

### <span style="color: rgb(53, 152, 219);">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">1. Checklist - Création du serveur :</span></span></span></span>**</span>

#### <span style="color: rgb(35, 111, 161);">***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Domaine :</span></span></span></span>***</span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Configuration de l'enregistrement A sur v.sdem.fr </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Configuration de l'enregistrement PTR sur v.sdem.fr </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Configuration de l'enregistrement A sur sdem.fr (interne) </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[x\] Configuration de l'enregistrement A sur sdem.fr (externe) </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[x\] Ajout du serveur dans la zone DNS morbihan-energies.fr avec un enregistrement CNAME</span></span></span></span>

#### <span style="color: rgb(35, 111, 161);">***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Sécurité :</span></span></span></span>***</span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Création compte adminme </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Changement mot de passe root </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Changement mot de passe adminme </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Sécurisation des mots de passe (20 caractères minimum et 3 types de caractères différents) </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Mise à jour du coffre fort de mot de passe </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Déploiement clé SSH </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Paramétrage du SUDO NOPASSWORD </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Liste des Ports ouverts : </span></span></span></span>

#### <span style="color: rgb(35, 111, 161);">***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Sauvegarde :</span></span></span></span>***</span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Configurer la sauvegarde locale </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Configurer la sauvegarde sur le PRA (si serveur critique) </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[ \] Configurer la sauvegarde de Base de données (Dump local)</span></span></span></span>

#### <span style="color: rgb(35, 111, 161);">***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Autres :</span></span></span></span>***</span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Ajout du serveur dans Guacamole </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Ajout du serveur dans la supervision </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[\*\] Ajout de la documentation d'installation et de paramétrage de la VM dans ZIM </span></span></span></span>  
<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">\[ \] Configuration du NTP</span></span></span></span>

## <span style="text-decoration: underline; color: rgb(45, 194, 107);">**A - Qu'est ce que Guacamole:**</span>

Le serveur Apache Guacamole sera utilisé comme point d'entrée unique pour accéder aux serveurs et équipements de l'infrastructure que ce soit via les protocoles RDP, SSH, VNC et Telnet, et même Kubernetes. Que l'on soit en externe ou en interne, les connexions aux serveurs vont passer obligatoirement par l'hôte Apache Guacamole.

Dans l'exemple ci-dessous, l'hôte Apache Guacamole est positionné en DMZ puisqu'il doit être accessible depuis l'extérieur. L'accès depuis l'extérieur n'est pas obligatoire puisque l'on pourrait imposer une connexion VPN au réseau de l'entreprise avant de permettre la connexion sur l'interface de Guacamole. De la même manière pour publier l'hôte Guacamole sur Internet, il est recommandé de s'appuyer sur un reverse proxy en frontal (le pare-feu pourrait très bien assurer cette fonction), ce qui permettra en même temps de passer les flux en HTTPS.

[![image.png](https://wiki.morbihan-energies.fr/uploads/images/gallery/2024-01/scaled-1680-/gIzimage.png)](https://wiki.morbihan-energies.fr/uploads/images/gallery/2024-01/gIzimage.png)

Apache Guacamole devient un élément central de l'infrastructure puisqu'il sert de **passerelle pour administrer les machines**. Rassurez-vous, il est possible d'avoir plusieurs hôtes Apache Guacamole pour **répartir la charge et assurer la haute disponibilité**.

Enfin, **les règles de pare-feu doivent aussi être adaptées** : l'hôte Apache Guacamole doit être le seul à pouvoir se connecter en RDP/SSH/VNC/Etc. sur les machines de l'infrastructure.

# 02 - Installation

## <span style="text-decoration: underline; color: rgb(45, 194, 107);">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">A - Installation de Guacamole :</span></span></span></span></span></span></span></span>**</span>

### <span style="color: rgb(53, 152, 219);">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">1. Installation des Dépendances :</span></span></span></span></span></span></span></span>**</span>

```
sudo apt-get install libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin uuid-dev libossp-uuid-dev libwebsockets-dev libssl-dev libavcodec-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libwebsockets-dev libpulse-dev libvorbis-dev libwebp-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
```

### <span style="color: rgb(53, 152, 219);">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">2. Télécharger Serveur Guacamole :</span></span></span></span></span></span></span></span>**</span>

```
wget https://downloads.apache.org/guacamole/1.5.3/source/guacamole-server-1.5.3.tar.gz
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">3. </span></span></span></span>**<span style="color: #3598db;"><span style="font-size: 32.662px;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Décompression</span></span></span></span>**</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> :</span></span></span></span>**</span></span></span></span></span>

```
tar -xvf guacamole-server-1.5.3.tar.gz
cd guacamole-server-1.5.3
autoreconf -fi
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">4. Script de Configuration </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> :</span></span></span></span>**</span></span></span></span></span>

```
./configure --with-init-dir=/etc/init.d
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">5. Compilation et installation </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
make
make install
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">6. Liens </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
ldconfig
```

#### <span style="color: rgb(35, 111, 161);"><span style="color: #236fa1;"><span style="font-size: 23.324px;">***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Redémarrage </span></span></span></span>***</span></span>***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> des services 1</span></span></span></span></span></span></span></span></span></span></span></span>***</span>

```
systemctl restart guacd
```

## <span style="text-decoration: underline; color: rgb(45, 194, 107);">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">B - Installation de Tomcat :</span></span></span></span></span></span></span></span>**</span>

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">1. Installation de Tomcat </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
sudo apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user
sudo mkdir /etc/guacamole/
sudo wget https://downloads.apache.org/guacamole/1.5.3/binary/guacamole-1.5.3.war -O /etc/guacamole/guacamole.war
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">2. Lien symbolique avec Tomcat </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
sudo wget https://downloads.apache.org/guacamole/1.5.3/binary/guacamole-1.5.3.war -O /etc/guacamole/guacamole.war
```

#### <span style="color: rgb(35, 111, 161);">***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Redémarrer Guac Tomcat 1</span></span></span></span></span></span></span></span></span></span></span></span>***</span>

```
systemctl restart tomcat9
systemctl restart guacd
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">3. Extension du répertoire </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
mkdir /etc/guacamole/{extensions,lib}
```

## <span style="text-decoration: underline; color: rgb(45, 194, 107);">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">C-MYSQL :</span></span></span></span></span></span></span></span>**</span>

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">1. Installation de MySQL </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
apt install mariadb-server
mysql_secure_installation
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">2. Création d'une base de données Guacamole </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
mysql -u root -p
CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'Testeur';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
FLUSH PRIVILEGES;
quit;
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">3. Module Mysql/Guacamole </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
wget https://downloads.apache.org/guacamole/1.5.3/binary/guacamole-auth-jdbc-1.5.3.tar.gz
tar -xvf guacamole-auth-jdbc-1.5.3.tar.gz
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">4. Extension Mysql/Guacamole </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
cp guacamole-auth-jdbc-1.5.3/mysql/guacamole-auth-jdbc-mysql-1.5.3.jar /etc/guacamole/extensions/
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">5. Importer le schéma dans la base de donné </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
cat guacamole-auth-jdbc-1.5.3/mysql/schema/*.sql | mysql -u root -p guacamole_db
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">6. Pilote Mysql/Guacamole </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-j-8.0.33.tar.gz
tar -xvzf mysql-connector-j-8.0.33.tar.gz
cp mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar /etc/guacamole/lib/
```

#### <span style="color: rgb(35, 111, 161);">*<span style="color: #236fa1;"><span style="font-size: 23.324px;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Redémarrage Mysql </span></span></span></span>**</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> 1</span></span></span></span></span></span></span></span></span></span></span></span>***</span>

```
systemctl restart mariadb.service
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">7. Fichier de propriété Guacamole </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

```
touch /etc/guacamole/guacamole.properties
nano /etc/guacamole/guacamole.properties

echo "
# Hostname and Guacamole server port
guacd-hostname: localhost
guacd-port: 4822

# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: Testeur
" > /etc/guacamole/guacamole.properties
```

#### <span style="color: rgb(35, 111, 161);">***<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Redémarrer Guac Tomcat 2</span></span></span></span></span></span></span></span></span></span></span></span>***</span>

```
systemctl restart tomcat9
systemctl restart guacd
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">8. Connexion via l'interface </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">http://adresseIP:8080/guacamole/</span></span></span></span>

## <span style="text-decoration: underline; color: rgb(45, 194, 107);">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">D - Connexion LDAP :</span></span></span></span></span></span></span></span>**</span>

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">1. Installation du LDAP </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Tout d'abord, connectez-vous sur le serveur Guacamole en ligne de commande afin d'installer l'extension LDAP.</span></span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Ensuite, positionnez-vous dans "/tmp" et téléchargez l'archive tar.gz de l'extension :</span></span>

```
cd /tmp
wget https://downloads.apache.org/guacamole/1.5.2/binary/guacamole-auth-ldap-1.5.2.tar.gz
```

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Une fois que c'est fait, décompressez cette archive tar.gz :</span></span>

```
tar -xzf guacamole-auth-ldap-1.5.2.tar.gz
```

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Puis, déplacez le fichier JAR de l'extension vers le répertoire "extensions" de Guacamole.</span></span>

```
sudo mv guacamole-auth-ldap-1.5.2/guacamole-auth-ldap-1.5.2.jar /etc/guacamole/extensions
```

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Pour que cette extension soit prise en charge, il convient de redémarrer Tomcat9 :</span></span>

```
sudo systemctl restart tomcat9
```

### <span style="color: rgb(53, 152, 219);"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">2. Connexion au LDAP </span></span></span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">:</span></span></span></span>**</span></span></span></span></span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Toujours sur le serveur Apache Guacamole, ouvrez le fichier de configuration :</span></span>

```
sudo nano /etc/guacamole/guacamole.properties
```

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Dans ce fichier, il y a déjà d'autres propriétés définies, notamment les informations de connexion à la base de données MySQL (MariaDB). </span><span style="vertical-align: inherit;">Vous devez configurer l'extension LDAP.</span></span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Tout d'abord, vous devez indiquer le nom du contrôleur de domaine, le port LDAP ( </span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">389</span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> par défaut) et la méthode de chiffrement ( </span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">none</span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> avec du LDAP classique). </span><span style="vertical-align: inherit;">Ce qui donne les lignes suivantes à ajouter dans le fichier :</span></span>

```
### Active Directory
# Controleur de domaine
ldap-hostname: ldap.v.sdem.fr
ldap-port: 389
ldap-encryption-method: none
```

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Deuxièmement, à la suite, vous devez ajouter les informations sur le compte à utiliser pour s'authentifier auprès de l'annuaire Active Directory. </span><span style="vertical-align: inherit;">Ce compte sert uniquement à lire le contenu de l'annuaire (utilisateurs, groupes et membre des groupes). </span><span style="vertical-align: inherit;">Dans l'exemple ci-dessous, le compte « </span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Sync\_Guacamole@it-connect.local</span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> » est utilisé.</span></span>

```
# Utilisateur pour connexion AD
ldap-search-bind-dn: cn=LDAP Administrator,ou=DIT Roles,dc=sdem,dc=fr
ldap-search-bind-password: PASSWORD
```

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Troisièmement, vous devez indiquer </span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">comment rechercher les utilisateurs dans l'Active Directory</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> . </span><span style="vertical-align: inherit;">Comme base DN, c'est-à-dire comme </span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">base de recherche</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> , on évite de mettre la racine de l'annuaire Active Directory.</span></span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Ici, l'OU " </span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">OU=Tiering,OU=IT,DC=it-connect,DC=local</span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> " qui contient d'autres sous-OU ainsi que les comptes d'administration seront ciblés. </span><span style="vertical-align: inherit;">Tout ce qui est en dehors de cette racine " </span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">ne sera pas vu</span></span>*<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> " par Guacamole. </span><span style="vertical-align: inherit;">Ceci correspond au paramètre " </span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">ldap-user-base-dn</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> ". </span><span style="vertical-align: inherit;">Ensuite, le paramètre " </span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">ldap-username-attribute</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> " sert à préciser l'attribut AD utilisé pour les noms d'utilisateurs.</span></span>

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Enfin, le paramètre « </span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">ldap-user-search-filter</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> » permet de déclarer le filtre de recherche. </span><span style="vertical-align: inherit;">Ici, on prend tous les utilisateurs qui sont membres du groupe de sécurité Active Directory « </span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">GDL-Guacamole-Access</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> ».</span></span>

```
# Recherche des utilisateurs
ldap-user-base-dn: ou=People,dc=sdem,dc=fr
ldap-username-attribute: uid
#ldap-user-search-filter: (&(objectClass=User)(sAMAccountName=*)(memberOf:1.2.840.113556.1.4.1941:=CN=GDL-Guacamole-A>
```

<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Quatrièmement, vous devez </span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">ajouter des paramètres de recherche pour les groupes</span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> . </span><span style="vertical-align: inherit;">Si vous souhaitez rechercher uniquement les utilisateurs, cette partie n'est pas obligatoire. </span><span style="vertical-align: inherit;">Sur le même principe, on indique la base de recherche et le filtre. </span><span style="vertical-align: inherit;">Ici, on prend tous les groupes situés sous la base DN.</span></span>

```
# Recherche des groupes
#ldap-group-base-dn: OU=Tiering,OU=IT,DC=it-connect,DC=local
#ldap-group-search-filter: (objectClass=Group)
```

**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Le fichier de configuration est prêt ! </span></span>**<span style="vertical-align: inherit;"><span style="vertical-align: inherit;"> Sauvegardez et fermez le fichier. </span><span style="vertical-align: inherit;">Il ne reste plus qu'à relancer Tomcat9 :</span></span>

```
sudo systemctl restart tomcat9
```