Services de déploiement et sauvegardes

1 - Rappel du cahier des charges

La demande concerne une solution de déploiement et de restauration dans un cadre d'enseignement pratique des réseaux et systèmes informatiques. La simplicité d'utilisation, la sécurisation des images ainsi qu'un nombre fixe de postes élèves concernés (21) sont également avancés dans cette demande.

Le nombre d'images à déployer est laissé au minimum à 1 mais une proposition de panel d'images à déployer, selon les besoins du cours, serait un avantage significatif.

Il est aussi nécessaire de documenter l'utilisation du service pour les personnes concernées (service informatique, enseignants et étudiants).

Ciblage du type de produit

Interpétation de la demande

Selon cette demande, le déploiement en PXE sur plusieurs postes est indispensable. De plus, l'accès à une interface de gestion ou la lisibilité du serveur serait également un avantage. Les étudiants ne seront pas passifs dans la démarche et peuvent disposer de solides bases de compréhension du système et tenter d'altérer l'intégrité de ce dernier. Ainsi, les accès au système et aux services devont être fortement sécurisés. L'environnement est globalement orienté vers GNU/GPL et une machine physique faisant office de serveur PXE sera nécessaire.

Description formelle du produit désiré

Une solution de déploiement et de restauration multi-postes intégrant les distributions Debian et Ubuntu.

Contraintes possibles:

2 - Évaluation des solutions de déploiement

A partir de l'état de fait prédécent, le cadrage du logiciel adéquat est plus précis. Il faut désormais faire le choix de la solution logicielle:

Détail des services disponibles

Cette section détaille chaque logiciel et service étudié par la documentation et une phase d'expérimentation, trois offres sont ainsi retenues.

FOGProject

Caractéristiques logicielles:
Éditeur https://fogproject.org/
Date de dernière mise à jour: 31 Mars 2023
Date de création: 2010
Type de licence et prix: GNU/GPL Gratuit
Pré-requis Importants: Git, Pile LAMP
OS Compatibles: Ubuntu, Debian, CentOS, RedHat, Fedora, Arch
Programmé en: PHP
Documentation officielle: https://docs.fogproject.org/en/latest/
Accès à la doc. tierce: Assez important
Accès web ou logiciel client: Apache
Mise en oeuvre:
Installation:

Une machine virtuelle debian (avec la pile Lamp installée) doit d'abord installer git, puis, à partir du compte root:

sudo -i
#Pour prendre les droits d'aministrateur
git clone https://github.com/fogproject/fogproject.git fogproject-dev
#Télécharger le package sur git
cd
cd fogproject-1.5.10/
#revenir dans le dossier de fog avec l'installeur.
./installfog.sh

L'installateur se lancera et vous pourrez choisir les options que vous désirez utiliser pour FOG Project. Sachez que l'installeur "devine" votre configuration et prévoit des paramètres par défaut:

Attention à bien vérifier vos paramètres par la fiche de sythèse en fin de configuration de l'installation. Il faut encore sauvegarder la base de données et valider l'installation dans le navigateur avant d'achever l'installation dans le terminal du serveur.

Configuration du système de réplication

A partir de ce point, la suite de la configuration passe par l'interface dans le navigateur avec l'adresse suivante: http(s)://IP.IP.IP.IP/fog/management. Vous pourrez dans cette interface:

Interface utilisateur

Page d'accueil de l'interface web

Gestion d'une image

Ecran d'accueil lors du boot d'un poste en PXE

Philosophie du logiciel

FOG est clairement orienté vers le service et l'intégration logicielle dans les images déployées. Les images déployées et sauvegardées sont destinées à être flexibles et contextualisées par des critères d'attribution personelle (principe d'utilisateurs et groupes). La sécurisation du service peut se faire en amont ou par l'édition des bases de données (accessibles par l'interface, phpmyadmin ou directement dans MariaDB).

FOG requiert une approche où un poste maître va générer une image modifiée à partir d'un OS, éditer des paramètres, installer des application pour ensuite la faire distribuer aux autres clients.

Si cette approche de base est hiérarchisée, rien n'empêche que la capture maîtresse soit plus horizontale, sur autorisation du responsable de la session.

Évaluation de la solution FOG Project:
Avantages:
Inconvénients

REAR (Relax and Recover)

Caractéristiques du logiciel:
Éditeur https://relax-and-recover.org/download/
Date de dernière mise à jour: 26/03/2024
Date de création: 2006
Type de licence et prix: GNU/GPL Gratuit
Prérequis Importants: Make, Git, Mingetty, FSDISK
OS Compatibles: Fedora, openSUSE, CentOS, SUSE, +par compil.
Programmé en: bash
Documentation officielle: https://relax-and-recover.org/documentation/
Accès à la doc. tierce: Juste Officiel + Forums et quelques vidéos
Accès web ou logiciel client: Non
Mise en oeuvre:
Installation:

Sous Fedora, OpenSUSE ou CentOS et quelques autres versions de Linux, REAR est inclus dans les dépots de distribution, pour les autres distributions (notamment basées sur Debian et Arch), il vous faudra d'abord avoir git et make d'installés pour construire à partir du dossier source. Une version aptitude est disponible sans communication de l'éditeur sur cette dernière.

git clone https://github.com/rear/rear.git
cd rear
make install Relax-and-Recover

Une fois installé, la partie de configuration du logiciel est essentielle puisque tous les paramètres dépendent de fichiers de configuration à modifier et qui seront appliquées selon les arguments de commande ensuite saisis.

Configuration:

Ici, au lieu d'une interface logicielle, il faudra éditer les fichiers de configuration individuellement avec Nano ou Vim pour choisir le mode de sauvegarde privilégié. Par exemple, pour créer un support USB de sauvegarde et récupération d'image, il faudra:

sudo nano /etc/rear/local.conf
#dans le fichier, saisir les paramètres suivants:
OUTPUT=USB
BACKUP=NETFS
BACKUP_URL=usb:///dev/disk/by-label/REAR-000

Toute les options de configuration sont des définitions de variables du script qui sera ensuite appliqué. Ensuite, pour créer la clé bootable:

sudo usr/sbin/rear mkrescue
Interface utilisateur

Création d'un modèle de sauvegarde en PXE

Interface au boot

Philosophie de la solution:

REAR - Relax and Recover est très orienté vers le disaster management, s'adresse à des techniciens réseaux à la recherche de solutions légères et systématiques de protection des systèmes. Le logiciel utilise les fonctionnalités propres à Linux (comme CRON ou Samba) et, comme le dit son slogan "Save easy and forget", l'idée n'est pas tant d'une utilisation active du système de sauvegarde mais de se protéger contre les incidents pour récupérer une version précédente.

Avantages
Inconvénients

iVentoy

Caractéristiques du logiciel:
Éditeur https://www.iventoy.com/en/index.html
Date de dernière mise à jour: 13/09/2023
Date de création: 2023
Type de licence et prix: GPLv3 Gratuit (avec une version payante à venir)
Prérequis Importants: C++ (Windows),  Serveur Apache
OS Compatibles: Windows, Linux (par compilation)
Programmé en: C
Documentation officielle: https://www.iventoy.com/en/doc_edition.html
Accès à la doc. tierce: Peu pour iVentoy, beaucoup pour Ventoy
Accès web ou logiciel client: Oui
Mise en oeuvre:
Installation:

Il faudra, pour un serveur sous Windows, télécharger l'installeur .exe puis le lancer.

Sous linux, il faut récupérer la version souhaitée (aussi bien en interface graphique en ligne de commande) puis décompresser le .tar.gz. Il est également utile de "peupler" le répertoire d'isos avant l'installation du service:

wget https://github.com/ventoy/PXE/releases/download/v1.0.19/iventoy-1.0.19-linux-free.tar.gz
tar -xzvf iventoy-1.0.19-linux-free.tar.gz
cd iventoy-1.0.19/iso
wget https://distro.ibiblio.org/puppylinux/puppy-fossa/fossapup64-9.5.iso

Vos isos peuvent également être dans un autre répertoire ou disque mais être ajoutés au répertoire comme des simples liens.

Désormais vous pouvez lancer l'installation du service à proprement parler

cd
cd /iventoy-1.0.19
sudo bash iventoy.sh start

Puis il faudra vous connecter à l'interface de gestion soit sur le poste en http://127.0.0.1:26000 ou par le même socket à l'adresse IP du serveur pour démarrer la présence du serveur comme option en PXE.

Interface

Configuration et démarrage dans le navigateur du serveur PXE

Boot en PXE avec choix de l'image

Philosophie du logiciel:

iVentoy est un déclinaison en boot réseau d'un outil plébiscité qui permet de donner le choix de l'iso à déplyer sans reformatter le support à chaque installation. C'est la solution qui sera la plus simple à l'utilisation (puisque les ISOS peuvent être gérés depuis le système de fichier de l'OS).

Avantages
Inconvénients

Synthèse comparative:

Tableau de réponses au cahier des charges:

Critère FOG Project REAR iVentoy
Modification de l'image ISO ++ - -
Autonomie dans l'utilisation + - ++
Orienté Linux (toutes distributions) ++ ++ +
Déploiements multiples ++ via Samba -
Adapté aux étudiants + - ++
Adapté aux besoins de l'enseignant ++ + +
Tolérance envers les configurations réseau - ++ ++
Protection à l'utilisation ++ - +
Diversité des images possibles à déployer ++ - ++
Facilité de maintenance - - / + (selon niveau en bash) ++
Interface Utilisateur ++ - - +
OS privilégié
(Ce qui n'exclut pas les autres)
Debian Red Hat Windows

Proposition privilégiée: Project FOG

Justification

ProjectFOG est une solution qui inclut l'ensemble des demandes et même ouvre la possibilité d'un changement d'échelle ou de mode de fonctionnement (par des features comme l'intégration du LDAP automatique, par exemple). Si le logiciel est relativement complexe à configurer et sensible à l'environnement, il reste pour l'utilisation régulière en environnement pédagogique, simple et flexible. Il permettrait également de faire travailler sur les OS eux-même par des remontées d'ISOS comme copies d'élèves. La gestion de groupes, de droits d'utilisation sécuriserait l'ensemble de la configuration (en plus des pratiques usuelles de défense en profondeur).

Projection de configuration de salle