Skip to content
đŸŒ PandaCyberLab.dev
Retour

Partir de zéro pour poser les fondations [2/3] - Architecture cible

⏱ 10 min de lecture 📚 intermĂ©diaire

AprÚs avoir posé le cadre théorique et analysé les limites de mon architecture actuelle dans la premiÚre partie, il est temps de se projeter dans la conception de mon architecture cible.

Sommaire

Afficher le sommaire

Architecture cible

Sans forcĂ©ment dĂ©voiler l’intĂ©gralitĂ© de mon projet, je dois rĂ©pondre Ă  un certain nombre de problĂ©matiques dans ma future infrastructure. Je vais les lister par domaine.

Réseau & PérimÚtre

Le rĂ©seau est la fondation de toute l’infrastructure. C’est la premiĂšre couche Ă  poser, et la plus importante Ă  bien concevoir. S’il est mal construit, rien de ce qui vient ensuite ne pourra ĂȘtre sĂ©curisĂ© correctement.
Le pĂ©rimĂštre, c’est la frontiĂšre entre mon infrastructure et le reste du monde : qui peut entrer, qui peut sortir, et qui doit ĂȘtre bloquĂ©.
Mon architecture actuelle repose sur une box internet qui fait tout Ă  la fois : routeur, pare-feu, point d’accĂšs Wi-Fi
 sans aucune segmentation (je vous partagerai son fonctionnement dans un prochain article). Tous les appareils (PC, smartphones, consoles, objets IoT) cohabitent sur le mĂȘme rĂ©seau. C’est simple, mais cela expose une surface d’attaque trop large et incontrĂŽlĂ©e.
Pour y remédier, mon architecture cible doit intégrer les composants suivants :

Infrastructure & Virtualisation

L’infrastructure physique est le socle sur lequel tout le reste va reposer. Pour ce projet, j’ai fait le choix d’une approche Ă©tape par Ă©tape : construire, apprendre, puis consolider, plutĂŽt que d’investir massivement avant mĂȘme d’avoir validĂ© mes choix techniques.
La couche de virtualisation reposera sur Proxmox VE, une plateforme open source qui permet de gĂ©rer des machines virtuelles (VMs) et des conteneurs (LXC) depuis une interface web centralisĂ©e. C’est la technologie qui va me permettre de faire tourner plusieurs services et environnements sur un mĂȘme Ă©quipement physique, en les isolant les uns des autres.
Les étapes clés de mon architecture cible sont les suivantes :

Phase 1 — L’architecture de dĂ©marrage :
La premiÚre étape est volontairement simple, pour me permettre de monter en compétences sans sur-investir dÚs le départ.

Phase 2 — L’architecture cible :
L’objectif Ă  terme est de faire Ă©voluer les deux environnements vers quelque chose de plus professionnel.

Il ne faudra pas oublier la mise en place d’un Onduleur (UPS) qui sera un Ă©quipement indispensable pour protĂ©ger l’infrastructure contre les coupures et surtensions Ă©lectriques. En cas de panne de courant, l’onduleur assurera une alimentation de secours le temps d’effectuer un arrĂȘt propre des serveurs pour Ă©viter ainsi une corruption de donnĂ©es. Il sera Ă©galement Ă  intĂ©grer Ă  la supervision pour dĂ©clencher automatiquement les arrĂȘts si nĂ©cessaire.

Identité & AccÚs

La gestion des identitĂ©s et des accĂšs est le pilier central d’une approche Zero Trust : plutĂŽt que de faire confiance Ă  un appareil parce qu’il est sur le bon rĂ©seau, chaque accĂšs doit ĂȘtre authentifiĂ©, autorisĂ©, et tracĂ©, peu importe d’oĂč il vient.
C’est une couche que je vais construire progressivement, en profitant du homelab pour tester et comparer les solutions disponibles avant de retenir celles qui intĂ©greront mon environnement de production.
Les points clés sont les suivants :

Déploiement & Automatisation

La couche dĂ©ploiement et automatisation va donner Ă  mon infrastructure sa dimension vĂ©ritablement DevOps et SRE. J’ai un double objectif : ne plus jamais dĂ©ployer manuellement, et pouvoir reconstruire l’intĂ©gralitĂ© de l’infrastructure en quelques clics si nĂ©cessaire.
Voici les Ă©lĂ©ments qui vont m’aider dans mon projet :

Comme pour les couches prĂ©cĂ©dentes, le homelab sera le terrain de validation de ces choix technologiques avant leur adoption en production (ce qui sera je pense l’occasion de rĂ©diger une bonne sĂ©rie d’articles dĂ©diĂ©s 😉).

Sécurité opérationnelle

La couche SĂ©curitĂ© OpĂ©rationnelle va donner Ă  mon infrastructure une dimension dĂ©fensive et proactive. L’objectif est triple : dĂ©tecter ce qui se passe sur mon rĂ©seau, Ă©valuer mon niveau d’exposition, et anticiper les attaques avant qu’elles n’arrivent.
Pour réussir, je vais devoir mettre en place les éléments suivants :

Comme pour les autres couches, le homelab sera le terrain d’exploration pour tester des solutions, avec en perspective des articles dĂ©diĂ©s qui promettent d’ĂȘtre particuliĂšrement animĂ©s (surtout si je me fais attaquer 😉).

Observabilité & Fiabilité

L’observabilitĂ© est la capacitĂ© Ă  comprendre ce qui se passe Ă  l’intĂ©rieur d’un systĂšme en observant ce qu’il produit de l’extĂ©rieur (logs, mĂ©triques, traces). Sans elle, gĂ©rer une infrastructure revient Ă  conduire les yeux fermĂ©s.
L’observabilitĂ© repose sur trois sources de donnĂ©es complĂ©mentaires :

Je vais devoir choisir la stack d’observabilitĂ© que je vais implĂ©menter parmi 2 des approches principales utilisĂ©es dans le monde professionnel et dans la communautĂ© homelab :

Le homelab permettra de comparer ces deux approches avant de retenir celle qui intĂ©grera l’environnement de production avec bien sĂ»r un article dĂ©diĂ© pour dĂ©tailler ce comparatif.

Je prĂ©vois aussi la mise en place d’une solution d’Alerting pour ĂȘtre notifiĂ© avant qu’une panne devienne un problĂšme. L’objectif est de mettre en place des alertes intelligentes, pas trop nombreuses pour ne pas crĂ©er du bruit, mais suffisamment prĂ©cises pour intervenir avant qu’une situation dĂ©gradĂ©e ne devienne une vraie panne. Le canal de notification qu’il soit par email, par notification mobile, ou message sur Discord ou Telegram par exemple, sera expĂ©rimentĂ© dans le homelab pour trouver ce qui convient le mieux au quotidien.
Je mettrai quand mĂȘme quelques limites : pas d’astreinte de nuit ! 😅 Les alertes seront dimensionnĂ©es en consĂ©quence pour signaler, tracer, et traiter le lendemain matin.
Premiers candidats au banc d’essai : Alertmanager, Grafana Alerting, ntfy, Gotify

Enfin un service d’Uptime Monitoring sera Ă  installer pour vĂ©rifier qu’un service rĂ©pond correctement depuis l’extĂ©rieur, et pas seulement qu’il tourne en interne. C’est la diffĂ©rence entre “le serveur est dĂ©marrĂ©â€ et “le service est rĂ©ellement accessible et fonctionnel pour mes utilisateurs”.
Premiers candidats au banc d’essai : Uptime Kuma, Gatus, Healthchecks.io

Je souhaite également pouvoir monitorer ma consommation électrique et la mesurer dans mon infrastructure, prise par prise.

Pour finir, c’est ici que les notions SRE (SLI, SLO et Budget d’Erreur) vont apparaĂźtre pour mesurer, suivre et gĂ©rer la fiabilitĂ© de mon infrastructure.

Services & Applications

Toutes les couches vues précédemment existent pour une bonne raison : héberger des services utiles au quotidien, pour moi et ma famille. On retrouvera ici les applications que mes utilisateurs vont réellement utiliser.
Mon approche sera de privilĂ©gier les solutions open source Ă  chaque fois que c’est possible, pour des raisons de confidentialitĂ©, de contrĂŽle des donnĂ©es, de coĂ»t, mais aussi parce que la communautĂ© open source produit aujourd’hui des alternatives sĂ©rieuses aux grands services cloud du marchĂ©.
Voici les premiers services qui trouveront naturellement leur place dans mon architecture cible, une fois les fondations posées :

L’univers du self-hosting offre des possibilitĂ©s infinies et de quoi remplir un backlog sans fond ! L’avenir de đŸŒ PandaCyberLab.dev est assurĂ©.
Chaque service fera l’objet d’un article dĂ©diĂ©, depuis son installation et son test dans le homelab jusqu’à son dĂ©ploiement en production s’il convient Ă  mon projet.

A suivre

Avoir une cible, c’est bien, mais comment y parvenir ? Dans la troisiĂšme et derniĂšre partie, nous verrons concrĂštement comment matĂ©rialiser ce projet Ă  travers une roadmap stratĂ©gique.


Partager cet article :

Article suivant
Partir de zéro pour poser les fondations [3/3] - Plan d'action : la roadmap du projet
Article précédent
Partir de zéro pour poser les fondations [1/3] - S'appuyer sur des références et état des lieux de l'Architecture actuelle