carlo.yznardo
lang=|
← Back to blog
LinuxApril 23, 2024/architecture-du-reseau-comment-jai-construit-et-securise-mon-site-web-avec-des-conteneurs-docker.mdx

$ cat Architecture du réseau : Hébergement de ce site web avec des Docker et Cloudflare

Schéma du Réseau: Pour créer ce site web tout en assurant sa sécurité, j’ai suivi une série d’étapes méticuleuses, principalement en m’appuyant sur la conteneurisation avec Docker. Le site étant déjà en ligne, je vais reconstruire les étapes que j’ai suivies p…

Schéma du Réseau:

Pour créer ce site web tout en assurant sa sécurité, j’ai suivi une série d’étapes méticuleuses, principalement en m’appuyant sur la conteneurisation avec Docker. Le site étant déjà en ligne, je vais reconstruire les étapes que j’ai suivies pour illustrer mes actions et décisions.

Une image récente du serveur qui fait tourner ce site web:

Installation initiale et précautions de sécurité:

J’ai commencé par installer Debian 12 sur un ordinateur portable. Bien que j’aurais pu installer WordPress directement après cela, j’ai opté pour une approche plus sécurisée compte tenu de la connexion directe avec mon réseau personnel. Pour renforcer la sécurité, j’ai utilisé un ancien pare-feu que j’avais sous la main, un Zyxel USG20. Après avoir créé une zone démilitarisée (DMZ), il était encore nécessaire de renforcer la sécurité pour éviter tout problème potentiel.

Par la suite, j’ai acquis le domaine Yznardo.com et l’ai configuré sur Cloudflare. Cloudflare joue un rôle crucial puisqu’il agit comme un mandataire pour les requêtes dirigées vers mon site, ce qui aide à me protéger contre les attaques par déni de service (DDoS) et à masquer mon adresse IP privée sur Internet.

Utilisation de Docker pour une gestion flexible et sécurisée:

C’est ici qu’intervient Docker. J’ai créé trois containers d. Le premier container est dédié à NGINX, utilisé comme proxy inverse. Ce setup permet de traiter toutes les requêtes entrantes et de les rediriger en conséquence, ce qui simplifie la gestion des certificats SSL puisque un seul certificat est nécessaire pour tous mes sites web.

Ensuite, j’ai mis en place un container Docker pour WordPress. L’utilisation de Docker pour WordPress améliore la sécurité et simplifie la gestion de l’application en la gardant isolée des autres composants du réseau.

Finalement, j’ai choisi de séparer la base de données SQL en plaçant celle-ci dans un autre container Docker. Cette séparation garantit une meilleure isolation des données et optimise les performances en distribuant les charges sur des services spécialisés.

Conclusion:

Cette architecture me permet non seulement de maintenir un haut niveau de sécurité mais également de bénéficier de la flexibilité et de l’efficacité des containers pour une gestion optimale du site web.