Table des matières
↩ Retour à l'accueil du projet
2) Descriptif de la Post-Installation
Ce document spécifie les objectifs, les exigences de sécurité et le comportement attendu du script de post-installation. Ce script intervient sur un VPS vierge (Debian 13 ou Fedora 44 Server), accessible uniquement via la clé SSH initiale de l'administrateur.
1. Objectifs du Script
Le script a pour but d'automatiser la transition entre un serveur brut de livraison et une plateforme d'hébergement sécurisée, sans nécessiter d'interaction complexe. Il prépare l'environnement pour le Menu Principal (Gestionnaire CLI).
2. La Barrière de Secours Réseau (Détection du Système)
Afin de garantir la robustesse du framework d'administration et d'éviter tout dysfonctionnement, le script intègre un mécanisme de détection automatique de la distribution dès sa première seconde d'exécution :
- Méthode d'analyse : Le script interroge directement le fichier système universel
/etc/os-releasepour identifier la distribution hôte. - Aiguillage automatique : Si le système détecte
debianoufedora, il charge en mémoire les fonctions applicatives de la famille correspondante (gestion des paquets et des privilèges spécifiques). - Interdiction des systèmes incompatibles : Si la distribution n'est pas prise en charge (ex: Ubuntu, Alpine, AlmaLinux), le script interrompt immédiatement son exécution, affiche une alerte à l'écran et se ferme sans altérer aucun paramètre du VPS.
3. Gestion de l'Identité (Le compte Tux)
Le script garantit la création propre et l'élévation de l'administrateur unique du système via la fonction générique tux.creerUtilisateur :
- Création du compte : Configuration de l'utilisateur
tuxavec son dossier personnel. - Privilèges d'administration : Intégration automatique dans le groupe système adéquat (
sudosur Debian 13,wheelsur Fedora 44). - Migration de la clé SSH : Récupération de la clé SSH publique active depuis le compte de déploiement d'origine vers le compte de
tux. - Verrouillage restrictif : Application des permissions restrictives strictes (mode
700pour le dossier.sshet600pour le fichierauthorized_keys).
4. Déploiement des Dépendances Minimales
Pour préserver les ressources matérielles et la mémoire RAM du VPS, seules les briques logicielles indispensables sont installées via la fonction générique tux.installerPaquet :
- Réseau / VPN :
wireguardpour la gestion des tunnels chiffrés. - Aiguillage Web :
nginxpour le rôle de Reverse Proxy. - Routage Courrier :
postfixpour le rôle de relais SMTP. - Sécurité & Filtrage :
nftablespour le pare-feu moderne natif du noyau Linux.
5. Politique de Sécurité du Pare-feu (Nftables)
Le pare-feu applique une politique de sécurité stricte via la fonction tux.configurerPareFeu. Par défaut, la politique globale rejette tout le trafic (policy drop), sauf les ports explicitement autorisés :
| Port | Protocole | Service | Rôle |
|---|
| 22 | TCP | SSH | Accès exclusif de tux par clé asymétrique protégée |
| 51820 | UDP | WireGuard | Port d'écoute pour le raccordement des clients distants |
| 80 / 443 | TCP | HTTP / HTTPS | Entrée du trafic Web public vers le Reverse Proxy Nginx |
| 25 | TCP | SMTP | Entrée du trafic e-mail public vers le relais Postfix |
Routage Inter-Interfaces & Masquage (NAT)
Le script configure le noyau Linux pour autoriser de manière permanente le transfert de paquets (net.ipv4.ip_forward=1). La table NAT de nftables intercepte le trafic et applique un masquage (masquerade) dynamique sur l'interface réseau publique détectée, permettant au sous-réseau VPN (10.66.66.0/24) de partager l'IP publique unique.
6. Initialisation de la Mémoire & Traçabilité
Avant de se clôturer, le script prépare les outils de suivi et applique les services :
- Création de l'arborescence centrale
/etc/vps-gateway/. - Initialisation du registre des clients
utilisateurs.db. - Écriture de la première ligne de traçabilité dans le journal global
/var/log/vps-gateway.log. - Activation et démarrage synchrone des démons via la fonction
tux.demarrerService.
Un bilan visuel clair (succès ou échec de chaque étape) est affiché en fin d'exécution directement dans le terminal de l'administrateur.
7. Accès aux Ressources Techniques
Pour consulter le code source de ce script ou télécharger l'archive globale du projet : ➔ 🛠️ Aller au module 12) Téléchargements du projet et sources des scripts
