You are not logged in.
Pages: 1
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
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
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
Bonjour à tous,
Je viens de configurer le fail2ban de la même manière que vous mais le problème c'est qu'il ban les ip privées uniquement... Donc lorsque cela vient de l'extérieur il me ban ma passerelle... Une solution ??
Offline
Pages: 1