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:
Accès au réseau PXE des machines client
Utilisation des fonctionnalités réseau WAN pour les clients
Manques de cloisonnement des clients entre eux
Protection par les règles d'attribution et de communication du domaine
Disponibilité de l'espace de stockage selon les sauvegardes d'étudiants
Organisation de plusieurs réseaux qui doivent être reconnus par tous les postes (4G et LAN pour PXE)
Accès au disque en lecture lors du déploiement
Accès au disque en écriture lors des sauvegardes
Flexibilité de la configuration matérielle du serveur
Coût financier de la solution
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:
Vérification de l'OS choisi
Mode d'installation - Normal [N]
Interface réseau par défaut: (le réseau choisi sera celui utilisé pour lancer le démarrage en PXE)
DHCP service: Demande si FOG peut faire la distribution d'adresse pour les machines
Routeur DHCP: Si FOG ne s'occupe pas du routage DHCP, il faut lui indiquer quel serveur se chargera de cette attribution
Utilisation du DNS par le DHCP: Si FOG fait également office de DNS, il faut lui indiquer l'adresse du serveur de résolution de noms
Activer le DHCP
Support du protocole HTTPS: Cette option permet de voir l'interface de navigation de FOG par le protocole HTTPS
Nom d'hôte
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:
Enregistrer des hôtes par un diagnostic et gérer ces postes
Créer des utilisateurs et leur assigner des groupes
Créer des ensembles d'images
Modifier les conditions de déploiement
Capturer une image d'un client
Ajouter des logiciels individuels aux captures au moment du déploiement
Intaller cette image en PXE sur un poste ou un groupe en multicast
Ajouter des clusters de stockage et les modifier
Configurer cette interface et celle disponible sur les postes démarrés en PXE
Configurer certaines fonctionnalités centrales du service (répertoires de sauvegarde, notemment)
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:
Flexible et adapté à beaucoup de scénarios d'utilisation
Utilisable par un power-user assez facilement
Captures entièrement reconfigurables (et snapins)
Possibilité de multi-casting assez simplifiée
Intégration directe à l'Active Directory
Inconvénients
Configuration initiale difficile (Partitionnement, droits) et sensible
Dépendant des délégations et autorisations du domaine (DHCP, Pare-feu)
Peut vite consommer beaucoup d'espace disque
Certaines fonctionnalités nécéssitent un logiciel client
Mises à jour irrégulières
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
Très léger (puisque repose sur du script bash)
Grande compatibilté de moyens d'accès (optiques, USB, PXE, FTP...)
Différents niveaux de sauvegarde pour préserver de l'esapce
Fonctionnalités par briques modulaires de protocoles Linux (Samba, ftp, PXE)
Activement maintenu et fréquemment amélioré
Inconvénients
Fonctionne uniquement par la modification de lignes de commandes bash
Pensé pour des sauvegardes locales
Accès serveur nécessaire (ssh ou local) pour la maintenance
Nombre limité de distributions compatibles sans compilation de l'utilisateur
Fonctionnalités limitées par l'orientation rescue
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
Extrêmement simple d'utilisation (comme Ventoy)
Très bonne visibilité sur le panel d'ISOS (comme Ventoy)
Compatible sur serveur Windows
Gestion des répertoires d'isos dans le navigateur de fichiers (comme Ventoy)
Suit le développement très enthousiasmant de Ventoy
Inconvénients
Pas de support du secure boot (mais déjà implémenté sur Ventoy)
Encore très "jeune" et assez instable
Gestion séparée de la capture des ISOS
Chinois et distribué par le groupe Alibaba: donc doutes
Évolution possible vers un modèle freemium
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).