PDA

Voir la version complète : [Fail2ban] Configuration d'une règle de filtrage



cedricscha
13/12/2015, 16h25
Bonjour,

Voilà quelques jours que je me prends un peu la tête avec fail2ban.

Je débute plus que sérieusement avec ce logiciel et je bute sur une règle qui doit être à priori simple mais qui ne fonctionne pas sur mon serveur.

Posons pour commencer une ligne de log :


WARNING[7735][C-0005100c]: Ext. 0048422880552:7 @ Interne: Reception IP01 188.138.33.79 IP02 188.138.33.79 IP03 sip:800@192.168.10.10 IP04 sip:800@192.168.10.10:5078
Je dois donc bannir l'adresse IP qui se trouve après la chaine :
IP01
J'ai créé la règle suivante sur fail2ban :


[Definition]

#
log_prefix= \[\]\s*(?:NOTICE|SECURITY|WARNING)%(__pid_re)s:?(?:\[\S+\d*\])? \S+:\d*

failregex = ^%(log_prefix)s Reception IP01 <HOST> IP02 '[^']*' IP03 '[^']*' IP04 '[^']*'

#
ignoreregex =
Et malheureusement, cela ne fonctionne pas, il ne trouve aucune correspondance dans mon fichier de log.

Ma connaissance du REGEX, étant très basique pour ne pas dire inexistante, j'ai tenté de créer cette règle à partir de règle existante qui fonctionne. Je suppose que je me suis plus que brouter dans ma config, raison pour laquelle je viens vers vous tous.

Je vous remercie d'avance pour les directions ou corrections que vous pourrez me fournir.

olppp
14/12/2015, 12h31
Bonjour,

Tu peux utiliser le logiciel kiki qui permet de tester des expressions régulières.

A+

cedricscha
14/12/2015, 22h32
Bon, pour finir, j'ai modifié mon message d'erreur comme suit :


WARNING[24889][C-000570f0] Ext. 000441729810030: IP01 185.40.4.191

Et j'ai utilisé comme règle :


(WARNING|NOTICE|ERROR)\[\d*\]\[(\d*\w*)-(\d*\w*)\] (Ext.|FOO.) (\d*:) IP01 <HOST>$

Cedla fonctionne pour le moment, on verra sur le long terme.....

Merci pour ta proposition olpp, j'utilisais http://regexr.com/ qui doit faire un peu la même chose je suppose.