Sécurité
Sécurité et protection technique
Notre approche pour réduire les risques liés à un logiciel manipulant des informations sensibles, sans transformer une pratique technique en certification.
Dans cette page
1. Une démarche continue
La sécurité d’un système destiné aux cabinets médicaux doit être abordée comme un processus continu : prévention, contrôle des accès, surveillance, correction, sauvegarde et préparation aux incidents.
2. Mesures démontrables dans le frontend actuel
Séparation des rôles
Les espaces médecin, réceptionniste et administrateur sont séparés et contrôlés par un RoleGuard qui vérifie le profil et le rôle.
Protection CSRF
Les requêtes d’écriture sont conçues pour envoyer un token X-CSRFToken obtenu depuis le cookie CSRF.
Gestion de session
Les requêtes authentifiées utilisent credentials: include et le frontend est conçu pour une gestion serveur des éléments de session sensibles.
Redirections internes
Les destinations post-authentification sont contrôlées afin de rester dans les routes internes prévues.
Assainissement HTML
SafeHtml utilise DOMPurify et interdit plusieurs tags/attributs dangereux tels que script, iframe, object, embed et srcdoc.
GET sans cache
Les requêtes sensibles passant par secureFetch utilisent cache: no-store dans l’implémentation analysée.
Ces protections sont des éléments observables de l’architecture frontend. Elles doivent être complétées par des contrôles d’autorisation côté serveur : une restriction d’interface ne doit jamais être la seule barrière empêchant l’accès à une ressource.
3. Mesures à confirmer côté backend et infrastructure
- TLS obligatoire et configuration exacte ;
- chiffrement au repos de la base, des fichiers et des sauvegardes ;
- gestion des clés et des secrets ;
- stratégie de mots de passe et MFA réelle ;
- politique d’expiration des sessions et alertes de connexion ;
- pare-feu, segmentation, WAF, IDS/SIEM le cas échéant ;
- sauvegardes, tests de restauration, PRA/PCA ;
- scans de dépendances, tests d’intrusion et politique de correctifs ;
- journalisation centralisée et processus d’incident ;
- règles d’accès du personnel technique aux données de production.
4. Protection des données sensibles
Une donnée d’identification telle que la CIN ne doit pas être décrite comme « hashée et lisible » : un hash est normalement irréversible. Tant que le mécanisme exact n’est pas audité, la formulation publique reste neutre : contrôles d’accès et mesures de protection adaptées à la sensibilité.
5. Accès internes, traçabilité et audit
Les accès techniques à la production doivent être limités aux personnes habilitées et aux besoins légitimes d’administration, support ou sécurité. Les pratiques de contrôle, journalisation et révocation doivent être documentées en interne.
Le produit possède déjà une logique de traçabilité métier côté médecin et une architecture d’audit/monitoring côté administrateur en partie préparée. Il n’est donc pas annoncé ici qu’un audit exhaustif de toutes les opérations est déjà garanti.
6. Signaler un problème de sécurité
Utilisez la page Signaler une vulnérabilité. Ne transmettez pas un dossier patient complet ou des données médicales inutiles par email pour démontrer un problème.
Le canal de sécurité doit permettre de traiter séparément une vulnérabilité technique, un incident de production et une simple demande de support, particulièrement lorsqu’un signalement pourrait contenir des éléments relatifs à des patients.
7. Références de bonnes pratiques
La CNDP fournit le cadre réglementaire marocain. Les ressources OMS et OWASP sont citées comme références de bonnes pratiques de sécurité et de gouvernance, sans suggérer qu’elles certifient ou approuvent CABIAX.
8. Vérifications techniques restantes
Avant de transformer cette page en annexe de sécurité contractuelle, un audit doit couvrir le backend, l’hébergement, les sauvegardes, la gestion des secrets, les accès administratifs et les services tiers.
- configuration TLS et cookies de session ;
- chiffrement de la base, des fichiers et des sauvegardes ;
- tests d’autorisation inter-cabinets ;
- sécurité des uploads ;
- monitoring, alerting et journalisation des accès techniques ;
- tests de restauration et procédure d’incident.
Pour une question produit, utilisez le support. Pour une question de sécurité ou de vulnérabilité, utilisez le canal dédié afin d’éviter de transmettre inutilement des données sensibles.