Système
Hébergement web en architecture 3-tiers
Nginx, PHP-FPM et MariaDB dans un conteneur Debian pour héberger un site WordPress, avec une page de connexion restreinte à une liste d'adresses.
Problème
Héberger un site WordPress en séparant clairement les rôles : réception des requêtes, exécution du code, stockage des données. La page d'administration, cible habituelle des attaques par force brute, devait en plus être protégée.
Architecture

Trois couches : Nginx sert les fichiers statiques et reçoit les requêtes, PHP-FPM exécute le code, MariaDB stocke les données. Les trois couches tournent ici dans un même conteneur Debian sous Proxmox.
Mise en œuvre
Services


- Un utilisateur MariaDB dédié au site, jamais
root. - Services démarrés automatiquement (
systemctl enable). - Configuration découpée en snippets réutilisables.
Restreindre la page de connexion

Dans Nginx, wp-login.php est isolé dans son propre bloc pour n'autoriser qu'une liste blanche d'adresses IP. Les fichiers statiques (images, CSS, polices) sont mis en cache longtemps et n'alourdissent pas les journaux.
location ~ \.php$ {
location ~ \wp-login.php$ {
include snippets/Authorized_IPs.conf; # liste blanche
include snippets/php.conf;
}
include snippets/php.conf;
}Limites et pistes d'amélioration
- Les trois couches partagent un seul conteneur : c'est une séparation logique, pas physique. Une panne du conteneur arrête le site, la base comprise, et il n'y a ni réplication ni répartition de charge.
- La liste blanche d'adresses suppose des adresses d'administration fixes ; elle est à maintenir à la main.
Compétences du référentiel mobilisées
- Mettre à disposition un service informatique
- Sécuriser les équipements et les usages
- Installer et configurer des services web