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 2018-05-30 15:49:57

curumo29
Guest
Registered: 2018-05-30
Posts: 4

GLPI et Fail2Ban

Bonjour à toutes et à tous,

Après avoir installé GLPI et son plugin FusionInventory, je cherche maintenant à mettre en place différentes sécurités sur mon serveur.

Pour cela, j'ai installé Fail2ban afin de bannir différents attaquants sur mon serveur : la prison SSH fonctionne parfaitement mais la prison que j'ai créé pour GLPI ne fonctionne absolument pas, je m'explique :

Dans un premier temps, je mets en place la prison pour GLPI :

root@debian:~# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
root@debian:~# nano /etc/fail2ban/jail.local

Et je rajoute les lignes suivantes à la fin :

[glpi]
enabled = true
filter = glpi
port = http,https
logpath = /var/www/glpi/files/_log/event.log
maxretry = 3

Ensuite, je crée le filtre qui m'intéresse (afin de repérer les lignes d'échec de connexion au GLPI) :

root@debian:~# nano /etc/fail2ban/filter.d/glpi.conf
[INCLUDES]
before = apache-common.conf
[Definition]
failregex = Connexion échouée de \w+ depuis l\’IP <HOST>
ignoreregex =

Je redémarre le service :

root@debian:~# fail2ban-client reload

Puis je tente de voir ce qui est pris en compte :

root@debian:~# fail2ban-regex /var/www/glpi/files/_log/event.log /etc/fail2ban/filter.d/glpi.conf /etc/fail2ban/filter.d/glpi.conf

Running tests
=============

Use ignoreregex file : /etc/fail2ban/filter.d/glpi.conf
Use   failregex file : /etc/fail2ban/filter.d/glpi.conf
Use         log file : /var/www/glpi/files/_log/event.log


Results
=======

Failregex: 0 total

Ignoreregex:  total

Date template hits:
|- [# of hits] date format
|  [26] Year-Month-Day Hour:Minute:Second
`-

Lines: 52 lines, 0 ignored, 0 matched, 52 missed
Missed line(s): too many to print.  Use --print-all-missed to print all 52 lines

On peut voir qu'aucune ligne n'a "matché" avec mon expression. On va donc essayé avec le ignoreregex.
Pour cela, je recopie le regex de "failregex" dans "ignoreregex" :

root@debian:~# nano /etc/fail2ban/filter.d/glpi.conf
[INCLUDES]
before = apache-common.conf
[Definition]
failregex = 
ignoreregex = Connexion échouée de \w+ depuis l\’IP <HOST>

Puis je redémarre le service :

root@debian:~# fail2ban-client reload

Et je réessaye le même test qu'auparavant :

root@debian:~# fail2ban-regex /var/www/glpi/files/_log/event.log /etc/fail2ban/filter.d/glpi.conf /etc/fail2ban/filter.d/glpi.conf

Running tests
=============

Use ignoreregex file : /etc/fail2ban/filter.d/glpi.conf
Use   failregex file : /etc/fail2ban/filter.d/glpi.conf
Use         log file : /var/www/glpi/files/_log/event.log


Results
=======

Failregex: 0 total

Ignoreregex: 20 total
|-  #) [# of hits] regular expression
|   1) [20] Connexion échouée de \w+ depuis l\'IP <HOST>
`-

Date template hits:
|- [# of hits] date format
|  [26] Year-Month-Day Hour:Minute:Second
`-

Lines: 52 lines, 20 ignored, 0 matched, 32 missed
Ignored line(s): too many to print.  Use --print-all-ignored to print all 20 lines
Missed line(s): too many to print.  Use --print-all-missed to print all 32 lines

On peut voir que dans le cas du ignoreregex, il prend bien en compte mes 20 lignes de connexions échouées. Dans le cas du failregex, il en avait pris 0 en compte.

J'espère que l'un d'entre vous à une solution pour palier à cela et vous souhaite une bonne journée.

Cordialement,
curumo29

Last edited by curumo29 (2018-06-04 13:55:06)


Debian 8.10 / PHP 5.6.33 / GLPI 9.2.3 / Fusion Inventory 9.2+2.0

Offline

#2 2018-06-04 14:56:43

curumo29
Guest
Registered: 2018-05-30
Posts: 4

Re: GLPI et Fail2Ban

Le test a été fait sous Debian 8.10, j'ai donc cherché à refaire la même chose sous Debian 9 et cela a fonctionné...
Si quelqu'un sait pourquoi ça ne fonctionne pas sous Debian 8, ça serait cool.


Debian 8.10 / PHP 5.6.33 / GLPI 9.2.3 / Fusion Inventory 9.2+2.0

Offline

#3 2018-10-04 11:35:56

94AHBMGW
Member
Registered: 2018-10-04
Posts: 1

Re: GLPI et Fail2Ban

Bonjour curumo29,

merci à toi pour ton topic, je m'en suis inspiré pour paramétrer mon fail2ban pour GLPI et ça marche.

L'erreur que tu as commise est la suivante. Dans ton fichier /etc/fail2ban/filter.d/glpi.conf à la ligne :

failregex = Connexion échouée de \w+ depuis l\’IP <HOST>

C'est ton apostrophe qui n'est pas bonne. Tu as mis ’ ou lieu de '.

Pour le voir je te conseille la prochaine fois de lancer la commande debug comme ceci :

root@debian:~# fail2ban-regex -D /var/www/glpi/files/_log/event.log /etc/fail2ban/filter.d/glpi.conf /etc/fail2ban/filter.d/glpi.conf --print-all-missed

Pour chaque lignes qui ne matchent pas, il te propose un lien URL qui t'explique à partir de quel endroit dans ta ligne cela ne correspond plus au regex.

Bonne journée

Offline

Board footer

Powered by FluxBB