Je suggérerais d'utiliser un peu de calcul qui tient compte de la complexité minimale de votre mot de passe, de la vitesse à laquelle un attaquant pourrait deviner les mots de passe, du nombre de comptes déverrouillés dont vous disposez et de certaines informations informées sur vos risques.
J'espère que vous avez une sorte de limitation de débit pour la devinette des mots de passe. En règle générale, ce serait via quelque chose qui verrouille temporairement les comptes après un certain nombre de mauvais mots de passe.
Et j'espère que vous avez une sorte d'exigences de complexité de mot de passe afin que "A" et "mot de passe" ne soient pas autorisés.
Supposons qu'après 30 échecs de mot de passe en 10 minutes, vous verrouillez un compte pendant 20 minutes. Cela limite efficacement le taux de devinettes des mots de passe à 174 par heure, soit 4176 par jour. Mais supposons que c'est par utilisateur.
Supposons que vous ayez besoin de mots de passe de plus de 8 caractères contenant des chiffres supérieur, inférieur et un nombre, et que vous effectuez des vérifications de dictionnaire pour vous assurer que ces mots de passe sont raisonnablement aléatoires. Dans le pire des cas, vos utilisateurs mettent tous l'un en haut et un numéro au même endroit et votre attaquant le sait, vous avez donc 10 * 26 ^ 7 (80G) mots de passe possibles. Le meilleur cas est 62 ^ 8 (218T).
Ainsi, un attaquant essayant tous les mots de passe possibles les toucherait tous dans les 50 000 ans dans le pire des cas, et près de 600 millions de millénaires dans le meilleur des cas. Ou, pour le dire autrement, étant donné un an, ils auraient entre 1 sur 50 000 et 1 sur 52 000 000 000 de devinettes. Si vous avez une base d'utilisateurs de 50000, il est presque garanti que dans le pire des cas, ils accèderont à un compte par an et auront environ 50% de chances d'en obtenir un tous les 6 mois.
Et si vous n'aviez aucune limitation de débit et qu'un attaquant pourrait deviner un milliard de mots de passe par jour? Une chance sur 600 d'accéder à un compte en un an, ou une garantie virtuelle d'obtenir environ 80 de vos 50 000 utilisateurs chaque année.
Travaillez sur ce calcul et déterminez où se situe votre niveau de risque acceptable. Et rappelez-vous que plus vous le définissez court, plus il sera difficile pour les utilisateurs de se souvenir et plus ils seront susceptibles de le faire écrire dans un endroit pratique pour un attaquant sur place.
En prime: si quelqu'un essaie des milliers de mots de passe par utilisateur et par jour contre vos systèmes, j'espère vraiment que vous aurez une sorte de surveillance qui captera cela.
EDIT:
J'ai oublié de mentionner: notre politique actuelle est de 90 jours, mais cela a tout à voir avec les conclusions d'auditeurs de sécurité mal avisés et rien à voir avec la réalité.