Aller au contenu

Politique de sécurité

Page Administration > Sécurité : règles appliquées à tous les comptes.

Champ Type Description
OTP obligatoire Choix Impose la configuration d'un second facteur (TOTP) à la prochaine connexion de chaque compte.
Durée maximale de session (heures) Nombre, 1 à 168 Temps écoulé depuis la connexion après lequel l'utilisateur est déconnecté, même s'il travaille en continu. Défaut : 8 h.
Expiration après inactivité (heures) Nombre, 0 à 168 Déconnexion si l'utilisateur ne fait rien pendant cette durée. Défaut : 4 h. 0 désactive la limite ; minimum 0,25 h (15 min).

Durée maximale et inactivité

Les deux limites se cumulent : la première atteinte déconnecte l'utilisateur, qui est renvoyé vers la page de connexion à sa prochaine action.

  • La durée maximale est un compteur fixe, qui démarre à la connexion.
  • L'inactivité est un compteur remis à zéro à chaque action (clic, changement de page, recherche). Les rafraîchissements automatiques en arrière-plan — badge de la messagerie, statuts de synchronisation des connecteurs — ne comptent pas comme une activité.

Le cookie de session expire en outre côté navigateur au bout de 2 jours maximum.

Les deux valeurs sont prises en compte en quelques secondes, sans redémarrage. Une session ouverte avant l'activation de ces limites commence à être comptée à sa première requête. Se déconnecter, changer son mot de passe ou désactiver un compte met immédiatement fin aux sessions concernées, quelle que soit la durée restante.

Limitation des tentatives de connexion

La page de connexion compte les échecs, jamais les réussites :

  • par compte demandé : au 5ᵉ échec en 15 minutes, le compte est refusé pendant 15 minutes après son dernier échec ; 15 échecs en 24 heures sur le même compte le refusent pendant une heure ;
  • par adresse source : au 30ᵉ échec en 15 minutes (tous comptes confondus, c'est le cas d'un essai d'une même liste de mots de passe sur de nombreux comptes), l'adresse est refusée pendant 15 minutes.

Pendant un refus, la page répond « Trop de tentatives — réessayez plus tard » (HTTP 429, avec l'en-tête Retry-After), même avec le bon mot de passe, et le message est identique que le compte existe ou non. Les tentatives refusées ne sont pas comptées : elles ne prolongent pas le refus. Une connexion réussie remet à zéro le compteur du compte. Le refus est toujours temporaire, le super-admin compris : il ne peut pas être bloqué durablement.

Le code du second facteur (OTP) est limité de la même façon : 5 codes faux en 15 minutes pour un même utilisateur.

Le moment où un compte ou une adresse atteint sa limite est écrit au journal d'audit (module auth). Les seuils se règlent dans server.conf (LOGIN_MAX_FAILURES_USER, LOGIN_MAX_FAILURES_IP, LOGIN_LOCK_MINUTES, 0 = pas de limite) — voir server.conf.

Le temps de réponse est le même pour un compte local qui existe et pour un identifiant inconnu : il ne permet pas de deviner quels comptes existent.

Nom d'hôte, origine des requêtes et journaux de synchronisation

  • Nom sous lequel InfraRiver répond. Avec ALLOWED_HOSTS dans server.conf (Fichier de configuration du serveur), InfraRiver refuse (erreur 400) toute requête adressée à un autre nom que ceux de la liste : un appelant ne peut plus lui faire construire des liens vers un nom de son choix. Sans cette clé, rien n'est refusé et la page Administration > Système l'indique, avec la ligne à ajouter.
  • Requêtes venant d'un autre site. Une requête qui modifie quelque chose (envoi de formulaire, bouton) et que le navigateur déclare venir d'un autre site, y compris d'un sous-domaine voisin, est refusée (erreur 403). Les pages d'InfraRiver elles-mêmes, la saisie d'une adresse et les envois des collecteurs ne sont pas concernés. Le cookie de session porte SameSite=Lax : il accompagne la navigation vers InfraRiver (retour de la connexion unique), mais pas une requête envoyée depuis un autre site.
  • Journaux de synchronisation des connecteurs (« voir le log », « fichier complet », « télécharger ») : ils citent des serveurs, comptes et adresses de tout l'inventaire. Ils sont réservés aux comptes qui ont le droit de lecture sur tout l'inventaire ; un compte limité à « mes serveurs » reçoit l'erreur 403.
  • Noms de serveur. Un nom, un nom complet ou une adresse qui commence par - ou contient un caractère de contrôle est refusé à la saisie d'un serveur, et ignoré quand un connecteur ou un collecteur l'envoie : il n'est jamais transmis tel quel à un outil de connexion.