Fait avec Chinaski

Problèmes de connexion & auth

Bloqué hors de l'admin, ou quelque chose d'étrange se produit avec vos sessions ? Cette page couvre les problèmes d'accès courants et comment chacun est corrigé. Dans tous les cas le site statique continue de tourner ; ces problèmes n'affectent que l'accès à l'interface d'admin.

"Too many attempts, please try again later"

Trop de tentatives de connexion échouées depuis une adresse IP déclenchent des verrouillages gradués qui persistent à travers les redémarrages :

  • Après 5 échecs : attente de 60 secondes
  • Après 10 échecs : attente de 5 minutes
  • Après 20 échecs : attente de 30 minutes

Le compteur est par adresse IP, donc plusieurs personnes derrière un même bureau ou VPN le partagent. Une connexion réussie le remet à zéro, et les enregistrements de tentatives périmés s'effacent d'eux-mêmes. Chaque tentative (succès, échec ou blocage) est enregistrée dans l'onglet Auth Log de la page Health, et l'historique de connexions par utilisateur est atteignable depuis les pages Users.

Vous pouvez aussi activer les alertes : quand le seuil d'échecs de l'onglet Security (défaut 20) est atteint en 10 minutes, un événement d'erreur est journalisé, et le premier de ces événements dans une heure envoie un email à l'adresse fixée pour les notifications de build.

Il dit "Invalid credentials", mais je tape le bon mot de passe

Ce message couvre plusieurs situations :

  • Compte suspendu. La suspension révoque aussi toutes les sessions existantes. La tentative de connexion est journalisée comme bloquée.
  • Mot de passe expiré. Si l'expiration des mots de passe est activée (Settings → Security), un vieux mot de passe ne vous connecte plus : vous êtes envoyé vers votre page Account avec "Your password has expired. Please change it now." Fixez-en un nouveau là.
  • Mauvais mot de passe: délibérément indiscernable d'un nom d'utilisateur inconnu, et les deux donnent un court délai avant que l'erreur soit affichée.

J'ai perdu le mot de passe admin

Depuis le shell du serveur, lancez perl bin/reset-admin.pl [username] (défaut : l'admin au numéro le plus bas). Le compte cible retourne à l'état placeholder, et la prochaine requête vers l'admin est redirigée vers /setup, qui est l'endroit où vous fixez le nouveau mot de passe. Une fois l'installation terminée, cette page disparaît (404) ; c'est le comportement attendu, et il ne se reproduit pas tant que le compte n'est pas réinitialisé de nouveau. L'installation exige un mot de passe d'au moins 12 caractères avec majuscules, minuscules et un chiffre ; vous y choisissez aussi la langue de l'UI et les langues initiales.

Mot de passe oublié, en libre-service (l'email doit être configuré)

L'option mot de passe oublié du formulaire de connexion envoie par email à la personne propriétaire du nom d'utilisateur ou de l'adresse email un lien de réinitialisation, valable 24 heures. La réponse est délibérément toujours "If an account with that username or email exists, a reset link has been sent." ; pour que quelqu'un qui pêche au nom d'utilisateur ne puisse pas savoir si un compte existe. Chaque nouvelle demande de réinitialisation invalide les précédentes, et chaque lien ne fonctionne qu'une fois et seulement avant son expiration de 24 heures. S'il dit que le lien est invalide ou expiré, demandez-en un nouveau.

Votre session a été invalidée

Visiter /admin peut soudainement vous faire atterrir sur /login avec "Your session was invalidated. Please log in again." Cela arrive quand une session est révoquée côté serveur ; en jeu :

  • les durées de session : 8 heures par défaut, ou 30 jours si « Remember me » du formulaire de connexion était coché
  • changer votre mot de passe invalide les sessions ouvertes avec l'ancien mot de passe ; votre session courante survit
  • sur votre page Account vous pouvez invalider vos sessions, ce qui conserve la courante et retire les plus anciennes
  • un admin peut révoquer les sessions d'un utilisateur spécifique une par une ou invalider d'un coup toutes les sessions d'un utilisateur, sauf les siennes propres, qui doivent être gérées depuis sa page Account

Les sessions enregistrent l'IP et le user agent du navigateur à chaque connexion, si bien qu'une activité suspecte peut être revue sur les pages sessions et auth-log de l'utilisateur.

Installations fraîches qui n'arrivent pas à entrer

Une nouvelle installation finit dans le même état qu'un mot de passe réinitialisé : l'admin placeholder ne peut pas se connecter tant que /setup n'a pas été exécuté une fois, remplaçant le placeholder (ensuite, /setup renvoie 404).

Si rien de tout cela ne correspond, rappelez-vous que le compteur de verrouillage est par adresse IP : plusieurs personnes se connectant derrière une même IP de bureau partagée ou un VPN peuvent se verrouiller mutuellement, et l'onglet Auth Log montre quelles IP ont été bloquées.

Lisez ce site en