Pular para o conteúdo principal

Politique de mots de passe

Les règles sont codées dans le backend ; aucune variable d'environnement ne les modifie.

Règles selon le parcours​

Deux jeux de règles coexistent aujourd'hui :

ParcoursRègles appliquées
Changement par l'utilisateur (Mon profil → Sécurité)8 caractères au moins, une majuscule, une minuscule, un chiffre (ProfileController)
Réinitialisation par lien « mot de passe oublié »règles complètes ci-dessous (PasswordPolicyService). Défaut connu : le service appelle une méthode validatePassword qui n'existe pas, ce parcours échoue donc à l'enregistrement du nouveau mot de passe tant que le code n'est pas corrigé
Création d'un compte ou nouveau mot de passe saisi par un administrateur (Paramètres → Utilisateurs)aucune vérification de force
Commande app:reset-user-passwordaucune vérification de force

Règles complètes de PasswordPolicyService :

CritèreExigence
Longueur12 à 128 caractères
Compositionau moins une majuscule, une minuscule, un chiffre et un caractère spécial
Mots de passe courantsrefusés, y compris contenus dans le mot de passe (liste d'environ cent mots de passe connus)
Répétitions et suitestrois caractères identiques à la suite, ou une suite comme 123 ou 987, refusés
Informations personnellesle nom, le prénom et la partie locale de l'adresse e-mail ne doivent pas y figurer
À harmoniser

Un administrateur qui crée un compte doit choisir lui-même un mot de passe conforme aux règles complètes : le système ne le vérifie pas. Ce mot de passe part en clair dans l'e-mail de bienvenue, et l'écran de création ne propose pas d'imposer un changement à la première connexion : demander à l'utilisateur de le remplacer aussitôt dans Mon profil → Sécurité.

Expiration​

ParamètreValeur
Durée de validité90 jours après le dernier changement
Avertissementà partir de 14 jours avant l'échéance
Effetl'état (passwordExpired, mustChangePassword, jours restants) est renvoyé à la connexion ; le frontend redirige vers le profil quand le changement est obligatoire

Un compte sans date de dernier changement est signalé comme expiré. Seul le changement obligatoire redirige l'utilisateur vers son profil ; une simple expiration ne bloque pas la connexion.

Verrouillage​

Cinq échecs de connexion verrouillent le compte pendant 30 minutes. Voir Limitation des requêtes pour le déverrouillage.

Stockage​

Les mots de passe sont hachés en bcrypt par le composant de sécurité de Symfony. Aucun mot de passe en clair n'est stocké ni journalisé.

Bonnes pratiques d'exploitation​

  • Ne jamais transmettre un mot de passe par messagerie ou dans un ticket ; préférer le lien de réinitialisation ou le lien magique.
  • Ne jamais écrire un mot de passe dans cette documentation, dans le dépôt ou dans un script.
  • Désactiver un compte plutôt que le supprimer quand une personne quitte le projet (traçabilité de l'audit).