$ cat Conception et déploiement d’une infrastructure complète
DATA OZ: Projet M2L La société DATA OZ, dont vous êtes salarié au titre de technicien réseau, est une ESN, société de service informatique, qui accompagne les organisations dans la gestion, l’exploitation et l’évolution de leursystème d’information. Elle offre…
DATA OZ: Projet M2L
La société DATA OZ, dont vous êtes salarié au titre de technicien réseau, est une ESN, société de service informatique, qui accompagne les organisations dans la gestion, l’exploitation et l’évolution de leur système d’information. Elle offre des services dans la sécurisation, l’installation, la maintenance, l’évolution des infrastructures réseaux. Depuis peu, DATA OZ a comme nouveau client la M2L. Une présentation de son site principal vous a été fournie.
Lettre de mission
Afin de gérer au mieux le réseau de la M2L, il est prévu d’installer la suite GLPI pour réaliser l’inventaire le plus exhaustif possible de son parc informatique mais aussi pour mettre en place une gestion de tickets pour faciliter la maintenance et le dépannage.
Mission 1 : plan de maquette
Outils à disposition
DATA OZ peut mettre à votre disposition comme logiciels :
-
Une machine type WINDOWS 10;
-
Une machine type WINDOWS 2022;
-
Une machine type LINUX Debian Core ;
-
Une image ISO LINUX Ubuntu ;
-
Une image ISO PfSense
-
VirtualBox
-
Une ferme de serveur Promox;
Port 443 & 80 –> Serveur Web Port 8080 –> Serveur GLPI Pourt 389 –> Lisaison de l’active directory à GLPI
Pour ce projet nous allons prendre le rôle de DATAOZ, une société de gestion technique, le but de ce projet est de recréer l’infrastructure ci-dessous avec des machines virtuelles, de cette façon nous pourrons simuler leur réseau.
Tout d’abord, commençons par le plan d’adressage et de nommage des machines que nous allons utiliser.
-
Pour le réseau M2L, nous avons choisi d’utiliser l’adresse IP 172.17.0.0/16.
-
Pour le réseau Data Oz, nous utiliserons l’adresse IP 172.16.0.0/16.
-
Enfin, pour la DMZ, nous avons opté pour l’adresse IP 10.16.0.0/16.
Voici un schéma du réseau que nous allons créer :


Le choix des machines à virtualiser
DMZ:
-
Pfsense
-
Serveur Debian (GLPI)
-
Serveur WEB
Data OZ:
- Client Windows 10
M2L:
-
Serveur AD pour M2L
-
Client Windows 10 1
-
Client Windows 10 2
Configuration initiale de PfSense:
Nous avons créé une machine cliente qui sera connectée au réseau DATAOZ, ce qui nous permettra d’accéder à l’interface graphique du routeur.
Je tiens à préciser que l’interface nommée « LAN » sera l’interface DATAOZ.
Maintenant que nous avons testé que le DHCP fonctionne correctement sur notre réseau DATAOZ, nous pouvons enfin accéder à l’interface graphique via l’adresse suivante :
http://172.16.0.254/
Une fois que nous avons accès, nous devons changer le mot de passe par défaut de PfSense pour des raisons de sécurité, et nous serons prêts à configurer notre DMZ.
Après avoir entré les paramètres affichés à l’écran et renommé notre ancienne interface « OPT2 » en « DMZ », nous avons également ajouté une adresse IPv4 statique à notre interface, qui est :
10.16.0.254
Après avoir effectué cette étape, nous créerons une seule règle de pare-feu qui permettra tout depuis la DMZ. Ceci est fait pour nous aider à configurer d’abord notre serveur GLPI.

Nous reviendrons ensuite et renforcerons la sécurité de notre pare-feu une fois que notre serveur GLPI sera bien configuré.
Configuration de l’Active Directory M2L :
Nous commencerons par cloner la machine de type Windows Server 2022 que nous avons déjà créée, cela nous permettra de sauter le processus d’installation et de démarrer une machine vierge.
Une fois notre machine clonée, nous nous assurons simplement que les paramètres réseau sont configurés sur « Réseau interne » M2L.
Une fois cela fait, nous sommes prêts à démarrer la machine et commencer à configurer le nouveau service :
La première chose que nous faisons est de configurer l’adresse IP statique et le nom d’hôte, dans ce cas ce sera les suivants :
IP statique : 172.17.0.10
Nom d'hôte de la machine : SRV-AD
Maintenant que notre IP est statique, nous pouvons commencer à installer le service Active Directory :
Nous installons le service AD sur notre serveur, puis nous promouvons ce serveur en tant que contrôleur de domaine et nous créons enfin notre domaine M2L.local.

Après le redémarrage de notre serveur, nous avons ajouté des unités d’organisation à l’intérieur de la forêt AD et créé deux utilisateurs de test uniquement pour ce projet. Nous n’allons pas vraiment approfondir leurs groupes et droits car nous avons simplement besoin du domaine pour notre lien LDAP GLPI.
En fin de compte, voici à quoi ressemblera notre Active Directory :

Paramétrage Client M2L:
Nous avons d’abord vérifié que notre DHCP fonctionne correctement, puis nous avons procédé à la modification du nom et à l’adhésion de notre ordinateur client au domaine. Dans ce cas, nous aurons seulement un client Windows 10.
Dans ce cas, nous nous sommes connectés en utilisant notre utilisateur « j.michel » et avons ainsi confirmé que notre domaine fonctionne correctement.

Paramétrage Serveur Web GLPI:
Pour commencer, nous donnerons une adresse IP statique à notre serveur, nous devons nous rappeler que ce serveur sera dans notre DMZ.
Nous commencerons par modifier notre fichier « interfaces » en utilisant la commande suivante (je suis connecté en tant que root, donc pas besoin de « sudo ») :
nano /etc/network/interfaces
Voici à quoi doit ressembler notre fichier interfaces :
#...
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address [adresse IP statique]
netmask [masque de sous-réseau]
gateway [passerelle par défaut]
#...

Nous devrons également ajouter un nouveau serveur de noms DNS (nameserver) à notre machine en éditant le fichier suivant avec la commande suivante :
nano /etc/resolv.conf
Nous ajouterons la ligne suivante :
nameserver 1.1.1.1

Maintenant, nous allons modifier le nom d’hôte de la machine en utilisant la commande suivante :
nano /etc/hosts.conf
En dessous de « localhost », nous ajouterons la ligne suivante :
127.0.1.1 SRV-GLPI

Et maintenant, nous devons éditer le fichier hostname avec la commande suivante :
nano /etc/hostname
Et nous changerons le nom d’hôte de « debian » à « SRV-GLPI ».

Une fois que tout cela est fait, nous pouvons mettre à jour notre système en utilisant la commande :
apt update && apt upgrade
Maintenant on peut installer MobaXterm sur notre client Windows DataOZ et nous nous connecterons via SSH à notre serveur, pour pouvoir avoir plus de fonctionnalités sur notre console.

Nous allons ouvrir le logiciel et créer une nouvelle session. En raison des paramètres de sécurité, la connexion par SSH avec l’utilisateur root est bloquée, mais nous allons l’éviter en nous connectant avec l’utilisateur « fred » :


Il ne nous reste plus qu’à utiliser nos identifiants racine après avoir exécuté la commande suivante :
su
Maintenant que nous sommes sur ROOT, nous pouvons continuer le processus.
Installation LAMP:
Pour installer la suite LAMP, nous allons installer Apache2, MariaDB et PHP.
apt install apache2 mariadb-server php -y
Ensuite, nous activons Apache2 et MariaDB pour qu’ils se lancent au démarrage de la machine :
systemctl enable apache2 mariadb
Installation de GLPI 10 :
GLPI nécessite la présence de Perl ainsi que de quelques extensions PHP.
apt install perl -y
apt install php-ldap php-imap php-apcu php-xmlrpc php-cas php-mysqli php-mbstring php-curl php-gd php-simplexml php-xml php-intl php-zip php-bz2 -y
Pour que les changements prennent effet, nous rechargeons Apache :
systemctl reload apache2
Maintenant, nous allons télécharger le code de GLPI depuis le site officiel. Vous pouvez trouver le lien de téléchargement de la dernière version de GLPI sur le site suivant : https://glpi-project.org/downloads.
cd /tmp/
wget https://github.com/glpi-project/glpi/releases/download/10.0.10/glpi-10.0.10.tgz

Nous décompressons le fichier et le plaçons dans le répertoire /var/www/html :
tar xzf glpi-10.0.10.tgz -C /var/www/html
Nous modifions les permissions sur le dossier GLPI afin que le serveur web Apache puisse y accéder :
chown -R www-data:www-data /var/www/html/glpi
chmod -R 775 /var/www/html/glpi
Création de la base de données :
Nous allons utiliser MariaDB pour la base de données SQL. Nous créons une base de données, un utilisateur et donnons les autorisations appropriées à cet utilisateur pour travailler sur la base de données.
mysql -u root
Dans le terminal de MariaDB, nous exécutons les commandes suivantes :
create database glpi;
create user glpiuser@localhost identified by 'azerty31';
grant all privileges on glpi.* to glpiuser@localhost;
flush privileges;
exit;
Initialisation de GLPI 10 :
Dans notre navigateur, accédons à l’adresse suivante : http://10.16.5.100/glpi

Acceptons les termes de la licence de GLPI et poursuivre en cliquant sur le bouton « Installer ».

Connectons-nous à la base de données que GLPI utilisera en renseignant les informations de l’utilisateur SQL.

Une fois connectés, sélectionnons la base de données nommée « glpi » que nous avons créée précédemment.

La base de données va alors s’initialiser.
Ensuite, nous aurons la possibilité d’envoyer ou non des statistiques d’utilisation à GLPI. Faisons notre choix en cliquant sur « Ok ».

L’installation sera alors terminée. Cliquons sur « Continuer » puis sur « Utiliser GLPI ».
Nous serons redirigés vers la page de connexion où l’utilisateur admin par défaut est :

-
Identifiant : glpi
-
Mot de passe : glpi
Et voilà, nous avons maintenant accès à GLPI 10. Nous pouvons commencer à l’utiliser en modifiant les mots de passe des utilisateurs par défaut pour résoudre la première erreur affichée.

Et maintenant nous rencontrons une deuxième erreur sur la page d’accueil, il nous suffit de supprimer le dossier d’installation sur le serveur en exécutant la commande suivante :
rm -rf /var/www/html/glpi/install/
Now we can begin by linking our LDAP annuary from our domain to our GLPI
First of all we need to go to our AD server and create an user that will be used to connect to the AD:

After this is done, we will go to Configuration -> Authentification -> Annuaire LDAP
Nous cliquerons alors sur le bouton « Ajouter » en haut de la fenêtre. Dans l’assistant de création nous commencerons par cliquer sur « Active Directory » au niveau de la ligne « Préconfiguration ».

Nous configurerons le connecteur comme cela:
-
Nom: nous donnerons ici un nom au connecteur. Nous ferons le choix de donner le nom de notre serveur Active Directory
-
Serveur par défaut: Nous choisirons « Oui »
-
Actif: Nous choisirons d’activer le connecteur via ce menu en choisissant « Oui ».
-
Serveur: Nous donnerons l’adresse IP de notre serveur, ici 10.16.5.100
-
Port: Nous laisserons le port par défaut, le 389.
-
DN du compte: Here we will add the login information of the user we created for GLPI.
-
Filtre de connexion: Ici nous configurerons la manière dont l’AD sera scanné et quels éléments seront intégrés dans les recherches de synchronisation. Nous rentrerons les paramètres suivants:
(&(objectClass=user)(objectCategory=person)(memberOf=CN=user-glpi,OU=M2L,DC=M2L,DC=local)(cn=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
And now we will remplir our fields in the following way:

Maintenant que c’est enregistré, nous allons dans le menu « Test », puis cliquons sur le bouton « Tester » :

Le test est terminé, maintenant nous devons importer les deux utilisateurs que j’ai créés dans l’AD.
Synchronisation des utilisateurs :
Nous allons dans le menu « Administration », puis « Utilisateurs ». Nous cliquons ensuite sur le bouton « Liaison annuaire LDAP ».

Le bouton « Importation de nouveaux utilisateurs » permettra d’importer les utilisateurs. Nous cliquons sur ce dernier, puis cliquons sur le bouton « Rechercher » pour trouver les comptes Active Directory appartenant au groupe « user-glpi » et donc autorisés à utiliser GLPI.

Et voilà, nos utilisateurs AD ont été créés :

Maintenant, nous vérifions que les connexions fonctionnent en nous connectant en tant que j.michel :

Installation de GLPI Inventory :
cd /var/www/html/glpi/plugins
wget https://github.com/glpi-project/glpi-inventory-plugin/releases/download/1.2.1/glpi-glpiinventory-1.2.1.tar.bz2
tar jxvf glpi-glpiinventory-1.2.1.tar.bz2
rm -f glpi-glpiinventory-1.2.1.tar.bz2
Ensuite, j’ai accédé à l’URL du serveur GLPI et je suis allé dans Accueil > Configuration > Plugins. Pour installer et activer le plugin, j’ai cliqué sur les icônes « Installer » et « Activer » dans la colonne Actions à droite de l’écran.

Ensuite, nous téléchargeons et installons notre agent d’inventaire GLPI sur nos ordinateurs, ce qui donne ce résultat :

Avec notre inventaire fonctionnant correctement, nous pouvons continuer.
Création d’un serveur web :
Dans ce cas, nous allons créer un CLONE de notre serveur GLPI, ce qui sera plus rapide que d’installer tout l’ensemble LAMP (Linux Apache MariaDB PHP) à nouveau.
Nous allons changer le nom d’hôte en SRV-WEB en utilisant la commande suivante :
nano /etc/hostname
et ensuite
nano /etc/hosts
Et nous changeons l’adresse IP en 10.16.5.200 en utilisant la commande :
nano /etc/network/interfaces
Maintenant, nous pouvons simplement supprimer la base de données GLPI que nous avons déjà :
mysql
SHOW DATABASES;
SELECT DATABASE GLPI;
DROP DATABASE GLPI;
Et les fichiers :
rm -rf /var/www/html/glpi/
Maintenant, nous pouvons tester si tout fonctionne correctement en visitant l’IP de notre serveur web dans un navigateur, et comme nous pouvons le voir, cela fonctionne correctement. Maintenant, nous allons créer deux dossiers à l’intérieur de /var/www/html appelés siteweb1 et siteweb2 avec une page HTML simple. (Je me connecterai en SSH pour pouvoir coller le code)
Après avoir créé un index.html dans les deux dossiers, nous allons effectuer la configuration Apache pour ces sites :
cd /etc/apache2/sites-available/
mv 000-default.conf site1.conf
cp site1.conf site2.conf
nano site1.conf
nano ports.conf et ajouter Listen 8080 et Listen 8081
a2ensite site1 site2
Maintenant, si nous vérifions sur l’un de nos clients, nos deux sites Web seront en ligne sur les ports 8080 et 8081 :
Site 1 :

Site 2 :

DNS pour les serveurs web :
J’ai ouvert le Gestionnaire DNS sur le serveur AD M2L.
Dans la fenêtre Gestionnaire DNS, j’ai développé le nom du serveur et sélectionné « Forward Lookup Zones », puis j’ai créé une « Nouvelle Entrée (A ou AAAA)… ». Dans la fenêtre « Nouvelle Entrée », j’ai saisi « GLPI » dans le champ « Nom ». J’ai saisi les détails dans le champ « Adresse IP ». Par exemple, j’ai saisi « 10.16.5.100 » pour le serveur GLPI.

J’ai fait de même pour le serveur web et voilà, maintenant les personnes du réseau M2L peuvent accéder aux services avec le lien suivant : GLPI.M2L.local
Les règles finales de pare-feu et de NAT :
Tout d’abord, j’ai autorisé le trafic sur l’interface WAN.

J’ai également ajouté une règle de NAT finale qui permet la redirection des ports vers le serveur web :
