You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2024-03-17 15:21:43

marcori
Member
From: LAVAL
Registered: 2007-06-21
Posts: 40
Website

Comment activer la détection de BruteForce

Bonjour,

Après avoir mené une réflexion sur la bonne convention a adopter pour les identifiants :
https://forum.glpi-project.org/viewtopic.php?id=289616

Je m'interroge maintenant sur la possibilité offerte par GLPI pour détecter et bloquer les tentatives de BruteForce sur le formulaire d'identification.
Il existe dans la table glpi_users une colonne nommée "is_active".
Existe-il dans GLPI un automatisme qui soit activable selon les préférences des administrateurs et permettant de forcer la valeur de cette colonne à FALSE dès lors que le compte utilisateur a subit 3~4 (plus ou moins selon un paramètre) tentatives de connexion infructueuse ?

Cela serait d'une grande sécurité, principalement pour les hébergement mutualisés qui ne peuvent pas forcement accéder aux logs de connexion.

@ vous lire,
Marc-Henri


Marc-Henri PAMISEUX - Maine Services Informatique
Intégrateur de solutions Libre - Être Libre, c'est choisir.

Offline

#2 2024-03-18 13:22:52

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,430
Website

Re: Comment activer la détection de BruteForce

Il n'y a encore rien dans GLPI lui-même à ce sujet. Cependant, certaines fonctionnalités existent déjà pour aider à améliorer la sécurité des mots de passe et la prochaine version principale de GLPI inclura la prise en charge 2FA pour aider à améliorer encore plus la sécurité de connexion.

GLPI 10 offre déjà la possibilité d'imposer une longueur minimale de mot de passe, d'appliquer l'utilisation de lettres, de chiffres et de symboles, ainsi que l'expiration du mot de passe. Tous ces éléments peuvent être configurés dans Configuration > Général sous l’onglet Sécurité.

Les tentatives de connexion échouées sont enregistrées par GLPI et peuvent être consultées dans Administration > Journaux.


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

#3 2024-03-18 21:49:17

marcori
Member
From: LAVAL
Registered: 2007-06-21
Posts: 40
Website

Re: Comment activer la détection de BruteForce

Merci Curtis pour cette réponse.
Cependant, il n'existe pas de menu Administration > Journaux dans la version 10.0.14.
J'ai activé le mode Debug au cas où..


Marc-Henri PAMISEUX - Maine Services Informatique
Intégrateur de solutions Libre - Être Libre, c'est choisir.

Offline

#4 2024-03-19 01:07:10

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,430
Website

Re: Comment activer la détection de BruteForce

Bonjour,

S'il s'agit d'une nouvelle installation de GLPI en version 10.0.12, vous rencontrerez peut-être ce bug :
https://github.com/glpi-project/glpi/pull/16724

Vérifiez les autorisations de votre profil (Administration > Profils dans l'onglet Administration).


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

#5 2024-03-19 14:58:53

Strop784
Member
Registered: 2024-03-19
Posts: 4

Re: Comment activer la détection de BruteForce

Une detection de bruteforce se fait assez facilement côté serveur, pour bien vous répondre il faut savoir si vous avez la maitrise de ce serveur ou si il s'agit d'une instance CLOUD

cdlt

Offline

#6 2024-03-19 23:33:14

marcori
Member
From: LAVAL
Registered: 2007-06-21
Posts: 40
Website

Re: Comment activer la détection de BruteForce

Strop784 wrote:

Une detection de bruteforce se fait assez facilement côté serveur, pour bien vous répondre il faut savoir si vous avez la maitrise de ce serveur ou si il s'agit d'une instance CLOUD

cdlt

Merci de votre réponse.
Il s'agit d'une instance Cloud, c'est d'ailleurs pour ce motif que je m'intéresse de permettre cette possibilité. Car sans accès au système d'exploitation, il me faut me tourner vers l'applicatif lui-même. Ceci étant, ce n'est pas déconnant que l'applicatif prévoie cette fonctionnalité.


Marc-Henri PAMISEUX - Maine Services Informatique
Intégrateur de solutions Libre - Être Libre, c'est choisir.

Offline

#7 2024-03-19 23:42:07

marcori
Member
From: LAVAL
Registered: 2007-06-21
Posts: 40
Website

Re: Comment activer la détection de BruteForce

cconard96 wrote:

Bonjour,

S'il s'agit d'une nouvelle installation de GLPI en version 10.0.12, vous rencontrerez peut-être ce bug :
https://github.com/glpi-project/glpi/pull/16724

Vérifiez les autorisations de votre profil (Administration > Profils dans l'onglet Administration).

Merci Curtis,

Il s'agit d'une mise à jour en version 10.0.14 depuis une première version en 10.0.12.
Je viens d'aller voir ce fichier et les lignes que vous avez ajouté étaient déjà présentes dans le fichier
install/empty_data.php :
            [
                'profiles_id' => self::PROFILE_SUPER_ADMIN,
                'name' => 'system_logs',
                'rights' => READ,

            ],

De toutes façons, conformément à la procédure d'installation, le dossier glpi/install "n'existe plus"...
Concernant les autorisations de mon profil, j'étais connecté avec un compte du profil Super-Admin.
Cela ne me donne toujours pas accès au menu Administration > Journaux  ;-)


Marc-Henri PAMISEUX - Maine Services Informatique
Intégrateur de solutions Libre - Être Libre, c'est choisir.

Offline

#8 2024-03-21 19:26:35

marcori
Member
From: LAVAL
Registered: 2007-06-21
Posts: 40
Website

Re: Comment activer la détection de BruteForce

marcori wrote:

Bonjour,

Je m'interroge maintenant sur la possibilité offerte par GLPI pour détecter et bloquer les tentatives de BruteForce sur le formulaire d'identification.

A dire vrai, je n'ai pas vu un mécanisme de suivi des connexions dans GLPI, qu'elles soient valides ou invalides.
Je parcours les logs, mais je ne vois point de trace d'incident de connexion.
Pourtant, dans le fichier "src/Auth.php" de la classe d'iidentification, je trouve vers la ligne 1050 le bloc d'instructions suivantes :

       // Log Event (if possible)
        if (!$DB->isSlave()) {
           // GET THE IP OF THE CLIENT
            $ip = getenv("HTTP_X_FORWARDED_FOR") ?
            Sanitizer::encodeHtmlSpecialChars(getenv("HTTP_X_FORWARDED_FOR")) :
            getenv("REMOTE_ADDR");

            if ($this->auth_succeded) {
                if (GLPI_DEMO_MODE) {
                    // not translation in GLPI_DEMO_MODE
                    Event::log(0, "system", 3, "login", $login_name . " log in from " . $ip);
                } else {
                   //TRANS: %1$s is the login of the user and %2$s its IP address
                    Event::log(0, "system", 3, "login", sprintf(
                        __('%1$s log in from IP %2$s'),
                        $login_name,
                        $ip
                    ));
                }
            } else {
                if (GLPI_DEMO_MODE) {
                    Event::log(
                        0,
                        "system",
                        3,
                        "login",
                        "Connection failed for " . $login_name . " ($ip)"
                    );
                } else {
                   //TRANS: %1$s is the login of the user and %2$s its IP address
                    Event::log(0, "system", 3, "login", sprintf(
                        __('Failed login for %1$s from IP %2$s'),
                        $login_name,
                        $ip
                    ));
                }
            }
        }

J'en déduis que dans le cas où :
"if ($this->auth_succeded) {"
renvoie FAUX, ET QUE "GLPI_DEMO_MODE" n'est pas défini, alors la méthode suivante est invoquée :
                    Event::log(0, "system", 3, "login", sprintf(
                        __('Failed login for %1$s from IP %2$s'),
                        $login_name,
                        $ip
                    ));

En d'autres termes, je devrais obtenir une trace dans un fichier de LOG.
La condition, semble-il, c'est que la valeur de log_level soit supérieur ou égal à la valeur du 3eme argument, soit '3'.

Ma question sera simple, où définit-on la valeur du niveau de LOG ?


Marc-Henri PAMISEUX - Maine Services Informatique
Intégrateur de solutions Libre - Être Libre, c'est choisir.

Offline

Board footer

Powered by FluxBB