Bonjour,
Je suis après fail2ban et je suis en train de le configurer. Seulement, dans mes tests, j’ai des regex qui ne match pas…
Jail.conf (je ne colle que la partie qui m’intéresse):
[pam-generic]
101
102 enabled = true
103 # pam-generic filter can be customized to monitor specific subset of 'tty's
104 filter = pam-generic
105 # port actually must be irrelevant but lets leave it all for some possible uses
106 port = all
107 banaction = iptables-allports
108 port = anyport
109 logpath = /var/log/auth.log
110 maxretry = 3
le pam-generic.conf :
[code]
Fail2Ban configuration file for generic PAM authentication errors
Author: Yaroslav Halchenko
$Revision: $
[Definition]
if you want to catch only login erros from specific daemons, use smth like
#_ttys_re=(?:ssh|pure-ftpd|ftp)
To catch all failed logins
_ttys_re=\S*
Shortcuts for easier comprehension of the failregex
__pid_re=(?:[\d+])
__pam_re=(?pam_unix(?:(\S+))?)?:?
__pam_combs_re=(?:%(__pid_re)s?:\s+%(__pam_re)s|%(__pam_re)s%(__pid_re)s?
Option: failregex
Notes.: regex to match the password failures messages in the logfile.
Values: TEXT
failregex = \s\S+ \S+%(__pam_combs_re)s\s+authentication failure; logname=\S* uid=\S* euid=\S* tty=%(_ttys_re)s ruser=\S* rhost=(?:\s+user=.)?\s$
Option: ignoreregex
Notes.: regex to ignore. If this regex matches, the line is ignored.
Values: TEXT
ignoreregex = [/code]
la ptite vérification qui va bien :
# fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/pam-generic.conf
/usr/share/fail2ban/server/filter.py:442: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
Running tests
=============
Use regex file : /etc/fail2ban/filter.d/pam-generic.conf
Use log file : /var/log/auth.log
Results
=======
Failregex
|- Regular expressions:
| [1] \s\S+ \S+(?:(?:\[\d+\])?:\s+\(?pam_unix(?:\(\S+\))?\)?:?|\(?pam_unix(?:\(\S+\))?\)?:?(?:\[\d+\])?:)\s+authentication failure; logname=\S* uid=\S* euid=\S* tty=\S* ruser=\S* rhost=<HOST>(?:\s+user=.*)?\s*$
|
`- Number of matches:
[1] 0 match(es)
Ignoreregex
|- Regular expressions:
|
`- Number of matches:
Summary
=======
Sorry, no match
Look at the above section 'Running tests' which could contain important
information.
Et pour finir, le log de test sur lequel ça devrait matcher :
Jul 11 17:52:37 tonton worker: pam_unix(common-auth:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= user=root
Ce que j’aimerais, c’est en regex qui prenne en compte les parties en rouge, les parties que je colorie en verte sont celles qui peuvent varier.
D’avance merci !
Si entre parenthèses il y a un développeur qui passe par ici, ce serait pas mal de développer un programme en Français/Anglais qui fasse un regex pour fail2ban via une petite interface toute con, que l’on puisse créer nos propres filtres, en utilisant le principe de surlignage en plusieurs couleurs pour les parties constantes, variables, et facultatives… ça ferait gagner du temps ce genre de machin !