Retour aux projets

PHP/MySQL et Cybersécurité

12/12/25

Projet de groupe : sécurisation d'une application web PHP sur un serveur Linux hébergé sur Proxmox : hôte virtuel Apache, réécriture d'URL, routeur avec pages protégées et authentification via le patron DAO.

PHP MySQL Apache Rocky Linux Proxmox Réécriture d'URL

Contexte

Projet de groupe réalisé en décembre 2025 en cours de cybersécurité, dans la continuité du projet d'application web. Le principe : repartir de zéro pour reconstruire le portail de connexion en intégrant la sécurité dès la conception. Le serveur tournait sur une machine virtuelle hébergée sur l'hyperviseur Proxmox fourni par notre professeur.

Objectifs

  • Configurer un hôte virtuel Apache dédié au site
  • Faire passer toutes les requêtes par un point d'entrée unique grâce à la réécriture d'URL
  • Mettre en place un routeur qui protège les pages réservées aux utilisateurs connectés
  • Gérer l'authentification avec le patron de conception DAO et les sessions
  • Aller vers le chiffrement des mots de passe, la journalisation de l'activité et le blocage de compte après plusieurs échecs

Réalisation

  • Serveur : création du dossier du site avec les droits de l'utilisateur Apache, hôte virtuel cyber.sec, et configuration pour qu'il soit le site par défaut quand on accède au serveur par son adresse IP
  • Réécriture d'URL : règles RewriteRule qui renvoient toute adresse inexistante vers index.php, pour empêcher d'accéder directement à une page en tapant son nom
  • Routeur : tableau de routes publiques et de routes réservées aux utilisateurs connectés, avec redirection vers l'accueil si la session n'est pas ouverte et une réponse pour les adresses inconnues
  • Structure : page découpée en en-tête, menu, contenu et pied de page, avec des espaces de noms PHP
  • Authentification : vérification des identifiants en base via un DAO et une requête préparée, puis ouverture d'une session

Compétences mobilisées

  • Gérer le patrimoine informatique : configuration d'Apache et d'un hôte virtuel sur un serveur Linux
  • Répondre aux incidents et aux demandes : débogage des règles de réécriture et des redirections
  • Développer la présence en ligne : développement d'une application web sécurisée
  • Travailler en mode projet : travail en groupe sur un TP en plusieurs étapes
  • Organiser son développement professionnel : découverte des menaces qui visent les applications web et des moyens de s'en protéger

Captures d'écran

À compléter : ajouter ici les captures du projet (dossier src/screen projets).

Bilan

Ce TP m'a fait comprendre qu'une application web se sécurise à plusieurs niveaux : le serveur, les adresses accessibles et le code. La réécriture d'URL et le routeur empêchent d'atteindre une page protégée simplement en tapant son adresse.

Nous n'avons pas eu le temps de terminer toutes les étapes : il resterait à chiffrer les mots de passe en base (RGPD), à enregistrer l'activité des utilisateurs pour la non-répudiation, et à bloquer un compte après trois tentatives échouées en cinq minutes.