Présentation de mon infrastructure auto-hébergé

Introduction

Bienvenue dans cet article où je vais vous présenter mon infrastructure auto-hébergé avec les services que j’utilise.

Vous trouverez également un lien vers mes articles détaillant l’installation et la construction de cette infrastructure, étape par étape !

Pour commencer, explorons ce qu’est l’auto-hébergement et les objectifs pour lesquels j’ai entrepris cette démarche.

L’auto-hébergement consiste à gérer et à maintenir ses propres services informatiques et applications sur son propre matériel, plutôt que de les confier à des fournisseurs de services tiers. Cela signifie que nous sommes responsables de l’installation, de la configuration, de la sécurisation et de la maintenance de tous les logiciels et services que nous utilisons.

Voici une liste des avantages de l’auto-hébergement :

  • Contrôle total sur vos données et indépendance
  • Personnalisation selon vos besoins spécifiques
  • Avantage financier, en évitant les frais mensuels de location de VPS, bien que les coûts liés à l’électricité doivent être pris en compte
  • Opportunité d’apprentissage et de développement de compétences sur des technologies spécifiques

Cependant, malgré ces avantages, il est important de reconnaître certains inconvénients :

  • Le déploiement, la maintenance et la gestion d’une infrastructure auto-hébergée exigent beaucoup de temps et d’efforts.
  • Une bande passante importante est nécessaire si vous souhaitez déployer certains de vos services sur Internet.
  • Dépendance à l’électricité et à Internet : en cas de panne de courant, il est nécessaire de remettre votre infrastructure en marche aussi rapidement et simplement que possible.
  • Risque de sécurité : En exposant certains de vos services, vous vous risquez à des attaques en ligne et à la perte de données si les mesures de sécurité ne sont pas correctement mises en place et maintenues.

Schéma

Ci-dessous l’infrastructure que je prévois de déployer :

Le schéma est segmenté en trois réseaux avec le pare-feu pfSense comme point central :

  • LAN (192.168.1.0/24) : Il correspond à mon réseau domestique, fourni par ma box Orange. Les appareils de ce réseau utiliseront la box comme passerelle et serveur DHCP. Cela inclut mon ordinateur personnel, l’hyperviseur Proxmox et mon NAS Synology.
  • VM Network : Ce réseau, avec l’adresse 192.168.100.0/24, hébergera trois machines virtuelles sous Debian. La première, nommée « devops », utilisera Terraform et Ansible pour le déploiement automatisé et l’administration SSH. Les autres, « docker-app » et « docker-sec, accueilleront divers services avec docker compose.
  • DMZ : Un seul serveur virtuel sur le réseau 10.0.0.0/24 sera hébergé ici, il hébergera un reverse proxy et une plateforme d’authentification.

Objectifs

Mes objectifs sont simples. Dans un premier temps, je souhaite acquérir des compétences et me former sur certaines technologies spécifiques :

  • DevOps : Apprendre le déploiement automatisé de machines virtuelles ou de logiciels afin d’éliminer les tâches redondantes. Rien n’est plus frustrant pour un informaticien que de devoir effectuer les mêmes actions à plusieurs reprises.
  • Sécurité : J’ai l’intention d’approfondir mes connaissances en matière de sécurité réseau et de me défendre en utilisant des outils tels que pfSense, Wazuh et SWAG pour assurer la protection de mon infrastructure.
  • Mise en ligne de services : Je souhaite apprendre à mettre en ligne de manière sécurisée mes contenus multimédias en utilisant des plateformes telles que Jellyfin et un service de cloud comme Nextcloud, pour partager avec mes amis et ma famille.
  • Gestion de mon serveur : J’ai l’envie de prendre en charge la gestion de mon serveur moi-même mais aussi pour acquérir une compréhension approfondie de son fonctionnement et de sa maintenance sur le long terme.
  • Apprentissage de nouvelles technologies : Je suis intéressé à explorer de nouvelles technologies telles que Proxmox, Docker, Zabbix/Grafana, et d’autres que l’on peut retrouver dans le monde professionnel afin d’élargir mes compétences et rester à jour dans un domaine en constante évolution.

Matériels


Pour mon infrastructure, j’aurai besoin de deux machines principales :

  • NAS Synology DS120j : Actuellement, je possède un NAS Synology DS120j à une seule baie, équipé d’un disque de 16To. Ce NAS est utilisé pour héberger divers fichiers tels que des ISO, des fichiers multimédias pour Plex et des données pour Nextcloud. Il est très économe en énergie et je réalise des sauvegardes hebdomadaires sur un lecteur USB externe pour assurer la sécurité de mes données.

Vous pouvez trouver plus de détails sur ce NAS via cet URL : https://www.synology.com/fr-fr/products/DS120j.

  • Intel NUC Tiger Canyon NUC11TNHI50Z Barebone : J’ai également en ma possession un mini-ordinateur de la gamme Intel que j’ai acquis en 2022 et que j’utilisais précédemment pour mes travaux pratiques avec ESXi en version gratuite. Cependant, je me suis senti limité dans mes possibilités, notamment pour la création de clusters, l’utilisation de Veeam pour les sauvegardes, et l’usage de Terraform. À la suite du rachat de VMware par Broadcom, j’ai été motivé pour découvrir Proxmox. Ce PC est également peu gourmand en énergie, silencieux et robuste. Il est équipé d’un disque NVMe de 128 Go pour le système d’exploitation et d’un disque SATA de 1 To pour les machines virtuelles.

Vous pouvez trouver plus d’informations sur ce produit via ce lien : https://www.amazon.fr/gp/product/B09WVSPYVF/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1.

Présentation et déploiement des services

Installation et configuration de Proxmox

Installation et configuration de Proxmox

Configuration des sauvegardes avec Proxmox Backup Server

Installation et configuration de Pfsense

Installation et configuration de Pfsense

Déploiement d’un template sur Proxmox avec cloud-init

Déploiement d’un template sur Proxmox avec cloud-init

Déploiement des machines virtuelles avec Terraform

Déploiement des machines virtuelles avec Terraform sur Proxmox

Installation de docker compose via ansible

Installation de docker compose via ansible

Installation et configuration de Jellyfin

Installation de Jellyfin avec docker compose

Installation et configuration de Nextcloud

Installer NextCloud avec Docker

Installation et configuration de SWAG

Installation de SWAG avec docker compose

Configuration du blocage IP avec le reverse proxy SWAG

Installation du dashboard de SWAG

Installation et configuration de Zabbix

Installation de Zabbix et Grafana

Installation et configuration de Wazuh

Installation de Wazuh sur debian

Installation de l’agent Wazuh

Configuration du scan de vulnérabilité sur Wazuh

Configuration de DuckDNS

A venir

Mise en ligne des services

A venir

Améliorations

Pour mes futurs projets, j’envisage plusieurs améliorations pratiques afin d’assurer la disponibilité et la gestion optimale de mon infrastructure :

  • VPN : Mettre en place un VPN sur Pfsense pour accéder à mon réseau domestique de manière sécurisée depuis l’extérieur.
  • Haute disponibilité/Cluster des services et données : Mettre en place une architecture haute disponibilité avec un second hôte pour assurer la redondance et la disponibilité continue de mes services et données, réduisant ainsi les temps d’arrêt et les interruptions.
  • Messagerie : Déployer un serveur de messagerie pour gérer mes propres comptes de messagerie électronique avec mon domaine dans le but de monter en compétence.
  • Bloqueur de pub : Intégrer un bloqueur de publicités pour améliorer l’expérience de navigation pour les membres du réseau LAN.
  • Home Assistant : Intégrer Home Assistant pour la gestion centralisée et l’automatisation de divers appareils et services domestiques.
  • Bastion d’administration : Mettre en place un bastion d’administration pour sécuriser l’accès à distance à mes serveurs et infrastructures, renforçant ainsi la sécurité globale de mon système. Je n’ai pas encore tranché entre Téléport et Apache Guacamole.
Retour en haut