Politique de sécurité
Sommaire
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
HttpOnlyetSameSite=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
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.
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 Solution | L'É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 | ✓ | ✓ |
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.
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 à :
- Contenir l'incident dans les plus brefs délais (isolation, blocage des accès concernés)
- Évaluer l'étendue et la nature des données potentiellement affectées
- Notifier les établissements concernés dans un délai de 72 heures après confirmation de l'incident
- Remédier en appliquant les correctifs nécessaires
- 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.