🔒
Confidentialité
Vos données ne sont accessibles qu'aux personnes autorisées
🛡️
Intégrité
Les données ne peuvent être modifiées que par des actions légitimes
Disponibilité
Le service reste accessible quand vous en avez besoin

Sommaire

  1. Authentification et contrôle d'accès
  2. Chiffrement des données
  3. Protection contre les attaques web
  4. Journalisation et surveillance
  5. Sauvegardes
  6. Gestion des mises à jour
  7. Responsabilités partagées
  8. Signalement d'une vulnérabilité
  9. Réponse aux incidents
  10. Contact sécurité

1. Authentification et contrôle d'accès

Système de rôles

SchoolMaster implémente un contrôle d'accès basé sur les rôles (RBAC). Chaque utilisateur ne peut accéder qu'aux données et fonctionnalités correspondant strictement à son rôle : super_admin, directeur, secrétaire, comptable, enseignant, élève.

  • Vérification du rôle à chaque requête, côté serveur
  • Isolation des données entre rôles (un enseignant ne voit pas les données financières)
  • Accès administrateur réservé aux comptes explicitement désignés

Mots de passe

  • Stockage des mots de passe avec hachage bcrypt (coût adaptatif) — jamais en clair
  • Politique de mot de passe minimale : 8 caractères, mélange de lettres et chiffres recommandé
  • Changement de mot de passe forcé possible par l'administrateur
  • Réinitialisation sécurisée par token à usage unique

Sessions

  • Sessions PHP avec identifiants aléatoires régénérés à la connexion
  • Expiration automatique après inactivité
  • Déconnexion complète détruisant la session côté serveur
  • Cookie de session avec attribut HttpOnly et SameSite=Strict

2. Chiffrement des données

  • Toutes les communications entre le navigateur et le serveur sont chiffrées via HTTPS / TLS 1.2+
  • Les mots de passe sont hachés avec bcrypt avant stockage en base de données
  • Les sauvegardes sont stockées dans des emplacements protégés par accès restreint
  • Les emails envoyés via SMTP utilisent le chiffrement STARTTLS
Aucun mot de passe, numéro de carte bancaire ou donnée sensible équivalente n'est jamais stocké en clair dans la base de données.

3. Protection contre les attaques web

Injections SQL

Toutes les interactions avec la base de données utilisent des requêtes préparées PDO avec paramètres liés. Aucune construction dynamique de requête à partir d'entrées utilisateur.

Cross-Site Scripting (XSS)

Toutes les données affichées dans les pages HTML sont systématiquement échappées avec htmlspecialchars(). Les en-têtes Content-Security-Policy limitent les sources de scripts autorisées.

Cross-Site Request Forgery (CSRF)

Les formulaires sensibles (modifications, suppressions, paiements) sont protégés par des tokens CSRF à usage unique, vérifiés côté serveur à chaque soumission.

Autres protections

  • En-têtes de sécurité HTTP : X-Frame-Options, X-Content-Type-Options, Referrer-Policy
  • Validation et assainissement de toutes les entrées utilisateur
  • Limitation des tentatives de connexion (protection contre le brute-force)
  • Aucun message d'erreur technique exposé à l'utilisateur final
  • Répertoires sensibles non accessibles directement depuis le web

4. Journalisation et surveillance

SchoolMaster enregistre les événements de sécurité suivants :

  • Connexions réussies et échouées (avec horodatage et adresse IP)
  • Modifications de données sensibles (notes, paiements, données personnelles)
  • Actions administratives (création/suppression de comptes, changements de permissions)
  • Tentatives d'accès non autorisé à des ressources protégées

Ces journaux sont conservés 12 mois et accessibles uniquement aux super-administrateurs. Ils ne sont jamais exposés à des utilisateurs de rôle inférieur.

En cas d'incident, les journaux permettent de reconstituer précisément la séquence d'événements et d'identifier l'origine du problème.

5. Sauvegardes

  • Sauvegardes automatiques de la base de données
  • Conservation des sauvegardes sur une période glissante de 30 jours
  • Stockage des sauvegardes dans un emplacement séparé du serveur principal
  • Procédure de restauration testée régulièrement

Il est également fortement recommandé à chaque établissement d'effectuer ses propres exports réguliers depuis la plateforme (listes élèves, bulletins, rapports financiers) afin de conserver une copie locale indépendante.

6. Gestion des mises à jour

SchoolMaster Solution s'engage à :

  • Appliquer les correctifs de sécurité critiques dans les 72 heures suivant leur identification
  • Maintenir les dépendances logicielles (PHP, bibliothèques) à jour
  • Effectuer des revues de code régulières orientées sécurité
  • Réaliser des audits de sécurité périodiques

Les mises à jour non urgentes sont déployées lors de fenêtres de maintenance annoncées à l'avance.

7. Responsabilités partagées

La sécurité est une responsabilité partagée entre SchoolMaster Solution et chaque établissement.

ResponsabilitéSchoolMaster SolutionL'Établissement
Sécurité du code applicatif
Sécurité de l'infrastructure serveur
Chiffrement des communications
Gestion des comptes utilisateurs
Désactivation des ex-employés
Robustesse des mots de passe choisis
Sécurité des postes de travail locaux
Signalement des incidents
L'action de sécurité la plus efficace côté établissement est de désactiver immédiatement les comptes des personnes quittant l'institution (enseignants, secrétaires, administrateurs).

8. Signalement d'une vulnérabilité

Si vous découvrez une vulnérabilité de sécurité dans SchoolMaster, nous vous remercions de nous le signaler de manière responsable avant toute divulgation publique.

Comment signaler

  • Email : contact@schoolmastersolution.com avec l'objet [SECURITE]
  • Décrivez la vulnérabilité, les étapes pour la reproduire et l'impact potentiel
  • N'exploitez pas la vulnérabilité au-delà de ce qui est nécessaire pour en démontrer l'existence

Nous nous engageons à accuser réception sous 48 heures, à vous tenir informé de l'avancement et à corriger les vulnérabilités confirmées dans les meilleurs délais.

Nous remercions les chercheurs en sécurité qui contribuent à rendre SchoolMaster plus sûr pour tous les établissements.

9. Réponse aux incidents

En cas d'incident de sécurité avéré (violation de données, accès non autorisé, compromission de compte), SchoolMaster Solution s'engage à :

  1. Contenir l'incident dans les plus brefs délais (isolation, blocage des accès concernés)
  2. Évaluer l'étendue et la nature des données potentiellement affectées
  3. Notifier les établissements concernés dans un délai de 72 heures après confirmation de l'incident
  4. Remédier en appliquant les correctifs nécessaires
  5. Documenter l'incident, ses causes et les mesures prises pour éviter sa répétition

Les établissements seront informés de la nature des données affectées, des risques potentiels et des mesures à prendre de leur côté (réinitialisation de mots de passe, notification des personnes concernées).

10. Contact sécurité

Pour tout signalement de sécurité ou question urgente :

  • Email : contact@schoolmastersolution.com — objet [SECURITE]
  • Téléphone : 3174-2197 / 3568-4329

Pour les questions non urgentes sur nos pratiques de sécurité, utilisez notre formulaire de contact.